Modell-lekérdezések statikus analízise

A modell alapú szoftverfejlesztés egy olyan, napjainkban gyakran alkalmazott technika, mely
szakterület-specifikus modellek létrehozásával és feldolgozásával segíti a fejlesztők munkáját.
Ezen modellek kezelése sok nehézséget és buktatót rejtő kihívás, melyet a modellező
platformok több fajta eszközzel is segíthetik. Ilyen eszköz lehet például egy deklaratív,
formális lekérdezőnyelv, melynek segítségével lekérdezéseket definiálhatunk modellek felett.

A lekérdezések megfogalmazása önmagában is kihívásokat jelentő mérnöki feladat, mely
során fennáll az emberi hibák lehetősége. Emellett a deklaratív lekérdezés-specifikáció
végrehajtása teljesítményszempontból gyakran kritikus lehet, amelyet a kialakított kiértékelési
terv döntően befolyásol. A lekérdezések és a metamodellek statikus analízise azonban számos
lehetőséget tartogat, amelyek hibadetektálás formájában támogathatják a lekérdezések
fejlesztési folyamatát, valamint hasznára válhatnak a nagyobb hatékonyságú végrehajtási
stratégiákra törekvő kiértékelőmotornak is.

Az Eclipse Modeling Framework egy, az iparban is széles körben használt, modell alapú
fejlesztést támogató platform. Az erre épülő és többek közt a Hibatűrő Rendszerek Kutatócsoport által
is fejlesztett Viatra Query keretrendszer pedig modell-lekérdezések deklaratív módon
történő definiálását és hatékony végrehajtását teszi lehetővé.

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

  • Mutassa be a modell-lekérdezések fogalmát a Viatra Query keretrendszeren keresztül.
  • Elemezze az Viatra Query lekérdezőnyelvét statikus elemezhetőség szempontjából, mutasson példát fejlesztési ill. futási időben hasznosítható statikus vizsgálatokra.
  • Egészítse ki az Viatra Query keretrendszert olyan komponensekkel, amelyek elvégzik ill. hasznosítják ezen statikus vizsgálatokat.
  • Demonstrálja az elkészült megoldás hasznosulását esettanulmányon keresztül.
Jelleg: 
Elméleti és gyakorlati
Advisor: 
Gábor Bergmann
Advisor: 
Zoltán Ujhelyi
TDK lehetőség: 
TDK lehetőség
Megismerhető technológiák: 
Eclipse Modeling Framework, EMF-IncQuery
Előismeretek: 
Java fejlesztés, relációalgebra
Állapot: 
Folyamatban