domain-specifikus modellezési nyelvek automatikus transzformációi

22
Domain-specifikus modellezési nyelvek automatikus transzformációi automatikus transzformációi Ráth István Schmidt András Vágó Dávid Konzulensek: Dr Varró Dániel Dr. Varró Dániel Balogh András Méréstechnika és Információs Rendszerek Tanszék Méréstechnika és Információs Rendszerek Tanszék

Upload: istvan-rath

Post on 07-Jul-2015

292 views

Category:

Technology


1 download

DESCRIPTION

I. díjat nyert előadás a 2005-ös BME VIK Kari TDK konferencián, valamint a 2007-es Országos TDK Konferencián.

TRANSCRIPT

Page 1: Domain-specifikus modellezési nyelvek automatikus transzformációi

Domain-specifikus modellezési nyelvek automatikus transzformációiautomatikus transzformációi

Ráth IstvánSchmidt AndrásVágó Dávidg

Konzulensek: Dr Varró DánielDr. Varró DánielBalogh András

Méréstechnika és Információs Rendszerek TanszékMéréstechnika és Információs Rendszerek Tanszék

Page 2: Domain-specifikus modellezési nyelvek automatikus transzformációi

Modellvezérelt rendszerfejlesztés

RendszermodellRendszermodell

Viselkedésimodell

Strukturálismodell

Adatbiztonságmodell

Előnyei:Előnyei:•Költséghatékonyság

• Időmegtakarítás• Emberi beavatkozás

Alkalmazás minimalizálása

Page 3: Domain-specifikus modellezési nyelvek automatikus transzformációi

Az UML, ,mint rendszermodellező nyelv

UML nyelvRendszertervező Adatbiztonsági szakértő

Megbízhatósági profil

Osztálydiagram

Állapottérképdiagram Problémák:

• Túl bonyolult

RendszermodellTúl bonyolult eszköz

• Hibás modellek (könnyen)

Viselkedésimodell

Strukturálismodell

Adatbiztonságmodell

( y )létrehozhatók

Alkalmazás

Page 4: Domain-specifikus modellezési nyelvek automatikus transzformációi

Domain-specifikuspmodellezési nyelvek

Rendszertervező Adatbiztonsági szakértő

UML nyelvS t h tik

Eszköz tervező

Osztálydiagram

Állapottérképdiagram

SztochasztikusPetri háló

Problémák:• Lassú fejlesztés

Rendszermodell

• Lassú fejlesztés• Primitív DSM keretrendszerek

Viselkedésimodell

Strukturálismodell

Adatbiztonságmodell

Továbbá:DSM-ekmodell DSM ek integrációja?

Page 5: Domain-specifikus modellezési nyelvek automatikus transzformációi

Domain-specifikus modellezési nyelvek tervezése

Modellezési nyelvek felépítéseKonkrét szintakszisAbsztrakt szintakszis Petri hálóPetri hálóPetri hálóPetri hálóPetri

háló/Áll t é

Modellek szimulációja

Jólformáltsági kényszerekDinamikus szemantika

T0: Tranzíció

P0 H l

<< Él >> T0: Tranzíció<< Él >>háló/Állapotgép(Korai

tesztelés)

Dinamikus szemantikaModellezési nyelvekintegrációja

P0: HelyP0: Hely+ kapacitás+ tokenszám

integrációjaModelltranszformációk Petri háló:

kapacitás ≥• AutomatikusKódgenerálás

kapacitás ≥ tokenszám

Automatikus modellanalízis

Page 6: Domain-specifikus modellezési nyelvek automatikus transzformációi

Javasolt rendszerarchitektúra

ViatraDSMUML nyelv

SztochasztikuskeretrendszerOsztály

diagramÁllapottérkép

diagramPetri háló

VIATRA2Rendszermodell

Modell-transzformációs

rendszerViselkedési

modell

Strukturálismodell

Adatbiztonságmodell Elméleti

eredmények:rendszereredmények: • Formálisspecifikáció

