VIZUÁLIS NYELVEK TRANSZFORMÁCIÓALAPÚ TÁMOGATÁSA

Hasonló dokumentumok
P-gráf alapú workflow modellezés fuzzy kiterjesztéssel

Metamodellezés. Simon Balázs BME IIT, 2011.

Modellinformációk szabványos cseréje. Papp Ágnes, Debreceni Egyetem EFK

Kétdimenziós mesterséges festési eljárások. Hatások és alkalmazások

A KUTATÁS EREDMÉNYEI ZÁRÓJELENTÉS

Módszer köztes tárolókat nem tartalmazó szakaszos működésű rendszerek ütemezésére

UML (Unified Modelling Language)

Sztöchiometriai egyenletrendszerek minimális számú aktív változót tartalmazó megoldásainak meghatározása a P-gráf módszertan alkalmazásával

Szoftver-technológia II. Szoftver újrafelhasználás. (Software reuse) Irodalom

Publikációs lista. Gódor Győző július 14. Cikk szerkesztett könyvben Külföldön megjelent idegen nyelvű folyóiratcikk...

Ellátási lánc optimalizálás P-gráf módszertan alkalmazásával mennyiségi és min ségi paraméterek gyelembevételével

List of Publications (Pánovics János)

Szoftver újrafelhasználás

Mi is volt ez? és hogy is volt ez?

Programfejlesztési Modellek

Java I. A Java programozási nyelv

Automated Offline Verification of Graph Rewriting-Based Model Transformations

Irányítási struktúrák összehasonlító vizsgálata. Tóth László Richárd. Pannon Egyetem Vegyészmérnöki és Anyagtudományok Doktori Iskola

Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben. Ráth István

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus

Mérnök informatikus mesterszak mintatanterve (GE-MI) nappali tagozat/ MSc in, full time Érvényes: 2011/2012. tanév 1. félévétől, felmenő rendszerben

EGYÜTTMŰKÖDŐ ÉS VERSENGŐ ERŐFORRÁSOK SZERVEZÉSÉT TÁMOGATÓ ÁGENS RENDSZER KIDOLGOZÁSA

Szakterület-specifikus modellezés

Közösség, projektek, IDE

Ütemezési modellek. Az ütemezési problémák osztályozása

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Bánsághi Anna 2014 Bánsághi Anna 1 of 31

MULTIMÉDIA ALAPÚ OKTATÁSI TECHNOLÓGIÁK GYAKORLATI ALKALMAZÁSÁNAK VIZSGÁLATA A KATONAI SZAKNYELVOKTATÁSBAN

Modell alapú tesztelés mobil környezetben

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

Ráth István. DECOS Nemzeti Nap október 15. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Intervenciós röntgen berendezés teljesítményszabályozójának automatizált tesztelése

Automatikus tesztgenerálás modell ellenőrző segítségével

Predikátumkalkulus. 1. Bevezet. 2. Predikátumkalkulus, formalizálás. Predikátumkalkulus alapfogalmai, formalizálás, tagadás, logikailag igaz formulák.

MEDDŐHÁNYÓK ÉS ZAGYTÁROZÓK KIHORDÁSI

Informatika szigorlati témakörök gazdasági informatika egyetemi képzés hallgatói részére

Modellező eszközök, kódgenerálás

A J2EE fejlesztési si platform (application. model) 1.4 platform. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel

Utolsó módosítás:

Modelltranszformációk statikus analízise

Adatszerkezetek és algoritmusok

Miért is transzformáljunk modelleket? Varró Dániel

Optimális hálózatok szintézise változtatható arányú és összetételű anyagáramokat feldolgozó műveleti egységekkel

Ráth István. A fejlesztés evolúciója

Online algoritmusok. Algoritmusok és bonyolultságuk. Horváth Bálint március 30. Horváth Bálint Online algoritmusok március 30.

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel

Publikációs jegyzék (Pánovics János)

Predikátumkalkulus. Predikátumkalkulus alapfogalmai, formalizálás, tagadás, logikailag igaz formulák. Vizsgáljuk meg a következ két kijelentést.

Programozás alapjai Bevezetés

Webszolgáltatások kommunikációs overhead-jének becslése

MIKROKONTROLLEREK ALKALMAZÁSA AUTOMATA REPÜLŐ SZERKEZETEKBEN 4 BEVEZETÉS

Java I. A Java programozási nyelv

Drótposta: ; ; Honlapom:

Modell alapú tesztelés: célok és lehetőségek

ICT ÉS BP RENDSZEREK HATÉKONY TELJESÍTMÉNY SZIMULÁCIÓJA DR. MUKA LÁSZLÓ

A fordítóprogramok szerkezete. Kódoptimalizálás. A kódoptimalizálás célja. A szintézis menete valójában. Kódoptimalizálási lépések osztályozása

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

GENERIKUS PROGRAMOZÁS Osztálysablonok, Általános felépítésű függvények, Függvénynevek túlterhelése és. Függvénysablonok

Ismeretanyag Záróvizsgára való felkészüléshez

B/16. számú melléklet Önéletrajz sablon

Publikációs lista. Dr. Molnárka-Miletics Edit Széchenyi István Egyetem Matematika és Számítástudományi Tanszék

LÉTRADIAGRAM FORDÍTÓK ELMÉLETE PLC VEZÉRLÉSEK SZÁMÁRA II.

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

Varró Dániel MTA doktori értekezésének bírálata. Precíz modell transzformációk tervezése és analízise a modellvezérelt fejlesztésben

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

2. Visszalépéses stratégia

A szoftverfejlesztés eszközei

Objektumorientált paradigma és a programfejlesztés

Az UML2 és a modell-vezérelt alkalmazásfejlesztés

Petri-hálók és produkciós hálók közötti kapcsolat

Software Engineering Babeş-Bolyai Tudományegyetem Kolozsvár

Algoritmus vizualizáció a tanítási gyakorlatban. Törley Gábor

A szemantikus világháló oktatása

PUBLIKÁCIÓS ÉS ALKOTÁSI TEVÉKENYSÉG ÉRTÉKELÉSE, IDÉZETTSÉG Oktatói, kutatói munkakörök betöltéséhez, magasabb fokozatba történı kinevezéshez.

A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom

Objektumorientált paradigma és programfejlesztés Bevezető

AUTOMATIKUS MODELLTRANSZFORMÁCIÓK

Smart Strategic Planner

2019, Funkcionális programozás. 2. el adás. MÁRTON Gyöngyvér

Vasúti infrastruktúragazdálkodás kontrolling bázisú döntéselőkészítő rendszerek alkalmazásával

Nagy bonyolultságú rendszerek fejlesztőeszközei

Függvények növekedési korlátainak jellemzése

Programozás III. - NGB_IN001_3

Deníciók és tételek a beugró vizsgára

és alkalmazások, MSc tézis, JATE TTK, Szeged, Témavezető: Dr. Hajnal Péter

ZH feladatok megoldásai

0,424 0,576. f) P (X 2 = 3) g) P (X 3 = 1) h) P (X 4 = 1 vagy 2 X 2 = 2) i) P (X 7 = 3, X 4 = 1, X 2 = 2 X 0 = 2) j) P (X 7 = 3, X 4 = 1, X 2 = 2)

Bisonc++ tutorial. Dévai Gergely. A szabály bal- és jobboldalát : választja el egymástól. A szabályalternatívák sorozatát ; zárja le.

Utolsó módosítás:

1. A k-szerver probléma

S01-8 Komponens alapú szoftverfejlesztés 2

Informatika szigorlati témakörök gazdasági informatika egyetemi képzés hallgatói részére

R3-COP. Resilient Reasoning Robotic Co-operating Systems. Autonóm rendszerek tesztelése egy EU-s projektben

Ingrid Signo Felhasználói kézikönyv. Pénztári használatra

Képfeldolgozás. 1. el adás. A képfeldolgozás m veletei. Mechatronikai mérnök szak BME, 2008

Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs

Magas szintű adatmodellek Egyed/kapcsolat modell I.

Városi légszennyezettség vizsgálata térinformatikai és matematikai statisztikai módszerek alkalmazásával

Átírás:

