Domain-specifikus modellezési nyelvek automatikus transzformációi
-
Upload
istvan-rath -
Category
Technology
-
view
291 -
download
1
description
Transcript of 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
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
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
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?
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
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
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)
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
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
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
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
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
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
Ú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
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
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
Több nézőpontú modellezés
A nyelv (domain) B nyelv (domain)
<<A>>
<<A,B>> <<B>>
Többnyelvű modellek
Több nézőpontú modellezés
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
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
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.