éAlkalmazás

• Egységes leírás

Page 7: Domain-specifikus modellezési nyelvek automatikus transzformációi

Modellezési nyelvek formális specifikációja

Modellezési nyelvek felépítéseKonkrét szintakszisAbsztrakt szintakszis

Domain és Diagram metamodell (VPM)Absztrakt szintakszis metamodell (VPM)

Page 8: Domain-specifikus modellezési nyelvek automatikus transzformációi

Absztrakt szintaxis deklaratív specifikációja

Domain o ametamodell mag

SzerkesztőModellfinomítás

Petri háló[Csomópont]

helyek tranzíciók

Háló_1:Petri háló

H1 helyek: T1 tranzíciók:

Csomópont

gyökércsomópont

Domain

Modellfinomítás

Hely[C ó t]

Tranzíció[C ó t]

y[tartalom] [tartalom]

Hely_1:H l

Tranzíció_1:T í ió

_ yhelyek

_tranzíciók

Csomóponttartalom Él

t l jd á ktulajdonságok

metamodell [Csomópont] [Csomópont]

KiÉl [Él]tokenek

[tartalom]súly[tk.]

Szintaxisvezérelt k té

Hely Tranzíció

Él_1: KiÉlH1_t:

tokenekÉ1_s:súly

Tulajdonságtulajdonságok

j g

Token[Csomópont]

Élsúly[Tulajdonság]

[ ]

Domain modell

szerkesztésToken_1:

TokenÉlsúly_1:

Élsúly

y

modell

Page 9: Domain-specifikus modellezési nyelvek automatikus transzformációi

Megjelenítésdeklaratív specifikációja

Domain Diagram Logikai modello ametamodell mag

Modellfinomítás

ag ametamodell mag

Cél

Domain

Modellfinomítás

Diagram

• Cél:Modelltérbeli perzisztencia támogatásametamodell

Szintaxisvezérelt k té

metamodellektámogatása

• Lehetőség:

Domain modell

szerkesztés

Diagram modellek

Konkrét megjelenítés modellalapú specifikációja

modell modellek

Page 10: Domain-specifikus modellezési nyelvek automatikus transzformációi

Végeredmény: Grafikus Petri háló szerkesztő

Technológia• Eclipse• Eclipse

• nyílt, integrált fejlesztői környezet• Graphical Editing Framework (GEF)Graphical Editing Framework (GEF)

• magas szintű grafikus szerkesztőkönyvtár Eclipse-hez

Page 11: Domain-specifikus modellezési nyelvek automatikus transzformációi

Modellezési nyelvek formális specifikációja

Modellezési nyelvek felépítéseKonkrét szintakszisAbsztrakt szintakszis

Domain és Diagram metamodell (VPM)Absztrakt szintakszis

Jólformáltsági kényszerekDi ik tik

metamodell (VPM)

Dinamikus szemantikaModellezési nyelvek integrációja

ModelltranszformációkKódgenerálásKódgenerálás

Page 12: Domain-specifikus modellezési nyelvek automatikus transzformációi

Modellezési nyelvek formális specifikációja

Modellezési nyelvek felépítéseKonkrét szintakszisAbsztrakt szintakszis

Domain és Diagram metamodell (VPM)Absztrakt szintakszis

Jólformáltsági kényszerekDi ik tik

metamodell (VPM)

Dinamikus szemantikaModellezési nyelvek integrációja

Modell-transzformáció(GT+ASM)

ModelltranszformációkKódgenerálás

(GT+ASM)

Kódgenerálás

Page 13: Domain-specifikus modellezési nyelvek automatikus transzformációi

Dinamikus szemantika Gráftranszformációs szabály

Baloldal JobboldalÉl Él Él Él

Hely

Token

Tranz. Hely Hely

Token

Tranz. Helytokenek tokenek

Chomsky nyelvtanok általánosítása szöveges minta gráfmintaszöveges minta gráfmintaAlkalmazás: baloldalt a jobboldalra cseréli

