Requirements and formal definition of a low-code language based on object-centric processes
Výzva | Štipendiá pre excelentných výskumníkov a výskumníčky R2-R4 |
---|---|
Hlavný riešiteľ | Gabriel Juhás |
Prijímateľ | Paneurópska vysoká škola n.o. |
Celkový rozpočet | 304 329,60 € |
Príspevok poskytovateľa | 304 329,60 € |
Zdroj financovania | Plán obnovy a odolnosti |
Začiatok realizácie | október 2024 |
Koniec realizácie | august 2026 |
Kategória výskumníka | R4 |
Vedná oblasť | Fyzikálne, technické vedy a matematika |
Anotácia
Analogicky k prirodzenému jazyku, ktorý slúži ľuďom na komunikáciu navzájom, programovacie jazyky slúžia ľuďom, aby inštruovali počítače. S cieľom priblížiť programovacie jazyky prirodzenému jazyku a uľahčiť tak programovanie, história programovacích jazykov je formovaná pokusmi preklenúť rozdiel medzi strojovým kódom ako jazykom nízkej úrovne, ktorému rozumie počítač a prirodzeným jazykom ako jazykom vysokej úrovne abstrakcie. Základným princípom programovania v jazykoch vyššej úrovne je, že abstrahujú od niektorých detailov implementácie, ktoré sú prítomné v jazyku nižšej úrovne. Spoločnosť Gartner predpovedá, že v priebehu piatich rokov približne tri štvrtiny nových aplikácií budú realizované s použitím tzv. low-code platforiem, ktoré budú abstrahovať nejaké črty súčasných programovacích jazykov. Hlavným cieľom navrhovaného výskumného projektu je preto definovať požiadavky na novú generáciu low-code jazyka a následne formálne definovať syntax a sémantiku takéhoto low-code jazyka. Realizácia výskumu v rámci projektu bude prebiehať v troch častiach. Výsledkom prvej časti výskumného projektu bude návrh požiadaviek na low-code jazyk novej generácie založený na koncepte objektovo-centrických procesov obohatených o koncept abstraktnej prezentačnej vrstvy, vrátane požiadaviek na dopytovanie množiny objektov. V druhej časti výskumný projekt vyústi do definovania formálnej syntaxe a sémantiky low-code jazyka, ktorý spĺňa identifikované požiadavky. Súčasťou tejto časti bude definícia samotného objektovocentrického procesu, definícia medzi-procesovej komunikácie, rozšírenie konceptu dedenia a konceptu rozhraní ako základných paradigiem objektovoorientovaného programovania na životný cyklus objektov definovaný procesným modelom a v neposlednom rade definícia dopytovacieho jazyka nad objektovo-centrickými procesmi. Ako základ pre formálnu definíciu takéhoto objektovo-centrického procesne riadeného low-code jazyka použijeme rôzne typy Petriho sietí, ktoré sú široko akceptované ako formálny rámec pre jazyky procesného modelovania. V rámci tretej časti projektu sa bude klásť dôraz na rozšíriteľnosť formálnej definície syntaxe a sémantiky takéhoto low-code jazyka, aby bola zabezpečená možnosť následného rozširovania o ďalšie vhodné formy abstrakcie. Súčasťou tretej fázy projektu bude taktiež definícia prekladu podmnožiny štandardu BPMN a podmnožiny jazyka SQL do definovaného low-code jazyka.