Kódgenerálás UML környezetben Eclipse platformon

OData támogatás
Konzulens:
Vörös András
Méréstechnika és Információs Rendszerek Tanszék

Napjainkban egyre elterjedtebb a modell alapú szoftverfejlesztés, amely jelentősen hozzájárul az elkészített szoftverek minőségének növekedéséhez. Különösen fontos ez azért is, mert a szoftverek bonyolultsága jelentősen nőtt az elmúlt időben, amely rengeteg hibázási lehetőséget rejt magában.

A modellvezérelt szoftverfejlesztésben használt egyik legelterjedtebb modellezési nyelv az UML (Unified Modeling Language). Az UML modellben leírhatjuk a megtervezendő szoftver statikus, strukturális felépítését, azonban lehetőséget nyújt a dinamikus viselkedések leírására is. Én a munkám során a statikus osztálydiagramokkal foglalkoztam.

Az UML szerkesztők széles köre elérhető manapság, amelyek közé tartozik az UML Tools is. Ez a program egy Eclipse plugin, amely UML diagramok szerkesztését teszi lehetővé, azonban nem támogatja a modellek alapján történő kódgenerálást. Az UML Tools az EMF (Eclipse Modeling Framework) szolgáltatásait használja, amely egy de facto metamodellezési szabvány, ezáltal biztosítva azt, hogy más programok is könnyen hozzáférjenek az elkészített modellekhez.

Munkám során egy Eclipse kódgeneráló plugint fejlesztettem, amely UML osztálydiagramokból képes Java kódot generálni. Továbbá azzal a funkcionalitással is rendelkezik, hogy a programkódban történt változásokat is és a modellben történt változásokat is figyelembe tudja venni a kódgenerálás során, azaz igény szerinti szinkronizálási lehetőséget biztosít.

A szakdolgozatomban bemutatom a fejlesztés során felhasznált technológiákat. Ezek közül fontos kiemelni az EMF-et (Eclipse Modeling Framework), amely támogatja Eclipse környezetben meta-modellek és modellek hatékony kezelését. Emellett az UML modellek hatékony bejárását és építését az MDT (Model Development Tools) segítségével oldottam meg, a kóddal való szinkronizálást pedig a JDT (Java Development Tools) egyik komponense, az AST (Abstract Syntax Tree) segítségével végeztem el.

Letölthető fájlok

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