Modell-lekérdezések specifikálása Sirius alapú konkrét szintaxisban

Napjainkban a szoftverfejlesztés terén egyre nagyobb szerepet kap a modellvezérelt tervezés. Ennek során a fejlesztőeszközökben az elkészítendő rendszer egy modelljét lehet elkészíteni, ill. automatizáltan feldolgozni. A paradigma gyakorlati alkalmazásának előfeltétele, hogy a különböző szakterületi modellekhez megfelelő modellezési nyelvek és modellező eszközök álljanak rendelkezésre.

A modellvezérelt fejlesztést támogató eszközök egyik fontos megvalósítási kérdése a modellek tartalmának automatizált feldolgozása, a modellek feletti lekérdezések kiértékelése. A modellvezérelt eszközökön túl bármely objektumorientált adatmodellre építő szoftvereszköz fejlesztését nagymértékben támogathatják a deklaratív modell-lekérdezések. Nagy előnyük, hogy az eszköz fejlesztőjének nem kell a modell feldolgozási lépéseit megterveznie, elég a kívánt eredményt deklaratívan specifikálnia. A lekérdezések megfogalmazása azonban így is időigényes, nagy szakértelmet igénylő feladat; bizonyos esetekben jelentős segítség volna, ha a várt eredményre hasonlító példákat a modellépítő által jól ismert konkrét szintaxissal lehetne megadni, és a lekérdezésre jellemző elemekkel kiegészíteni.

Az egyik legelterjedtebb objektumorientált modellező platform az EMF (Eclipse Modeling Framework), amelyet az Eclipse keretrendszerre épülő eszközök többsége felhasznál modelljeinek reprezentálására. Az EMF alapú Sirius technológia fejlett grafikus modellezőeszközök fejlesztését teszi lehetővé. EMF alapú modell-lekérdezések definiálására és kiértékelésére ad lehetőséget a Méréstechnika és Információs Rendszerek tanszéken fejlesztett és már iparilag is alkalmazott EMF-IncQuery keretrendszer. A hallgató feladata az EMF-IncQuery keretrendszer kiegészítése egy olyan modullal, amely létező Sirius konrkét szintaxisokból kiindulva modell-lekérdezések felhasználóbarát specifikálását teszi lehetővé.

 

Jelleg: 
Gyakorlati
Advisor: 
Gábor Bergmann
TDK lehetőség: 
Nem
Megismerhető technológiák: 
EMF, Sirius, EMF-IncQuery
Előismeretek: 
Java
Állapot: 
Korábbi