Budapesti M szaki és Gazdaságtudományi Egyetem M szaki Tudományág, Informatikai Tudományszak VIZUÁLIS NYELVEK TRANSZFORMÁCIÓALAPÚ TÁMOGATÁSA Ph.D. értekezés tézisei Mezei Gergely Tudományos vezet k: Dr. Charaf Hassan, Ph.D. docens Dr. Levendovszky Tihamér, Ph.D. adjunktus BUDAPESTI M SZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM AUTOMATIZÁLÁSI ÉS ALKALMAZOTT INFORMATIKAI TANSZÉK Budapest, 2007

Ph.D. értekezés tézisei Mezei Gergely Budapesti M szaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar Automatizálási és Alkalmazott Informatikai Tanszék 1111 Budapest, Goldmann György tér 3. e-mail: gmezei@aut.bme.hu tel: +36(1)4631007 fax: +36(1)4633478 Tudományos vezet k: Dr. Charaf Hassan, Ph.D. docens Dr. Levendovszky Tihamér, Ph.D. adjunktus

1. El zmények és célkit zések Az informatikai rendszerek komplexitásának növekedésével párhuzamosan a modellalapú szoftverfejlesztés is egyre népszer bbé vált. A modellek magas absztrakciós szinten képesek leírni a felmerül feladatokat és azok megoldásait. Ez a magas absztrakciós szint biztosítja, hogy a problématér lényegi részeire koncentrálva lehessen megalkotni, kidolgozni a kívánt rendszereket, miközben a kevésbé lényeges, másodrangú, alárendelt információk a háttérbe szorulnak. A magas absztrakciós szint, valamint a modellezésben gyakran használt grakus megjelenítés nagymértékben el segíti a komplexitásból fakadó problémák leküzdését. Egy problémához több különböz modell is készíthet attól függ en, hogy a valóság leképzése során milyen absztrakciós szintet választunk, milyen eszközrendszert (modellezési nyelvet, módszertant) használunk. Ebb l kifolyólag a modellek egyértelm sége, közérthet sége alapvet fontosságú. Az egyik leggyakrabban használt általános modellez nyelv, az Unied Modeling Language (UML) [UML] ezekre a problémákra ad megoldást. Az UML formális szintaxissal deniált vizuális nyelv, aminek segítségével a felmerül problémákat könnyen átlátható formában lehet ábrázolni, dokumentálni. Az UML ugyanazon eszköztárat nyújtja a feladat jellegét l függetlenül. Az egységesség növeli a modellek közérthet ségét, újrahasznosíthatóságát, viszont gyakran rugalmatlan, a modellezési terület sajátosságait gyelmen kívül hagyó leírásokat, modelleket eredményez. Napjainkban, többek közt az UML rugalmatlanságából kifolyólag, egyre népszer bbé válnak a szakterület-specikus modellezési nyelvek (Domain-Specic Modeling Language, DSMLs) [DSML]. A szakterületi modellezés f gondolata, hogy egy-egy szakterület jellemz it egybegy jtve olyan nyelveket (nyelvcsaládokat) dolgozzunk ki, amelyek alkalmasak a kapcsolódó szakterületek problémáinak testreszabott leírására. Az így kapott nyelvekkel létrehozott modellek a szakterület keretein belül rugalmasabbak és a szakemberek számára könnyebben érthet ek, mint az általános nyelven megfogalmazottak. A szakterület-specikus nyelvek esetében nehézséget okoz, hogy míg a modellezési környezetek nagy részét egy konkrét nyelvcsalád támogatásához hozták létre, addig ebben az esetben szakterületenként különböz nyelvcsaládok támogatására van szükség. A probléma egyik gyors, felhasználóbarát és népszer megoldása a metamodellezés [Nordstrom, 1999]. A metamodellezés esetében a modellezési nyelvek denícióját egy speciális modell, a metamodell tartalmazza. A metamodell deniálja a modellezési nyelvben felhasználható elemeket, az elemek attribútumait és az elemek közt kialakítható kapcsolatokat. A metamodell tehát a modell modelljének tekinthet. A metamodellb l a modellt a példányosítás reláció segítségével kaphatjuk meg. A példányosítás fogalma nem csak két modellezési szint között értelmezhet, hanem kiterjeszthet további szintekre, így létrehozhatunk pl. meta-metamodelleket, amik a metamodellek jellemz it deniálják. A magasabb modellezési szintek természetszer leg magasabb absztakciós szintet is jelentenek, azaz egy metamodell absztraktabb leírást tesz lehet vé, mint modelljei. Napjaink egyik legjelent sebb metamodellezési ajánlása, a Meta- Object Facility [MOF] kezdetben négyszint modellhierarchiát deniált, ami a legtöbb probléma leírásához elegend is. A modellezési rétegek ugyanakkor elméleti szinten bármilyen mélységben egymásra építhet ek. A rétegek számának növelésével egyre kisebb absztrakciós szint váltásra kényszerülünk a példányosítások során, így a modellezés tovább nomítható. Napjainkra a MOF egyre nyitottabbá vált a négyszint hierarchia kib vítésére. Az n-szint metamodellezési hierarchia azonban több problémát is felvet. A problémák egy része strukturális, topológiai jelleg, ezekr l bebizonyosodott, hogy mind elméleti, mind gyakorlati szinten megoldhatóak [Levendovszky 20505]. A problémák fenn- 3

maradó része az attribútumokkal, az n-szint attribútum-hierarchiával kapcsolatos, ezek megoldása jelenleg még nem megoldott. A metamodell tehát képes rugalmasan leírni a szakterület-specikus modellez nyelvek topológiai felépítését. Problémát jelent ugyanakkor, hogy grakus szakterületi nyelvek esetén azok jelölésrendszerét a felhasználható modellelemek megjelenítését a metamodellezési technika önmagában nem képes deniálni. A szakterületi nyelvek metamodellezéssel történ megadásához ezért szükség van egy, a megjelenítést, a vizualizáció denicióját leíró megoldásra. A metamodellezés által topológiai kényszerekkel deniált nyelvek esetében további probléma, hogy a deníció gyakran nem teljes, vagy nem elegend en precíz. Ez a pontatlanság nem csupán a metamodellezésre jellemz, UML modellek esetében is gyakran el fordul. A probléma oka, hogy a nyelvek vizuális formában megadott deníciója nem, vagy csak nehézkesen képes bizonyos összetett összefüggéseket ábrázolni (pl. egyik attribútum értékének függését a másiktól). Az egyik legelfogadottabb megoldása a problémának, hogy szöveges kényszereket csatolunk a modellelemekhez evvel pontosítva a struktúrális deníciót. A Object Constraint Language (OCL) [OCL] napjaink egyik legnépszer bb kényszerleíró nyelve. Az OCL egy egyszer szintaktikájú, formális nyelv, amit erdetileg UML modellezéshez dolgoztak ki. Ennek az UML objektum hierarchián alapuló nyelvnek a rugalmassága viszont lehet vé teszi, hogy kiegészítések segítségével, a hagyományos, vagy akár az n-szint metamodellezésben is felhasználhassuk. A precíz modellek szükségessége miatt a kényszerek ellen rzése a modellezés szempontjából alapvet fontossággal bír. A kényszerkiértékelés optimalizálása leghatékonyabban a fejleszt k által megfogalmazott kényszerkifejezések az eredetivel egyez értelm, szemantikájú, de annál hatékonyabb átfogalmazásával végezhet el. Mivel a kényszerkifejezés az optimalizálás során megváltozik, így az optimalizált és az eredeti kényszer ekivalenciája minden esetben ellen rizend. A modellalapú megközelítések esetében a modellezés gyakran csak a folyamat els lépését jelenti. A modellvezérelt architechtúra (MDA) [Soley et al., 2004] esetében el ször egy plattformfüggetlen model (Platform Independent Model, PIM) készül el, majd ezt modellfordítók segítségével b vítik ki a különöböz plattformokra jellemz információkkal. A PIM-b l a modellfordítás eredményeképpen áll el egy, vagy több plattformfügg modell (Platform Specic Model, PSM). Egy másik népszer modellalapú technika a Model-Integrated Computing (MIC) [MIC] a létrehozandó rendszer elkészítéséhez szakterület-specikus nyelveket használ, majd ezekb l készít forráskódot modelltranszformáció segítségével. A modellek feldolgozása, átalakítása, transzformálása mind a két bemutatott technológiában nagy hangsúlyt kap, de igaz ez más, modellalapú megközelítésekre is. Napjainkban a modelleket gyakran címkézett, írányított gráf formájában írják le. Ez a leírás lehet vé teszi a gráfújraírási szabályokon alapuló gráftranszformáció használatát. Az újraírási szabályok bal oldalból (left-hand side, LHS) és jobb oldalból (right-hand side, RHS) tev dnek össze. A szabály alkalmazása során a bal oldalon deniált mintát keressük meg a transzformálandó ún. hosztmodellben, majd lecseréljük a jobb oldali mintára. Bár a gráfújraírás hatékony módszer kis (néhány tíz elemb l álló) modellek és minták esetében, de az újraírás során alkalmazott mintaillesztés algoritmikusan nehéz feladat, így a modellek és az újraírási szabályok méretének növekedésével a módszert követ transzformációk nagyon lassúvá vállhatnak. Mivel a feladat komplexitása csak speciális esetekben csökkenthet, ezért más megoldásra, a számítási kapacitás megnövelésére van szükség. Ennek a gyorsításnak az egyik módja az egymástól független részfeladatok párhuzamos 4

