Modell-lekérdezések statikus analízise

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

A modell-vezérelt szoftverfejlesztés a tradicionális programozásnak egy olyan, manapság már az iparban is széles körben alkalmazott alternatívája, mely a szoftver rendszerek modellezésére összpontosít. A technika alapötlete, hogy a fejlesztők modellezőeszközök segítségével adják meg a rendszer specifikációját, majd az így létrehozott modelleket különböző formákba alakítják automatizált transzformáció segítségével. A modelltranszformációk egy speciális esete a modell-lekérdezés, amivel a modell bizonyos feltételt kielégítő elemeit szűrhetjük ki, kereshetjük meg.

A szoftverfejlesztés ezen módszertanához nyújtanak segítséget az Eclipse Modeling Project keretében fejlesztett eszközök, amilyen például az Eclipse Modeling Framework (EMF), vagy az erre épülő EMF-IncQuery. A BME Méréstechnika és Információs Rendszerek Tanszékének Hibatűrő Rendszerek Kutatócsoportja által kidolgozott EMF-IncQuery gráfminta alapú modell-lekérdezések deklaratív specifikálását és hatékony végrehajtását teszi lehetővé EMF modellek felett.

Ahogy a szoftverfejlesztés más munkafolyamatai, a modellek, modelltranszformációk és modell-lekérdezések leírása is sok lehetőséget ad a fejlesztőknek hibák elkövetésére. Erre nyújthatnak megoldást a statikus analízis módszerei, melyek segítségével fejlesztési időben rendelkezésre álló információkat nyerhetünk ki rendszerünkből. Ezen vizsgálatok eredménye alapján pedig felhívhatjuk a fejlesztők figyelmét az esetleges hibákra, hibalehetőségekre. A problémák feltárása mellett, a statikus analízis során nyert információk felhasználhatóak a végrehajtási teljesítmény javítására is.

A dolgozatban először bemutatom az említett technológiákat, majd statikus analízisen alapuló ellenőrzéseket tervezek és valósítok meg az EMF-IncQuery lekérdezőnyelvéhez, illetve statikus analízis segítségével megpróbálom növelni a lekérdezések végrehajtásának hatékonyságát.

Letölthető fájlok

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