Modell-lekérdezések hatékony kiértékelése

Napjainkban a szoftverfejlesztés terén egyre nagyobb szerepet kap a modellvezérelt
tervezés, mely során a modelleken különféle tesztek és ellenőrzések sokaságát hajthatjuk
végre automatikusan, még a kész szoftver előállítása előtt. Ezzel a célberendezésbe vagy
végfelhasználóhoz kerülő szoftver minőségét növelhetjük, a költségek csökkentése mellett.

A modellvezérelt fejlesztési folyamatok során a modellek automatizált feldolgozása
támogatható a modellek felett deklaratívan megfogalmazható lekérdezésekkel. Kulcskérdés a
lekérdezések kiértékelésének hatékonysága, ezért a különböző alkalmazási helyzetekhez
többféle megközelítésű végrehajtó motor létezik. A hagyományos megoldások keresés alapján
szolgáltatnak eredményt minden lekérdezéskor, míg az ún. inkrementális algoritmusok előre
kiszámolt válaszokat szolgáltatnak, amelyeket azonban a modell minden változásakor karban
kell tartaniuk.

Az egyik vezető modellvezérelt platform az Eclipse alapú EMF, amelyre természetesen több
lekérdező technológia épül. Ezek egyike az eredetileg a Méréstechnika és Információs Rendszerek
tanszéken fejlesztett és már az ipar által is használt Viatra Query keretrendszer.

A Viatra Query keretrendszerben már létezik egy Rete háló alapú inkrementális
kiértékelő. Ennek sajátossága, hogy az illeszkedéshalmazokon kívül további információkat is
eltárol a modell változása esetén bekövetkező frissítés gyorsítására, ez azonban komoly
memóriaigénnyel járhat. Ezen felül elérhető egy memóriatakérokass, inkrementalitást nem biztosító keresés alapú kiértékelő, amely azonban rendkívül érzékeny a keresési tervekre, mivel nem végez előretekintést. Jelenleg a Viatra Query nem biztosít a Rete hálóknál memóriahatékonyabb inkrementális kiértékelési stratégiát.

A hallgató feladatának a következőkre kell kiterjednie:

  • Dolgozza fel az előretekintő keresésre és a TREAT alapú inkrementális mintaillesztésre vonatkozó irodalmat.
  • Adaptálja az eljárásokat a Viatra Query keretrendszer lekérdezőnyelvének támogatására.
  • Valósítsa meg a javasolt megoldásokat az Viatra Query keretrendszerben.
  • Vizsgálja meg kísérleti úton, összehasonlító mérésekkel a megvalósult megoldások hatékonyságát.
Jelleg: 
Elméleti és gyakorlati
Konzulens: 
Bergmann Gábor
TDK lehetőség: 
TDK lehetőség
Megismerhető technológiák: 
Eclipse Modeling Framework, EMF-IncQuery
Előismeretek: 
Java fejlesztés
Állapot: 
Folyamatban