elvégzése. Általános esetben a különböz újraírási szabályok közt fennálló függ ség er sen korlátozhatja a párhuzamos végrehajtás lehet ségeit, ugyanakkor elmondható, hogy a bizonyos kitételeknek eleget tev transzformációk esetében a párhuzamosítás hatékony eszköz a modelltranszformáció felgyorsítására. A párhuzamosítás történhet egy újraírási szabály alkalmazásán belül a mintaillesztési folyamat párhuzamosításával, vagy a transzformáció lépéseinek szintjén egymástól független lépéseket keresve. Kutatásom célja a bemutatott problémáknak megfelel en egy olyan metamodellezési és modelltranszformációs megközelítés kidolgozása és implementálása volt, ami a korábbiaknál rugalmasabban, hatékonyabban támogatja a modellalapú szoftverfejlesztést. Mindezek alapján a következ célokat t ztem ki: 1 A vizuális nyelvek n-szint metamodellezésének megvalósítására alkalmas attribútumszerkezet és attribútumtranszformáció elméleti kidolgozása és formalizálása. 2 A metamodellezési paradigma kiegészítése a vizuális nyelvek megjelenítési információinak kezelésével. 3 A vizuális nyelvek modellezését támogató n-szint metamodellezési keretrendszer elméleti kidolgozása. Az elméleti megfontolások gyakorlatban történ validálása. 4 Hatékony metamodell-alapú kényszerkiértékelés kidolgozása. A kényszerkifejezések automatikus optimalizálása. Az optimalizálás helyességének validálásához szükséges matematikai formalizmus kidolgozása és a validálás elvégzése. Az optimalizáció hatékonyságának bizonyítása mérések segítségével. 5 Modelltranszformációk párhuzamosíthatóságának vizsgálata gráftranszformációk esetén. A párhuzamosságot korlátozó és segít tulajdonságok elemzése. Párhuzamos transzformációs algoritmusok kidolgozása és megvalósítása. A párhuzamosításból ered hatékonyságnövekedés bizonyítása. 2. Módszertani összefoglalás A kit zött célok meghatározták kutatásom irányát. Kutatásom els szakaszában a már létez elméleti és gyakorlati megoldásokat ismertem meg. Elméleti kutatásom a céloknak megfelel en alapvet en négy témakör köré épült: (i) n-szint modellezés, (ii) a vizuális nyelvek megjelenítési információinak leírása, (iii) kényszerkiértékelés és optimalizáció, (iv) párhuzamos modelltranszformációk. Az egyes témakörökhöz kapcsolódó háttér három elméleti és egy gyakorlati részre bontható: A modellezés terén végzett kutatásaim bevezetéseképpen a gráfalapú modellábrázoláshoz szükséges gráfelméleti megfontolásokat és algoritmusokat tanulmányoztam. A modellezés, a modellek reprezentációja során a MOF korábban már említett specikációjat elemeztem [MOF]. Kutatásomban felhasználtam az n-szint metamodellezés topológiai értelemben vett megvalósíthatóságának bizonyítását [Levendovszky 20505]. Ezeket az eredményeket egészíti ki az általam kidolgozott attribútumszerkezet és a modellez rétegek közti attribútum-transzformáció. A transzformáció formalizmusában és tulajdonságainak validálásához az absztrakt állapotgépek (Abstract State Machines, ASMs) [ASM] matematikai formalizmusát használtam fel. 5

A metamodellhez kapcsolódó megjelenítés deniálása során egy gráftranszformációt használtam, ami összeköti a metamodell által deniált topológiai, adat jelleg és a vizuális modell grakai, megjelenítési jelleg információit. A felhasznált transzformáció tulajdonságainak vizsgálatához készített terminálási kritérium a kategóriaelméleten [Pierce, 1991] alapul, így a megoldás módszere is ezt a formalizmust használja fel. A metamodell-alapú kényszerkiértékeléssel kapcsolatos kutatásomban els lépésben a OCL nyelv már létez, halmazelméleti formalizmusát tanulmányoztam át [OCLFormalism]. A formalizmus kiterjesztésében a korábban kidolgozott n-szint attribútumszerkezetet használtam fel. Az optimalizált kényszerkezelés kidolgozása során építettem az aspektus-orientált kényszerkezelés néhány alapötletére [Lengyel, 2006], az ötletek átdolgozott, pontosított változatát az els optimalizáló algoritmusban használtam fel. A második optimalizációs algoritmus kidolgozása során az általános fordítókkal kapcsolatos optimalizációs lehet ségeket [Atho et al., 1998] tanulmányoztam át. A kidolgozott algoritmusok helyességének bizonyításakor felhasználtam automataelméleti konstrukciókat, valamint a korábban már említett absztrakt állapotgépek formalizálási technikát. A párhuzamos transzformációk elméleti alapját a gráftranszformációk matematikai háttere [Rozenberg, 1997], valamint a transzformációk DPO (Double Pushout) megközelítése [Ehrig et al., 2005] jelentették. Az általam tanulmányozott gráftranszformációk szigorúan sorrendezettek és a DPO megközelítést követik. A szigorú sorrendezés ez esetben azt jelenti. hogy a transzformáció nem csak az újraírási lépéseket tartalmazza, de azok sorrendjét is megadja. A vizsgált transzformációk metamodell-alapú újraírási szabályokat használnak, ahol mind a bal (LHS), mind a jobb oldal (RHS) metamodell-elemekb l épül fel. Az újraírás során így nem az LHS-ben deniált mintával izomorf részgráfot keresünk a gazdagráfban, hanem az LHS-ben deniált minta egy példányosításával izomorfat. A módszer egyrészr l növeli az újraírási szabályok kifejez erejét, másrészr l viszont a hagyományos újraíráshoz képest új problémákat is felvet. A párhuzamosan futtatható szabályok kiválasztásánál felhasználtam továbbá a DPO Párhuzamossági Tétel [Ehrig et al., 2005] kiterjesztését [Levendovszky 20505] is. Az újraírási szabály-szint párhuzamosításnál építettem egy dinamikus teljesítményelosztási eredményre is [Kumar et al., 1994]. Kutatásaim során az elméleti részeredményeket a gyakorlatban is megvalósítottam, majd az így nyert tapasztalatokat visszacsatolva fejlesztettem tovább az elméleti hátteret. Az elméleti eredmények gyakorlati validálását a BME Automatizálási és Alkalmazott Informatikai Tanszékén fejlesztett Visual Modeling and Transformation System (VMTS) [VMTS] nev metamodellez és modelltranszformációs keretrendszer segítségével végeztem el, amelynek fejlesztésében én is aktívan részt vettem. A rendszer megfelel alapot biztosított az elméleti eredmények gyakorlatba történ átültetéséhez, ellen rzéséhez és számos esetben a továbbfejlesztéséhez is. A VMTS rendszer nem csak az általam kidolgozott elméleti eredményekre alapul, tartalmaz számos korábbi kutatási eredményt is mint pl. a gráfújraírás matematikai háttere [Rozenberg, 1997], a validált, metamodell alapú modelltranszformációk [Lengyel, 2006], vagy az n-szint metamodellezés topológiai jelleg problémáit megoldó eredmények [Levendovszky 20505]. A VMTS rendszerben a kutatásomhoz kapcsolódó modulok az elméleti kutatásom gyakorlati validációjának tekinthet k, a VMTS a bizonyítéka annak, hogy a kidolgozott megoldások valóban megvalósíthatóak, m köd képesek. 6