GráfmintaillesztésGráfmintaillesztés Akciók: Törlés + Létrehozás

Page 14: Domain-specifikus modellezési nyelvek automatikus transzformációi

Új eredmények: Gráftranszformáció

Baloldal Jobboldal[Él] [Él] [Él] [Él]

Baloldal JobboldalÉl Él Él Él

[Hely]

[Token]

[Tranz.] [Hely][ ] [ ]

[Hely]

[Token]

[Tranz.] [Hely][ ] [ ]

[tokenek] [tokenek]Hely

Token

Tranz. Hely Hely

Token

Tranz. Helytokenek tokenek

Interpreter alapú gráftranszformációs eszközGenerikus minták: típusváltozók kezelése

[ ] [ ]

Generikus minták: típusváltozók kezeléseRekurzív minták: visszahívható minták

Lokális keresésen alapuló mintaillesztési algoritmusp gTüzelési szabály szimuláció a szerkesztőben

Page 15: Domain-specifikus modellezési nyelvek automatikus transzformációi

Esettanulmány

1. Jólformáltsági kényszerek definiálásakapacitáskorlát ellenőrzése: 2 GT szabályy

2. Szimulációs transzformáció definiálásatüzelés: 4 GT szabálytüzelés: 4 GT szabály

3. Kódgenerátor transzformáció definiálásaPetri Net Markup Language generátor:6 GT szabályy

Page 16: Domain-specifikus modellezési nyelvek automatikus transzformációi
Page 17: Domain-specifikus modellezési nyelvek automatikus transzformációi

Utóélet

Több nézőpontú modellezésAbsztrakt-konkrét szintakszis közötti kétirányú leképezéskétirányú leképezésNyelv-specifikus kényszerek kezelése

Page 18: Domain-specifikus modellezési nyelvek automatikus transzformációi

Több nézőpontú modellezés

A nyelv (domain) B nyelv (domain)

<<A>>

<<A,B>> <<B>>

Többnyelvű modellek

Page 19: Domain-specifikus modellezési nyelvek automatikus transzformációi

Több nézőpontú modellezés

Page 20: Domain-specifikus modellezési nyelvek automatikus transzformációi

Absztrakt-konkrét szintakszis megfeleltetése

p0 : Hely h0Logikai modell Diagram

p y

:token :token :token 3VIATRA2

t0:Token t1:Token t2:TokenVIATRA2Modell

transzformációk

p0 : Hely h0_p0 : HelyRajz:model

Logikai modell Diagram modell Diagram

t0:Token

:token

t1:Token t2:Token

:token :token 3tokenSzám

:attribútum

t0:Token t1:Token t2:Token tokenSzám:Attribútum

Page 21: Domain-specifikus modellezési nyelvek automatikus transzformációi

Elméleti eredmények

Domain specifikus modellezési nyelvekGrafikus szerkesztőinek automatizált előállításaGrafikus szerkesztőinek automatizált előállítása

Deklaratív specifikációS k tők t tik á t táSzerkesztők automatikus származtatása

Egységes formális leírása (gráftranszformáció és absztrakt állapotgépek)

Jólformáltsági kényszerek, Dinamikus szemantika, Modelltranszformációk, Kódgenerálás

Page 22: Domain-specifikus modellezési nyelvek automatikus transzformációi

Gyakorlati eredmények

Implementáció:VIATRA2 modelltranszformációs rendszer: 18 b hó18 emberhónapViatraDSM keretrendszer:5 emberhónapEclipse Generative Model Transformers projekt részeEclipse Generative Model Transformers projekt része(http://www.eclipse.org/gmt/)

8 TDK dolgozat használta a VIATRA2 rendszert, ebből 5 kari I. díjat nyertyÖnálló laboratórium: nyelv-specifikus kényszerek kezeléseWorkshop cikk: I. Ráth, D. Varró: Challenges for advanced domain-specific frameworks. European Conference on Object-Oriented p p jProgramming. July 3-7, Nantes, France.