Incremental pattern matching in the VIATRA2 model transformation framework
Domain-specifikus modellezési nyelvek automatikus transzformációi
1. Domain-specifikus modellezési nyelvek
automatikus transzformációi
Ráth István
Schmidt András
Vágó Dávid
g
Konzulensek:
Dr.
Dr Varró Dániel
Balogh András
Méréstechnika és Információs Rendszerek Tanszék
2. Modellvezérelt rendszerfejlesztés
Rendszermodell
Viselkedési Strukturális Adatbiztonság
modell modell modell
Előnyei:
•Költséghatékonyság
• Időmegtakarítás
• Emberi beavatkozás
Alkalmazás minimalizálása
3. Az UML, ,
mint rendszermodellező nyelv
Rendszertervező Adatbiztonsági szakértő
UML nyelv
Állapottérkép Osztály Megbízhatósági
diagram diagram profil
Problémák:
• Túl bonyolult
eszköz
Rendszermodell • Hibás modellek
(
(könnyen)
y )
Strukturális Adatbiztonság létrehozhatók
Viselkedési
modell modell
modell
Alkalmazás
4. Domain-specifikus
p
modellezési nyelvek
Rendszertervező Adatbiztonsági szakértő
Eszköz tervező
UML nyelv
Sztochasztikus
S t h tik
Állapottérkép Osztály Petri háló
diagram diagram Problémák:
• Lassú fejlesztés
• Primitív DSM
Rendszermodell keretrendszerek
Strukturális Adatbiztonság Továbbá:
Viselkedési
modell modell DSM ek
DSM-ek
modell
integrációja?
5. Domain-specifikus
modellezési nyelvek tervezése
Modellezési nyelvek felépítése
Konkrét szintakszis
Modellek
szimulációja Absztrakt szintakszis Petri háló
Petri
(Korai háló/Állapotgép
háló/Áll t é
tesztelés) Jólformáltsági kényszerek << Él >>
<< Él >>
T0: Tranzíció
T0: Tranzíció
Dinamikus szemantika P0: H l
P0 Hely
P0: Hely
Modellezési nyelvek + kapacitás
+ tokenszám
integrációja
Modelltranszformációk Petri háló:
• Automatikus kapacitás ≥
modellanalízis Kódgenerálás tokenszám
6. Javasolt rendszerarchitektúra
UML nyelv
Sztochasztikus ViatraDSM
Állapottérkép Osztály Petri háló keretrendszer
diagram diagram
Rendszermodell
VIATRA2
Strukturális Adatbiztonság Modell-
Viselkedési
modell modell transzformációs
Elméleti
modell
rendszer
eredmények:
• Formális
specifikáció
• Egységes
é
Alkalmazás leírás
7. Modellezési nyelvek
formális specifikációja
Modellezési nyelvek felépítése
Konkrét szintakszis
Domain és Diagram
Absztrakt szintakszis metamodell (VPM)
8. Absztrakt szintaxis
deklaratív specifikációja
Domain
o a
metamodell mag Petri háló
Háló_1:
[Csomópont]
Petri háló
Szerkesztő
H1_helyek:
helyek
yy T1tranzíciók
_tranzíciók:
Modellfinomítás
[tartalom]
helyek [tartalom]
gyökércsomópont
tranzíciók
Domain Hely_1:
Hely Tranzíció_1:
Tranzíció
metamodell [C H ó Csomópont óí ió t]
[Csomópont]
Hely t]
l [Csomópont]
[CT
Tranzíció
tartalom Él
tokenek
H1_t: É1_s:
súly
Szintaxisvezérelt
tulajdonságok [Él]
[tartalom] j
tokenek Él_1: KiÉl
KiÉl
g [ y
[tk.]
súly]
szerkesztés
k té tulajdonságok
t l jd á k
Token_1:
Token Tulajdonság
Élsúly_1:
Élsúly
Domain [Csomópont]
Token [Tulajdonság]
Élsúly
modell
9. Megjelenítés
deklaratív specifikációja
Domain
o a Logikai modell Diagram
ag a
metamodell mag metamodell mag
• Cél
Cél:
Modellfinomítás
Modelltérbeli perzisztencia
Domain Diagram
metamodell
támogatása metamodellek
Szintaxisvezérelt
• Lehetőség:
szerkesztés
k té
Konkrét megjelenítés
Domain modellalapú specifikációja Diagram
modell modellek
10. Végeredmény:
Grafikus Petri háló szerkesztő
Technológia
• Eclipse
• nyílt, integrált fejlesztői környezet
• Graphical Editing Framework (GEF)
• magas szintű grafikus szerkesztő
könyvtár Eclipse-hez
11. Modellezési nyelvek
formális specifikációja
Modellezési nyelvek felépítése
Konkrét szintakszis
Domain és Diagram
Absztrakt szintakszis metamodell (VPM)
Jólformáltsági kényszerek
Dinamikus szemantika
Di ik tik
Modellezési nyelvek integrációja
Modelltranszformációk
Kódgenerálás
12. Modellezési nyelvek
formális specifikációja
Modellezési nyelvek felépítése
Konkrét szintakszis
Domain és Diagram
Absztrakt szintakszis metamodell (VPM)
Jólformáltsági kényszerek
Dinamikus szemantika
Di ik tik
Modell-
Modellezési nyelvek integrációja transzformáció
(GT+ASM)
Modelltranszformációk
Kódgenerálás
13. Dinamikus szemantika
Gráftranszformációs szabály
Baloldal Jobboldal
Él Él Él Él
Hely Tranz. Hely Hely Tranz. Hely
tokenek tokenek
Token Token
Chomsky nyelvtanok általánosítása
szöveges minta gráfminta
Alkalmazás: baloldalt a jobboldalra cseréli
Gráfmintaillesztés
Akciók: Törlés + Létrehozás
14. Új eredmények:
Gráftranszformáció
Baloldal Jobboldal
[
Él ]
[Él] Él ]
[
[Él] [
Él ]
[Él] Él ]
[
[Él]
[Hely]
Hely [Tranz.]
Tranz. [Hely]
Hely [Hely]
Hely [Tranz.]
Tranz. [Hely]
Hely
[tokenek]
tokenek [tokenek]
tokenek
[Token]
[Token] [Token]
[Token]
Interpreter alapú gráftranszformációs eszköz
Generikus minták: típusváltozók kezelése
Rekurzív minták: visszahívható minták
Lokális keresésen alapuló mintaillesztési algoritmus
p g
Tüzelési szabály szimuláció a szerkesztőben
15. Esettanulmány
1. Jólformáltsági kényszerek definiálása
kapacitáskorlát ellenőrzése:
2 GT szabály y
2. Szimulációs transzformáció definiálása
tüzelés: 4 GT szabály
3. Kódgenerátor transzformáció definiálása
Petri Net Markup Language generátor:
6 GT szabály y
16.
17. Utóélet
Több nézőpontú modellezés
Absztrakt-konkrét szintakszis közötti
kétirányú leképezés
Nyelv-specifikus kényszerek kezelése
20. Absztrakt-konkrét szintakszis
megfeleltetése
Logikai modell Diagram
h0
p
p0 : Hely
y
:token :token :token 3
VIATRA2
t0:Token t1:Token t2:Token
Modell
transzformációk
Logikai modell Diagram modell Diagram
:model
p0 : Hely _p0 : HelyRajz h0
:token :token :token :attribútum
3
t0:Token t1:Token t2:Token tokenSzám
:Attribútum
21. Elméleti eredmények
Domain specifikus modellezési nyelvek
Grafikus szerkesztőinek automatizált előállítása
Deklaratív specifikáció
Szerkesztők automatikus származtatása
S k tők t tik á t tá
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
22. Gyakorlati eredmények
Implementáció:
VIATRA2 modelltranszformációs rendszer:
18 emberhónap
b hó
ViatraDSM keretrendszer:
5 emberhónap
Eclipse 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
y
nyert
Önálló laboratórium: nyelv-specifikus kényszerek kezelése
Workshop cikk: I. Ráth, D. Varró: Challenges for advanced domain-
specific frameworks. European Conference on Object-Oriented
p p j
Programming. July 3-7, Nantes, France.