3. Új tudományos eredmények A kit zött célok elérését lehet vé tev eredményeimet négy tézisbe soroltam. Az els tézisben az n-szint metamodellezésben felhasználható attribútumszerkezetet és az attribútumok példányosítását elvégz transzformációt ismertetem. A tézis tartalmaz továbbá egy vizuális eszközökön alapuló módszert, ami alkalmas a grakus modellez nyelvek vizualizációjának leírására. A második tézis a vizuális nyelvek kényszereinek kiértékelésével kapcsolatos eredményeket tartalmazza. A tézis bemutatja, hogy az OCL nyelv hogyan terjeszthet ki az n-szint attribútumszerkezet támogatására. A tézis ismerteti az általam kidolgozott, a kényszerellen rzést optimalizáló algoritmusokat és ismerteti az algoritmusok együttm - ködésének feltételeit. A tézis tartalmazza továbbá az OCL nyelv egy újfajta matematikai formalizmusát és annak felhasználását az optimalizáló algoritmusok helyességének bizonyításában. A harmadik tézis a párhuzamos gráftranszformációkkal kapcsolatos kutatás eredményeit ismerteti. A tézis bemutatja azt az elméleti keretrendszert, ami lehet vé teszi a párhuzamos algoritmusok használatát, a transzformáció-szint és az újraírási szabályszint párhuzamosítási algoritmusokat, valamint ismerteti az együttm ködési lehet ségeket a két párhuzamosítási szint között. A negyedik tézis az els három tézis elméleti eredményeit a gyakorlatban történ megvalósítás segítségével validálja. Ez a tézis tartalmazza az els tézis eredményeire alapuló metamodellez keretrendszer ismertetését, a kényszerkiértékelést végz fordító leírását, valamint a párhuzamos modelltranszformáció során felhasznált elméleti keretrendszer alapján készült alkalmazás bemutatását is. I. Tézis Vizuális nyelvek deníciója Kidolgoztam egy, az n-szint metamodellezésben használható attribútumstruktúrát, amely struktúrát követ attribútumok tetsz leges szint mélységben példányosíthatóak. Formalizust adtam a struktúrára és a transzformációra, aminek a segítségével megvizsgáltam a transzformáció néhány alapvet tulajdonságát. Kidolgoztam továbbá egy módszert, ami a metamodellezési alapelvekhez illeszkedve, egy speciális vizuális modell segítségével lehet vé teszi a vizuális nyelvek megjelenítésének deniálását. Létrehoztam egy modelltranszformációt, amivel a kialakított, a megjelenítést megadó modell a topológiát leíró metamodellhez kapcsolható, így a metamodell adat jelleg információi rugalmasan kiegészíthet ek a megjelenítési jelleg információkkal. A modeltranszformáció tulajdonságait megvizsgálva beláttam, hogy a transzformáció minden esetben terminál. A tézishez kapcsolódó publikációk: [4][6][7][8][9][10][15][16][17][18][30][32][35]. A kutatás során kidolgoztam egy attribútumszerkezetet, ami képes leírni egy tetsz leges szakterületben megjelen attribútumok szerkezetét. A szerkezet formális leírása biztosítja a precizítást, általános szerkezete pedig garantálja a nagyfokú kifejez képességet. 3.1. Deníció. Az Egyszer sített N-szint Attribútumalgebra egy A állapotának szuperuniverzuma ( A ) több aluniverzum kompozíciójából tev dik össze, amelyek 7

- U Bool a logikai értékek univerzuma {true/false} - U Number a racionális számok univerzuma {Q} - U String véges hosszú karakterláncok univerzuma - U ID a lehetséges egyedi azonosítók univerzuma. 3.2. Deníció. Az Egyszer sített N-szint attribútumalgebra a következ karakterisztikus függvényeket tartalmazza: Meta/1, IsAttribute/1, Name/1, Root/1, Attribute/3, ahol a perjelet követ en a paraméterek száma szerepel. I.1. Altézis Létrehoztam a fenti denícióknak eleget tev formális attribútum algebrát. Beláttam, hogy az algebra alkalmas az n-szint attribútumszerkezet leírására. Matematikai formulákkal megadtam az érvényes modellek denícióját. Megmutattam, hogy formális szintaxissal megadható egy transzformációs algoritmus, ami az attribútum algebrával megadott érvényes modellek esetében a példányosítás során elkészíti a példányszint attribútumszerkezetét. Beláttam, hogy a kidolgozott algebra alkalmas az UML 2.0 szabványban szerepl osztálydiagram, objektumdiagram, ill. állapotdiagram attribútumszerkezetének leírására. 3.3. Deníció. Egy modellezési hierarchiában alkalmazott példányosítást mély példányosításnak (deep instantiation) nevezzük, ha az n. szinten modellezett információ elérhet az n+x. (x>1) szinten [Atkinson and Kuhne, 2001]. 3.4. Deníció. Az Továbbfejlesztett N-szint attribútumalgebra a következ karakterisztikus függvényeket tartalmazza: Meta/1, IsAttribute/1, Name/1, Root/1, Attribute/3, ReInstantiate/1, ReInstantiationName/1, ahol a perjelet követ en a paraméterek száma szerepel. I.2. Altézis Megmutattam, hogy létrehozható egy attribútum algebra, amelynek szuperuniverzuma megegyezik az Egyszer sített N-szint attribútumalgebra szuperuniverzumával, karakterisztikus függvényei megfelelnek a fenti deníciónak és amely algebra támogatja a mély példányosított attribútumok kezelését is. Igazoltam, hogy kidolgozható formális szintaxis segítségével egy transzformációs algoritmus, ami elvégzi a példányosítást. Beláttam, hogy a példányosítási transzformáció minden véges számú modellelemet tartalmazó, és az attribútumokat véges mélységben egymásba ágyazó modell esetében terminál. A transzformáció komplexitását pontos formula segítségével is megadtam. Igazoltam, hogy egy tetsz leges érvényes modellb l kiindulva a transzformációs szabálynak és a modell érvényességét nem sért módosítások kombinációjának sorozatát tetsz leges számban elvégezhetjük és az így kapott modell minden esetben érvényes lesz. Beláttam, hogy a transzformáció alkalmas az UML 2.0 szabványban leírt osztálydiagramból a példányként kapott objektumdiagram attribútumainak generálására. A rugalmas attribútumstruktúra segítségével a vizuális nyelvek topológiai értelemben véve deniálhatóak, de a sokszor rendkívüli fontossággal bíró megjelenítés megadását a 8

1. ábra. A megjelenítési és topológiai deníció összekapcsolása metamodellezés nem írja le. Metamodellezés segítségével megadtam egy speciális vizuális nyelvet VMTS Presentation DSL (VPD) néven, ami képes más vizuális nyelvek megjelenítésének leírására. Kidolgoztam egy elméleti eszköztárat a megjelenítés deniálására, ami egyszer elemekb l építi fel a modellezni kívánt vizuális nyelv többnyire összetett megjelenítését. I.3. Altézis Igazoltam, hogy létrehozható olyan modell, amivel a vizuális nyelvek megjelenítése modellezhet. Beláttam, hogy a megjelenítéset megadó modell összekapcsolható az adott modellezési területet leíró, strukturális, topológiai jelleg metamodellel (1. ábra). Beláttam, hogy a modellezési tér két eltér aspektusának (a vizualizációnak és a struktúrális deníciónak) az összekapcsolása automatizálható modelltranszformáció segítségével. Megmutattam, hogy ez a modelltranszformáció leírható gráfújraírási szabályok sorozataként és kidolgoztam ezeket a szabályokat. Megmutattam, hogy a VPD nyelv alkalmas többek közt az UML 2.0 szabványnak megfelel tevékenységdiagram, a folyamatábra és a Nessie-Schneidermann diagram leírására. A vizuális és struktúrális deníció összekapcsolására használt modelltranszformáció rugalmassá teszi a megoldást az esetleges változásokra (pl. ha a megjelenítés leírásához új elemeket szeretnénk felvenni). Más oldalról viszont ennek a rugalmasságnak az az ára, hogy a transzformáció helyességét és tulajdonságait minden változtatás esetén meg kell vizsgálni. A transzformáció egyik legfontosabb tulajdonsága a terminálás kérdése. Ennek vizsgálatához a [Plump,1998]-ben leírt terminálási tételt használtam fel. I.4. Altézis A transzformációk E-alapú kompozíciójára kimondott tételt [Ehrig et al., 2006] felhasználva bebizonyítottam, hogy a VPD nyelv modelljeinek feldolgozásakor használt transzformáció minden esetben terminál a bemeneti gráftól függetlenül (véges bemeneti gráfok esetében). 9

