Futtatható UML modellek megvalósítása elosztott környezetben

OData támogatás
Konzulens:
Dr. Horváth Ákos
Méréstechnika és Információs Rendszerek Tanszék

Az UML szabvány a modellvezérelt fejlesztési paradigma egyik legszélesebb körben alkalmazott nyelve, amely alkalmas összetett rendszerek tervezésére és dokumentálására. Azonban az elmúlt évtizedekben előtérbe került a nyelv egyik legnagyobb hiányossága, a modell szinten történő futtathatóság. Ennek egyik legnagyobb gátja, hogy az UML szabvány több ponton is egymásnak ellentmondó szemantikát rendel egyes nyelvi konstrukcióihoz.

Ezen hiányosságok kiküszöbölésére jött létre az xtUML kezdeményezés, melynek célja, az UML nyelvre építve egy teljes egészében futtatható modellezési nyelv kialakítása. Az xtUML alapját a struktúrát leíró komponens, osztály és állapotgép alapú diagramok adják, amelyek esetén a végrehajtandó műveleteket különböző dedikált akciónyelveken lehet definiálni (például: ALF). Egy másik lehetséges megközelítést képvisel az UML-RT, ahol a többszintűség, rétegezettség került a középpontba. A két út előnyeit az xUML-RT nyelv próbálja egyesíteni. Többek között az UML-RT-ből a többszintű állapotgépeket, az xtUML-ből az üzeneteken keresztüli kommunikációt használja újra. A diplomamunkám keretében én az xUML-RT nyelvet alkalmaztam.

A diplomám feladata, hogy lehetőséget biztosítson az xUML-RT modellekből elosztottan működő, hatékony Java alkalmazás generálására, ahol az elosztott működést az Akka aktor modellre épülő keretrendszer biztosítja.

A feladat megvalósításához egy fejlesztés alatt álló projektet használtam fel, ami az xUML-RT modellekből C++ kódot képes generálni. Először a projekthez tartozó komplex modell-architektúrát kellett kibővíteni, és a C++ specifikus elemeket egy Java nyelvet leíró modellel helyettesíteni. Ezután a modell transzformációt kellett adaptálni a módosításokhoz igazítani, illetve a Java nyelvet leíró modellrészhez egy új transzformációt kellett készíteni. Végül a kódgenerálást kellett átalakítani a Java programnyelvre való generáláshoz. A diplomában megvizsgáltam az elkészült modell-transzformáció skálázódását, illetve a generált kód hatékonyságát is.

Letölthető fájlok

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