Regisztráció és bejelentkezés

Többrétegű metamodellezés GraalVM alapon

Napjainkban a modell-alapú fejlesztés és az ennek egyre gyakrabban alapjául szolgáló metamodellezés egyre nagyobb szerepet kap mind az informatikai kutatások, mind az ipari fejlesztések területén. Az elmúlt évtizedekben a jelenleg elterjedt kétszintű metamodellezési technikákat sikerrel alkalmazták változatos ipari környezetben, azonban a modern ipari környezet kihívásaira már nem minden esetben nyújt kellően rugalmas alapot. A többszintű metamodellezés segítségével a kívánt rugalmasság elérhető lenne, de a témakör komplexitása és újszerűsége miatt a mai napig nem született egységes, az ipar által elfogadott szabványos megoldás a metamodellezés ezen ágazatára.

A többrétegű metamodellezés a többszintű metamodellezés egyik ága, ahol nagy szerepet kap az önleíró, több lépésben finomítható, végig validált specifikáció. A DMLA (Dynamic Multi-Layer Algebra) egy többrétegű metamodellezési keretrendszer, mely arra törekszik, hogy egy széles körben használható, elfogadott megoldást nyújtson. A DMLA jelenleg alapkutatás fázisban tart, az ipari felhasználásig még több nehézséget is meg kell oldani.

A DMLA saját programozási nyelve, a DMLAScript lehetővé teszi a felhasználók számára, hogy egyszerű és átlátható módon készítsék el a szakterületi modelleket, illetve saját validációs logikával egészítsék ki azokat. Eredetileg a DMLAScript egy fordítás-alapú megközelítés segítségével futtatta az elkészült domain modelleket, de ennek a megoldásnak mind a teljesítmény, mind az interaktivitás terén megmutatkoztak a korlátai.

A dolgozat egy teljesen új, interpretált végrehajtáson alapuló megoldást mutat be, mely egy új generációs Java virtuális gépet és fordítót, a GraalVM technológiát használja fel. A GraalVM mindezek mellett biztosít egy nyelvfüggetlen API-t is, a Truffle-t, mely tetszőleges nyelv implementálását teszi lehetővé az új virtuális gép fölé. Ezen két technológia által nyújtott eszközkészlet segítségével elkészítettük a DMLAScript GraalVM-alapú implementációját, amely lehetővé tette a modellek futás idejű manipulációját és validációját, a korábbi teljesítmény megtartása vagy bizonyos esetekben javítása mellett.

szerző

  • Palatinszky Dániel
    Mérnök informatikus szak, mesterképzés
    mesterképzés (MA/MSc)

konzulens

  • Dr. Mezei Gergely
    egyetemi docens, Automatizálási és Alkalmazott Informatikai Tanszék

helyezés

II. helyezett