II. Tézis Optimalizált, metamodell-alapú kényszerellen rzés Az eredetileg az UML nyelvhez létrehozott OCL nyelvet kiegészítettem az n-szint attribútumok támogatásához szükséges elemekkel. Megmutattam, hogy az így kapott nyelv továbbra is teljesíti a formális kényszerkiértékel nyelvekkel szemben támasztott követelményeket. Kidolgoztam két optimalizációs algoritmust, amelyek a kényszerkifejezések áthelyezésével ill. gyorsítótár alkalmazásával teszik optimálisabbá a modellek validációját. Kidolgoztam az OCL nyelv egy új típusú formalizmusát, valamint az új formalizmust felhasználva megvizsgáltam az optimalizációs algoritmusok helyességét. A tézishez kapcsolódó publikációk: [2][5][19][24][29][33][34][37][41][42]. Az OCL nyelv halmazelméleten alapuló formalizmusa fontos a modellek precizításának bizonyításában. A precizítás megtartása érdekében hasonlóan fontos az OCL nyelvet feldolgozó algoritmusok formális leírása is. Az eredeti formalizmus csak a nyelv statikus viselkedését, a nyelvi elemeket írja le és a leírás több helyen hiányos [OCLFormalism]. A meglév formalizmus nem tartalmazza továbbá a végrehajtás, a kényszerkiértékelés folyamatánk denícióját. A dinamikus, az eredeti kényszert átformáló algoritmusok formalizálásához ezért egy új módszerre van szükség. Kidolgoztam az OCL nyelv egy új formalizmusát OCLASM néven. Az OCLASM az absztrakt állapotgépek programozási nyelvek esetében használatos technikáján [Stark et al., 2001] alapul. Az OCLASM mintegy interpreterként dolgozza fel a kényszereket, az automata állapotai a végrehajtó környezet egy pillanatban vett állapotával egyeznek meg. A formalizmus monitorozott függvényeket használ a modellelemek kinyerésére (mivel az OCL deníció szerint nem változtathatja meg a modellt). Az OCLASM a kényszerkifejezéseket megosztott függények segítségével írja le. A megosztott függvényekre azért van szükség, mert bár a kényszere deniálását egy küls rendszer (vagy felhasználó) végzi, az algoritmusok a kényszereket átírhatják. Az OCLASM a kényszereket szintaxis fa formájában tárolja, a feldolgozás során ezt a fát alakítjuk át. 3.5. Deníció. Az OCLASM a következ karakterisztikus függvényeket tartalmazza, ahol zárójelben a paraméterek száma található: Monitorozott függvények: IsModelItem/1, AttrValue/1, Meta/1, To/2, Mul/2 Megosztott függvények: Dinamikus függvények: GetPhrase/1, Child/2, Parent/1 CurrentPos/0, Type/1, Value/1, Name/1, Local/1 3.6. Deníció. Az OCLASM egy A állapotának szuperuniverzuma ( A ) több aluniverzum kompozíciójából tev dik össze, amelyek - U P hrase atomi OCL kifejezések univerzuma - U Boolean logikai kifejezések (igaz/hamis) és az undef konstans univerzuma - U Numbers a számokból képzett véges hosszú sorozatok univerzuma - U Strings a véges hosszú karakterláncokból képzett véges hosszú sorozatok univerzuma - U ID a lehetséges egyedi azonosítók univerzuma. 10

II.1. Altézis Megmutattam, hogy az OCLASM segítségével az OCL nyelv formalizálható. A formalizmus segítségével megmutattam, hogy az OCL nyelv kiegészíthet az I. tézisben leírt N-szint attribútumalgebra attribútumainak támogatásával. A nyelvi kiegészítést formális módszerekkel leírtam. A hatékony kényszerellen rzés kritikus lehet a precíz modellek kialakításában. A kényszerkiértékelés közben elvégzett modellekérdezések száma dönt en befolyásolja a validálás hatékonyságát, ezért optimalizációs algoritmusaim a modell lekérdezések számát csökkentik. Az optimalizáció során feltételeztem, hogy a kényszerkifejezések invariáns típusúak. Kidolgoztam a RelocateConstraint algoritmust, ami a kényszerek áthelyezésével csökkenti a validálás által igényelt id t. Az algoritmusban felhasználtam korábbi kutatások eredményeit [Lengyel, 2006], de továbbfejlesztettem, kiegészítettem azokat a modellben megjelen multiplicitások kezelésével. A multiplicitások gyelembevétele a kényszeráthelyezés helyességének alapvet feltétele a modellellen rzés esetében. II.2. Altézis Megmutattam, hogy a kényszeráthelyezés algoritmusa elvégezhet oine módon, azaz a hosztmodell kiválasztása nélkül, a metamodell és a kényszerkifejezések ismeretében, így a kényszeráthelyezés ideje nem növeli a modellek validálásának idejét. Bebizonyítottam, hogy az általános kényszeráthelyezés (két tetsz leges modellelem közt) minden esetben leírható szomszédos modellelemeken végzett áthelyezési lépések sorozataként. Megmutattam, hogy a kényszeráthelyezés általános helyességének elemzése az eredeti kényszert tartalmazó modellelemb l kiinduló szélességi, vagy mélységi bejárás alapján elvégezhet. Beláttam, hogy egy modellelemb l egy kényszert nem helyezhetünk át olyan szomszédos modellelembe, ahol a céloldali minimum multiplicitás nulla. Igazoltam, hogy az áthelyezés minden más esetben lehetséges és konstrukciókat adtam az egyes esetek kivitelezésére. Megmutattam, hogy a kényszeroptimalizáló algoritmus formalizálható az OCLASM formalizmus segítségével. A kényszeráthelyezés algoritmusának helyességét formális módon igazoltam. A kényszeráthelyezés hatékony módszer a lekérdezésék számának csökkentésére, de az áthelyezés nem mindig optimális és nem is mindig megoldható, ezért egy további algoritmust dolgoztam ki. A ReferenceCaching algoritmus egy általánosabb optimalizációt valósít meg a modellelemek lekérdezése során használt gyorsítótár segítségével. Annak érdekében, hogy feleslegesen ne foglaljunk memóriát a gyorsítótárral, az algoritmus el ször összegy jti a kényszerkifejezésb l azokat a hivatkozásokat, amik többször hajtódnak végre. A hivatkozások összegy jtésének alapja egy oine referenciaszámlási algoritmus (GetCommonReferences). A kényszerkiértékelés során a CachingManagement algoritmus gondoskodik az gyorsítótár kezelésér l. A GetCommonReferences és a CachingManagement algoritmusok a ReferenceCaching algoritmus részei. 3.7. Deníció. Egy fordítóautomata esetében két, ugyanarra a mez re történ referenciát common subexpression-nek nevezünk [Atho et al., 1998], ha a két hivatkozás között a mez értéke nem változik. 11

