Modellek feletti lekérdezések példa alapján

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

Napjainkban egy komplex szoftver fejlesztése sokrétű és időigényes folyamat. Már közepes méretű projektek esetén is a fejlesztési folyamatot hosszas tervezés előzi meg, ahol modelleket vázolnak fel, hogy egyszerű és átlátható képet kapjanak a leendő rendszerről. A modellek a fejlesztés további fázisaiban (pl. analízis, hibakeresés) is nagy segítséget nyújthatnak.

Az OMG által megalkotott Model-driven Architecture specifikáció ezen modellek szerepét teszi a fejlesztési folyamat alapjává, valamint természetesen számos szolgáltatást biztosít a modellek használatához. Ezek közül a legfontosabb a modellek alapján történő kódgenerálás. Napjaink egyik legismertebb MDA fejlesztést támogató eszköze az Eclipse Modeling Framework.

Az OMG a modellalapú architektúra támogatására specifikálta az Object Constraint Language szakterület-specifikus nyelvet, aminek segítségével egyrészről a modellben fogalmazhatunk meg könnyedén további kényszereket, másrészről pedig lehetőségünk nyílik modell felett lekérdezéseket végrehajtani. Modell lekérdezéskor általában valamilyen deklaratív, domain-specifikus nyelven fogalmazunk meg egy utasítást, amivel a példánymodellben szereplő egységek (tipikusan objektumok) részhalmazát kérjük le.

A Méréstechnika és Információs Rendszerek Tanszéken készített EMF-IncQuery keretrendszer lehetőséget nyújt EMF modellek feletti lekérdezések hatékony végrehajtására úgy, hogy a felhasználónak egy saját, deklaratív, domain-specifikus nyelv segítségével kell a lekérdezés definíciókat megfogalmaznia. A lekérdezőnyelv a gráfminták koncepcióján alapul.

A szakdolgozat során az EMF-IncQuery nyelvhez készítettem egy olyan mintákat generáló modult, mely nagyban megkönnyítheti, illetve meggyorsíthatja kezdő felhasználók számára a lekérdezések összeállítását. A modul a felhasználó által egy példamodellen kijelölt objektumok alapján fog mintákat legyártani. A szakdolgozatban részletesen ismertetem a modul megtervezése során a tervezői, implementációja során pedig a fejlesztői döntéseket. Miután ismertettem magának az EMF-IncQuery nyelvnek az alapszintaxisát, esettanulmányon keresztül vizsgálom az egyes eseteket kitérve a jelenlegi változat korlátaira, illetve a továbbfejlesztési lehetőségekre.

Letölthető fájlok

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