Tranzitív elérhetőségvizsgálat hatékony eseményvezérelt transzformációkhoz

OData támogatás
Konzulens:
Dr. Bergmann Gábor
Méréstechnika és Információs Rendszerek Tanszék

Napjainkban a modellalapú szoftverfejlesztési módszerek egyre nagyobb szerepet kapnak, mert a hardver és szoftver rendszerek komplexitása sokszor túlmutat azon a szinten, amely még a hagyományos fejlesztési paradigmákkal kezelhető. Ez a megközelítés szakterület specifikus fejlesztési környezetek létrehozásával lehetővé teszi, hogy a szakterület ismerői - de nem feltétlenül csak szoftvermérnökök - is részt tudjanak venni a gyors prototipizálásban, felgyorsítva ezzel a fejlesztés ütemét. A modellalapú szoftverfejlesztéshez szorosan kapcsolódik a modelltranszformáció is, amellyel modellek közötti automatikus leképezést tudunk megvalósítani, például kódgenerálást megvalósítva ezzel. Az elmúlt években történt kutatások egyik fontos irányvonala volt ez a terület az informatikán belül, de a szakterületi modellező nyelvek kifejlesztése még mindig sokszor igényli több terület mélyebb ismeretét, úgy mint metamodellezés, transzformációk, nyelvtervezés.

A diplomaterv készítése során a modellezési környezetnek az Eclipse Modeling Framework-öt választottam, amely ipari standardnak tekinthető a (meta)modellezés területén. Erre épít az EMF-IncQuery keretrendszer, amely lehetővé teszi modellek fölötti deklaratív lekérdezések hatékony megvalósítását. A hatékonyságot az inkrementális gráfminta-illesztés segítségével éri el, amely azt jelenti, hogy a lekérdezések eredményeit egy folyamatosan (minden modellmódosítás után) karbantartott gyorsítótárból tudja megválaszolni.

A diplomaterv egyik fő eredménye az EMF-IncQuery-re építő eseményvezérelt szabályvégrehajtó motor elkészítése. Ezzel a kiegészítéssel lehetőség nyílik arra, hogy lekérdezések eredményhalmazának változásakor előre definiált akciókat lehessen automatikusan végrehajtani (tetszőleges Java nyelven leírt lépéssorozat). Sok gyakorlati életben előforduló problémában szükség van a vizsgált modellen történő tranzitív lezárt számítására, ezért a munka során nagy hangsúlyt kapott a mintanyelv tranzitív lezárttal, mint nyelvi elemmel történő kiterjesztése. Ehhez többféle tranzitív lezáró algoritmust implementáltam és hasonlítottam össze a hatékonyságukat szintetikus teljesítményteszteken keresztül. A diplomaterv másik fontos koncepcionális eredménye egy, a gráf erősen összefüggő komponenseinek inkrementális karbantartásán alapuló régebbi algoritmus átdolgozott változata, amely a leghatékonyabbnak bizonyult az általam vizsgált algoritmusok közül.

Az elkészült nyelvi kiegészítés és eseményvezérelt szabályvégrehajtó motor hatékonyságát többféle esettanulmányon keresztül vizsgáltam meg; EMF-IncQuery validációs keretrendszere, Peer-to-Peer VoIP rendszerek sztochasztikus szimulációja és egy egyszerű Design Space Exploration komponens kialakítása cloud-infrastruktúra modellek futási idejű rekonfigurációjához.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.