II.3. Altézis Beláttam, hogy a kényszerben használt kifejezések minden esetben teljesítik a "common subexpression" kitételt, azaz az els modell lekérdezésének eredménye minden esetben megegyezik a kés bbi lekérdezések eredményével. Kidolgoztam a GetCommonReferences algoritmust és megmutattam, hogy a referenciaszámlálás oine módon elvégezhet. Igazoltam, hogy a ReferenceCaching algoritmus alkalmazásával a modellek lekérdezésének száma nem növekedhet. Beláttam továbbá, hogy az algoritmus nem tárol el feleslegesen modellelemeket a memóriában. Az OCLASM formalizmust felhasználva megmutattam, hogy a ReferenceCaching algoritmust minden esetben helyes eredményt ad. III. Tézis Párhuzamos gráftranszformáció Egy gráfújraíráson alapuló modelltranszformáció általában több újraírási szabályból áll. Az újraírási szabályok komplexitása általános esetben O(n k ), ahol n a hosztmodell elemeinek a száma, míg k a keresett minta nagysága. A teljes transzformáció komplexitása így O( r i=1 nk i ), ahol r a transzformációs lépések számát jelöli. Ez a komplexitás az egyes transzformációs lépések párhuzamos végrehajtásával redukálható. A párhuzamosítási lehet ségeket ugyanakkor korlátozzák a lépések közti fennálló függ ségek, amelyeket el kell kerülni, vagy fel kell oldani. Ebben nagy szerepet kaphatnak olyan koniktuscsökkent heurisztikák, amelyek az egyes transzformációk jellemz i mentén optimális stratégiát valósítanak meg. Lehet ség van párhuzamosításra az egyes újraírási lépéseken belül is. Itt az eredeti komplexitás csökkenthet a mintaillesztést különböz kez dpontokról kezdve. A párhuzamosság felhasználását ebben az esetben az korlátozza, hogy legtöbbször nem az összes lehetséges mintaillesztést keressük, hanem csak az els t, így a komplexitás elméleti csökkenése nem mindig érzékelhet. Kutatásomat a DPO megközelítést követ, metamodell-alapú újraírási szabályokat használó, szigorúan sorrendezett gráftranszformációkon végeztem el. Megmutattam, hogy ezen gráftranszformációk esetén gyorsítás érhet el, amennyiben az egymástól független feladatokat párhuzamosan hajtjuk végre. Beláttam, hogy a párhuzamosítás hatékonyságát befolyásolja a transzformáció jellege. Kidolgoztam két transzformációszint és két újraírási szabályszint párhuzamos mintaillesztési algoritmust, beláttam, hogy az algoritmusok eredménye mindig a szekvenciális végrehajtással egyez eredményt ad. Kidolgoztam továbbá egy elméleti keretrendszert, amely képes a két eltér szint algoritmus összehangolt végrehajtására. A tézishez kapcsolódó publikációk: [36][38]. 3.8. Deníció. Két metamodell-alapú újraírási szabály p 1 és p 2 közt fenáll a metakoniktus reláció (ϕ MetaConflict ), ha készíthet olyan hosztmodell, ahol létezik a két szabálynak nem párhuzamosan független példányosítása. 3.9. Deníció. Egy szigorúan sorrendezett transzformáció feldolgozása esetén függetlenségi blokknak nevezzük a szabályok egy halmazát, ha halmaz bármely két elempárja végrehajtható párhuzamosan a hosztmodellt l függetlenül. 12

Az eredetileg szigorúan sorrendezett szabálysorozatból álló transzformációkat a feldolgozáskor függetlenségi blokkok sorozatára bontottam. Az eredeti transzformáció átalakítása során egy-egy blokk akkor kerül lezárásra, ha a következ szabály már megsértené a függetlenséget. III.1. Altézis Megmutattam, hogy a ϕ MetaConflict megléte ellen rizhet oine módon, azaz a hosztmodell kijelölése nélkül. Megmutattam, hogy minden transzformáció szétbontható függetlenségi blokkok sorozatára. Beláttam, hogy a metamodell-alapú újraírási szabályok esetében a függetlenségi blokkok a ϕ MetaConflict reláció segítségével oine módon kialakíthatóak. Algoritmust adtam a blokkok kialakítására. Kidolgoztam egy algoritmust, ami lehet vé teszi a blokkok átlapolt végrehajtását. Bebizonyítottam, hogy a párhuzamos végrehajtás helyessége nem sérül az algoritmus használata esetén még akkor sem, ha a szabályok közt függ ség van. Megmutattam, hogy az átlapolódásból származó szabályütközések esélye csökkenthet heurisztikák segítségével. Heurisztikákat adtam, amelyek az egyszer transzformációs tulajdonságok gyelembevételével optimalizálják a szabályütközések számát. A transzformációk párhuzamosítására nem csak az újraírási szabály feletti szinten lehetséges. Párhuzamosítható ugyanis az egyes újraírási szabályok mintakeresési algoritmusa is. Deniáltam az I, P és T relációkat, amelyek egy modellelem leszármazott típusait, stípusait, ill. a modellelem metatípusát adják meg. III.2. Altézis Megmutattam, hogy a hosztmodell particionálható a metamodellben deniált típusok mentén és ez esetben a metamodell-alapú újraírási szabály k ( i 1 S(rni ) N(rn i, rn j ) ), (3.1) i=1 j=1 lépést igényel, ahol k a modellelemek száma a kiválasztott szabályban, rn a szabály elemeit jelöli, míg az N egy függvény, amelynek deníciója: N(l, m) = { 1, if T(m) I(T(l)) 0, otherwise (3.2) Megmutattam, hogy az újraírási szabályok mintakeresési algoritmusa párhuzamosítható az LHS denícióból tetsz legesen választva egy modellelemet, amelybe csak olyan él vezet, amely a céloldalon (a választott modellelemnél) csak egyszeres multiplicitást enged. Igazoltam, hogy ebben az esetben a párhuzamosítás során választott modellelemhez párosított különböz hosztmodellbeli modellelemek (pivot pontok) független találatokat adnak. Beláttam, hogy a mintakeresés ebben az esetben k ( i 1 S(rni ) N(rn i, rn j ) ) S(rn 1 )/c h, (3.3) i=2 j=2 13

lépést igényel, ahol N az el z ekben deniált függvény, k a modellelemek száma a kiválasztott szabályban, rn a szabály elemeit jelöli, amelyek közül az algoritmus rn 1 -t választotta ki, c a kliensek száma, h a relatív hálózati költsége fels becslése egy, kezd ponttal megadott résztalálat esetén. Megadtam egy másik párhuzamos mintakeresési algoritmust, ami a pivotpontok kiértékelését véletlenszer sorrendben végzi el. Bebizonyítottam, hogy az egyes kliensek minden olyan esetben megtalálják a keresett mintát, amikor a szekvenciális algoritmus megtalálná. Becslést adtam a mintakeresés költségére. A transzformációk végrehajtásának párhuzamosítása a korábbiak szerint két szinten is lehetséges. A transzformációszint algoritmusok akkor hatékonyak, ha az egyes transzformációs szabályok közti függ ségek száma kicsi. Az újraírási szabályszint elosztott algoritmusok hatékonyságát az befolyásolja, hogy a mintaillesztés komplexitását mennyire csökkenti az els csomópont meghatározása. Mivel a két algoritmuscsoport más-más esetben optimális, ezért fontos megvizsgálnunk, hogy együttes alkalmazásuk lehetséges-e. Igaz továbbá, hogy egy olyan keretrendeszerben, amely mindkét algoritmuscsoportot támogatja, a dinamikus terheléselosztás révén optimálisabb m ködést eredményezhet. III.3. Altézis Beláttam, hogy a transzformációszint és az újraírási szabályszint párhuzamos algoritmusok együtt is alkalmazhatóak. Megmutattam, hogy az algoritmusok kompoziciója kétszint felépítést eredményez, ahol az els szint kliensek a transzformáció szint feladatokat oldják meg, míg a második szint kliensek az újraírási szabályok párhuzamos végrehajtásáért felel sek. Megmutattam, hogy a második szint kliensek (amelyek az újraírási szabályszint párhuzamosításban vesznek részt) és az els szint kliensek dinamikus összerendelése megvalósítható. Igazoltam, hogy a párhuzamos algoritmusokat futtató keretrendszer mind elméletben, mind a gyakorlatban megvalósítható. A párhuzamos futtatás hatékonyságát mérésekkel igazoltam. A mérések segítségével megmutattam, hogy a transzformáció szint algoritmusok abban az esetben hatékonyak, ha az egyes szabályok végrehajtása nagyságrendileg azonos id t igényel. Beláttam, hogy a másodszint kliensek segítségével a feltételnek eleget nem tev transzformációk is végrehajthatóak hatékonyan. IV. Tézis Elméleti eredmények gyakorlati validációja A Visual Modeling and Transformation System keretrendszeren keresztül megmutattam a következ ket: Megmutattam, hogy az n-szint attribútumszerkezet és transzformáció a gyakorlatban is megvalósítható. Referenciaimplementációként elkészítettem az algebra XMLalapú és objektumorientált megvalósítását. Az attribútumok alkalmasságát számos m szaki problémában, pl. a funkciómodellben, ill. mobiltelefonok számára készített er forrásszerkeszt ben is igazoltam. 14

Igazoltam, hogy az els tézisben bemutatott vizuális metamodell képes leírni a folyamatábra, a Nessie-Schniedermann diagram és az UML szabvány szerinti tevékenység diagram megjelenítését. Megmutattam, hogy a leírás eredményeképpen el álló deníció a gyakorlatban közvetlenül felhasználható. Beláttam, hogy a modellek közti tartalmazási hierarchia kettébontható a valós és logikai tartalmazás (a tényleges, és a modellezési aspektusokban használt relációk) mentén. Megmutattam, hogy az I. tézis eredményeire alapozva létrehozható egy olyan alkalmazás, ami támogatja UML diagramok, modelltranszformációs és er forrásszerkeszt nyelvek grakus szerkesztését. Igazoltam, hogy a kényszerellen rzéshez a gyakorlatban is kidolgozható egy OCL fordító, ami mind a metamodell alapú kényszereket, mind az ismertetett optimalizációs algoritmusokat felhasználja a modellek validálása során. Mérések segítségével bebizonyítottam, hogy az optimalizált kényszerellen rzés a gyakorlatban hatékonyabb az eredeti kényszereken alapuló modellvalidálásnál. Megmutattam, hogy a memóriaalapú modellábrázolás megközelít leg három nagyságrenddel gyorsabb modelltranszformációt tesz lehet vé, mint az adatbázis alapú. Igazoltam, hogy a párhuzamos gráftranszformációhoz kidolgozott elméleti keretrendszer a gyakorlatban is megvalósítható kétszint szerver-kliens architektúrát követve. A tézishez kapcsolódó publikációk: [1][3][11][12][13][14][20][21][22][23][25][26][27][28][29][31][39][40]. 4. Az új tudományos eredmények alkalmazása Az új tudományos eredmények a VMTS metamodellez és modelltranszformációs keretrendszerben, illetve a VMTS alkalmazásaiban jelennek meg. A VMTS egy n-szint metamodellez környezet, amely lehet vé a metamodellek és modellek szerkesztését, automatikus sémaellen rzést biztosítva számukra. A VMTS egy egyszer sített UML osztálydiagrammal írja le alap metamodelljét (vizuális szókincsét). A VMTS támogatja a vizuális nyelvek megjelenítésének grakus megadását és a metamodellel történ összekapcsolását. A precíz modellek létrehozásához a felhasználók kényszereket deniálhatnak. A VMTS része a gráf transzformációs alapokon nyugvó modelltranszformációs rendszer és egy, a bejárás alapú modellfeldolgozást támogató eszköz is. A VMTS segítségével megvalósított esettanulmányok lehet vé teszik az alkalmazhatóság bemutatását mind a tudományos világ, mind az ipar számára. Mivel mind az elméleti háttér, mind a rendszer evoluciója folyamatos, ezért az itt felsorolt alkalmazási területek listája nem tekinthet végesnek. Az alkalmazásokkal kapcsolatos publikációk: [3][6][13][15][20][21][22][39][40] 15

2. ábra. A VMTS keretrendszer architektúrája Keretrendszer Az eredmények gyakorlati alkalmazhatóságának igazolására kifejlesztettem a VMTS keretrendszer következ komponenseit (Fig. 2): (i) VMTS Presentation Framework, ami a modellez alkalmazás (Adaptive Modeler) alapja, felhasználóbarát módon támogatja a nyelvek létrehozását és kezelését, továbbá rugalmas, plugin-alapú architektúrát biztosít a speciális vizuális nyelvek implementására; (ii) Attribute Panel, ami az attribútumalgebra feldolgozását, az attribútumok megjelenítését és a metamodell által deniált attribútumséma automatikus ellen rzését biztosítja; (iii) OCL Compiler, ami az OCL nyelven megfogalmazott kényszereket lefordítja, optimalizálja, majd kódot és bináris állományt generál bel lük; (iv) AGSI Compact Framework, ami a modellek memóriaalapú tárolását és szerializálását teszi lehet vé; (v) AGSI Parallel Transformation Engine, ami a párhuzamos újraírási algoritmusok számára biztosít keretrendszert. A szoftvercsomag egyéb részei Levendovszky Tihamér, Lengyel László és számos hallgató munkájának eredménye. Alkalmazások A vizuális nyelvek modellezését és transzformációját számos gyakorlati esetben használtuk m szaki problémák megoldására. Az attribútumstruktúra, a modellez keretrendszer és a kényszerek fordításához készített OCL compiler segítségével lehet vé vált több olyan terület egységes alapokon történ modellezése, ami korábban nehézségekbe ütközött. A teljesség igény nélkül néhány ezek közül: (i) Vizuális modellez nyelv a transzformációk leírására (VCFL), ill. az újraírási szabályok megadására [3][12]. (ii) A mobiltelefonok er forrásait leíró nyelvek létrehozása és szerkesztése [13][22]. (iii) az UML 2.0 szabványnak megfelel nyelvcsaládok, pl tevékenység -, osztály -, objektum -, szekvencia- és állapotdiagram támogatása. (iv) Vizuális modellez nyelv a megjelenítés megadására [4][18]. (v) A programozási folyamatok leírására szolgáló nyelvek támogatása (Folyamatábra, Nessie- Schneidermann diagram). (vi) Mobil hálózati protokoll modellezése tisztán grakus elemekkel. A memória alapú AGSI Compact Framework és a párhuzamos modelltranszformáció támogatása révén lehet ség nyílt a korábbiaknál sokkal összetettebb modellek feldolgozására és transzformációk támogatására. Amíg az adatbázis alapú megközelítés néhány tíz modellelemet és újraírási szabályt tartalmazó esetekhez volt tervezve, addig az új módszerekkel néhány ezer, esetenként néhány tízezer modellem is feldolgozhatóvá vált. 16

A példák illusztrálják, hogy a VMTS hatékony metamodellez rendszer, ami támogatja vizuális nyelvek deniálását, szerkesztését és transzformációalapú feldolgozását. 5. Related Publications Folyóiratcikkek 1 L. Lengyel, T. Levendovszky, G. Mezei, H. Charaf, A Strict Control Flow Speci- cation for Model Transformation, WSEAS Transactions on Computers, February 2006, ISSN 1109-2750. 2 G. Mezei, L. Lengyel, T. Levendovszky, H. Charaf, Minimizing the Traversing Steps in the Code Generated by OCL 2.0 Compilers, WSEAS Transactions on Information Science and Applications, Issue 4, Volume 3, February 2006, ISSN 1109-0832, pp. 818-824. 3 L. Lengyel, T. Levendovszky, G. Mezei, H. Charaf, Model Transformation with a Visual Control Flow Language, International Journal of Computer Science (IJCS), Number 1, Volume 1, 2006, ISSN 1306-4428, pp. 45-53. 4 L. Lengyel, T. Levendovszky, G. Mezei, H. Charaf, A Model Transformation for Automated Concrete Syntax Denitions of Metamodeled Visual Languages, Electronic Communications of the EASST, Volume 4, 2006, Graph and Model Transformation 2006 5 T. Levendovszky, G. Mezei, H. Charaf, Formalizing the Evaluation of OCL Constraints, Acta Polytechnica Hungarica, Volume 4, Issue 1, 2007, ISSN 1785-8860, pp. 89-110. 6 G. Mezei, Hatékony szakterület-modellezési technikák a távközlésben, Magyar Távközlés, Budapest, 2006, Accepted Nemzetközi konferencia-kiadványban megjelent idegen nyelv el adás 7 T. Levendovszky, L. Lengyel, G. Mezei, H. Charaf, A Systematic Approach to Metamodeling Environments and Model Transformation Systems in VMTS, International Workshop on Graph-Based Tools (GraBaTs) Electronic Notes in Theoretical Computer Science, 2004. 8 G. Mezei, T. Levendovszky, L. Lengyel, H. Charaf, A Flexible Attribute Instantiation Technique for Visual Languages, IASTED on SE, February 15-17, 2005, Innsbruck, Austria, pp. 355-359. 9 G. Mezei, T. Levendovszky, L. Lengyel, H. Charaf, Multilevel Metamodeling - A Case Study, MicroCAD, March 10-11, 2005, Miskolc, pp. 321-326. 17

10 G. Mezei, L. Lengyel, T. Levendovszky, H. Charaf, A Metamodel-Based Technique for Attribute Transformation in Visual Model Processors, 5th Internal Conference of PhD Students, Engineering Sciences II, Miskolc, Hungary, 14-20 August 2005, pp. 133-138. 11 L. Lengyel, T. Levendovszky, G. Mezei, B. Forstner, H. Charaf, Metamodel-Based Model Transformation with Aspect-Oriented Constraints, International Workshop on Graph and Model Transformation (GraMoT), Electronic Notes in Theoretical Computer Science, Volume 152, Tallinn, Estonia, September 28, 2005, pp. 111-123. 12 L. Lengyel, T. Levendovszky, G. Mezei, H. Charaf, Control Flow Support in Metamodel-Based Model Transformation Frameworks, EUROCON 2005 International Conference on Computer as a tool, Proceedings of the IEEE, Belgrade, Serbia & Montenegro, November 21-24, 2005, pp. 595-598. 13 L. Lengyel, T. Levendovszky, G. Mezei, B. Forstner, H. Charaf, Towards a Model- Based Unication of Mobile Platforms, 4th ACS/IEEE International Conference on Computer Systems and Applications (AICCSA-06), Dubai, Sharjah, UEA, March 8-11, 2006. 14 G. Mezei, T. Levendovszky, H. Charaf, Traversing Processor for Metamodel Environments, 5th Internal Conference of PhD Students, August, 2005, Miskolc, Hungary, pp. 127-133. 15 G. Mezei, T. Levendovszky, H. Charaf, A Presentation Framework for Metamodeling Environments, 4th Workshop in Software Model Engineering, 2005 October, Montego Bay, Jamaica. 16 G. Mezei, T. Levendovszky, H. Charaf, Presentation Framework - an Environment for Editing Metamodels, 6th International Symposium of Hungarian Researchers, November, 2005, Budapest, Hungary, pp. 551-562. 17 G. Mezei, T. Levendovszky, H. Charaf, A Flexible Graphics Framework for Modeling Environments, International Carpathian Control Conference, Miskolc, Hungary, 2005, pp. 383-389. 18 G. Mezei, T. Levendovszky, H. Charaf, Visual Presentation Solution for Domain Specic Languages IASTED on SE, February, 2006, Innsbruck, Austria, pp. 194-199. 19 G. Mezei, T. Levendovszky, H. Charaf, Implementing an OCL 2.0 Compiler for Metamodeling Environments, 4th Slovakian - Hungarian Joint Symposium on Applied Machine Intelligence, SAMI 2006, January, 2006, Herlany, Slovakia, pp. 544-555. 20 L. Lengyel, T. Levendovszky, T. Vajk, G. Mezei, H. Charaf, Practical Uses of Validated Model Transformation, IEEE EUROCON 2007, Sept, 2007, Warsaw, Poland, accepted 21 L. Lengyel, T. Levendovszky, G. Mezei, H. Charaf, A Visual Control Flow Language for Model Transformation Systems, IASTED International Conference on SOFTWARE ENGINEERING, SE 2006, Innsbruck, Austria, February 14-16, 2006, pp. 194-199. 18

22 B. Forstner, L. Lengyel, T. Levendovszky, G. Mezei, I. Kelényi, H. Charaf, Model- Based System Development for Embedded Mobile Platforms, 13th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ECBS), Potsdam, Germany, March 27-30, 2006. 23 L. Lengyel, T. Levendovszky, G. Mezei, H. Charaf, A Visual Control Flow Language, 5th WSEAS Int.Conf. on Software Engineering, Parallel and Distributed Systems, SEPADS '06, Madrid, Spain, February 15-17, 2006, pp. 30-35. 24 G. Mezei, L. Lengyel, T. Levendovszky, H. Charaf, Optimization Algorithms For OCL Compilers, 5th WSEAS Int.Conf. on Software Engineering, Parallel and Distributed Systems, SEPADS '06, Madrid, Spain, February 15-17, 2006, pp. 55-60. 25 L. Lengyel, T. Levendovszky, G. Mezei, H. Charaf, Execution Properties of a Visual Control Flow Language, 4th Slovakian - Hungarian Joint Symposium on Applied Machine Intelligence', SAMI 2006, January 20-21, 2006, Herlany, Slovakia, pp. 368-379. 26 L. Lengyel, T. Levendovszky, G. Mezei, H. Charaf, Control Flow Support in Model Transformation Frameworks: An Overview, MicroCAD, March 16-17, 2006, Miskolc, pp. 193-198. 27 L. Lengyel, T. Levendovszky, G. Mezei, H. Charaf, Weaving Constraint Aspects into Metamodel-Based Model Transformation Steps, MicroCAD, March 16-17, 2006, Miskolc, pp. 199-204. 28 L. Lengyel, T. Levendovszky, G. Mezei, H. Charaf, Model-Based Development with Strictly Controlled Model Transformation, The 2nd International Workshop on Model-Driven Enterprise Information Systems, MDEIS 2006, May 23-24, 2006, Paphos, Cyprus, pp. 39-48. 29 T. Levendovszky, G. Mezei, H. Charaf, Customized Error Handling Suport for OCL Compilers, MicroCAD, March, 2006, Miskolc, pp. 211-217. 30 G. Mezei, T. Levendovszky, H. Charaf, A Domain-Specic Language for Visualizing Modeling Languages, ISIM, April, 2006, Prerov, Czech Republic. 31 L. Lengyel, T. Levendovszky, G. Mezei, H. Charaf, Constraint Validation-Driven Visual Model Transformation, Automation and Applied Computer Science Workshop (AACS), June, 2006, Budapest, Hungary, pp 29-41. 32 L. Lengyel, T. Levendovszky, G. Mezei, H. Charaf, A Model Transformation Method To Support Automated Concrete Syntax Denitions, Automation and Applied Computer Science Workshop (AACS), June, 2006, Budapest, Hungary, pp 41-53. 33 G. Mezei, T. Levendovszky, H. Charaf, An optimizing OCL Compiler for Metamodeling and Model Transformation Environments, IFIP Working Conference on Software Engineering Techniques, October, 2006, Warsaw, Poland, pp 61-73. 34 G. Mezei, T. Levendovszky, H. Charaf, Extending an OCL Compiler for Metamodeling and Model Transformation Systems: Unifying the Twofold Functionality, 10th International Conference on Intelligent Engineering Systems 2006, June, 2006, London, United Kingdom. 19

35 G. Mezei, T. Levendovszky, H. Charaf, Automatized Concrete Syntax Denitions For Domain Specic Languages, The 7th International Conference on Technical, June, 2006, Timisoara, Romania, pp 47-52. 36 G. Mezei, T. Levendovszky, H. Charaf, A Distribution Technique For Graph Rewriting and Model Transformation Sytems, IASTED on PDCN, February 15-17, 2005, Innsbruck, Austria 37 G. Mezei, T. Levendovszky, H. Charaf, A New Formalism Technique For OCL, 5th Slovakian-Hungarian Joint Symposium on Applied Machine Intelligence and Informatics, Jan, 2007, Poprad, Slovakia, pp 117-128. 38 G. Mezei, T. Levendovszky, H. Charaf, Integrating Model Transformation Systems and Asynchronous Cluster Tools, 7th International Symposium of Hungarian Researchers on Computational Intelligence, Nov, 2006, Budapest, Hungary, pp 307-318. 39 T. Mészáros, G. Mezei, T. Levendovszky, Using Patterns in Domain-Specic Languages, 7th International Symposium of Hungarian Researchers on Computational Intelligence, Nov, 2006, Budapest, Hungary, pp 167-178. Technical Report 40 L. Lengyel, T. Levendovszky, G. Mezei, Metamodell-alapú modelltranszformáció, Budapesti M szaki és Gazdaságtudományi Egyetem, Automatizálási és Alkalmazott Informatikai Tanszék, Budapest, Hungary, 2005. 41 G. Mezei, T. Levendovszky, H. Charaf, Restrictions for OCL constraint optimization algorithms, Technische Universitat Dresden, Genova, Italy, 2006. 42 G. Mezei, T. Levendovszky, H. Charaf, Optimizing Renement for Metamodeling Environments with OCL Constrains, Labroatoire d'informatique de Robotique et de Microelectronique de Montpellier, MoDELS doctoral symposium, Genova, Italy, 2006. 6. Idegen hivatkozások [1] publikációra hivatkozik: A. Balogh, D. Varró, Advanced Model Transformation Language Constructs in the VIA- TRA2 Framework, ACM Symposium on Applied Computing, 2006, pp. 1280-1287. [7] publikációra hivatkozik: E. Biermann, K. Ehrig, C. Köhler, G. Kuhns, G. Taentzer, E. Weiss, Graphical Denition of In-Place Transformations in the Eclipse Modeling Framework, Model Driven Engineering Languages and Systems, 9th International Conference, MoDELS 2006, Genova, Italy, October 1-6, 2006, LNCS Volume 4199, pp. 425-439. 20