Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben
-
Upload
istvan-rath -
Category
Technology
-
view
272 -
download
0
description
Transcript of Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben
![Page 1: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben](https://reader033.fdocuments.net/reader033/viewer/2022060111/556223c8d8b42ac6588b4d14/html5/thumbnails/1.jpg)
Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésbenRáth István
![Page 2: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben](https://reader033.fdocuments.net/reader033/viewer/2022060111/556223c8d8b42ac6588b4d14/html5/thumbnails/2.jpg)
A grafikus nyelvek...
• mindenhol ott vannak:– Grafikus felületek (Visual Studio)– Relációs sémák (dbdesign)– Web layout (Dreamweaver)– UML eszközök (Rational)– Üzleti folyamat modellezés (Oracle BPEL designer)
• Mi tesz egy nyelvet nyelvvé?– elemek („mit rajzolhatunk?”)– szabályok („hogyan rajzolhatunk?”)
• Miért jó egy ilyen nyelv?– Alkalmazkodik a célterülethez (kifejezésbeli értelemben)– … és a felhasználóhoz is („intuitív” megjelenés)
![Page 3: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben](https://reader033.fdocuments.net/reader033/viewer/2022060111/556223c8d8b42ac6588b4d14/html5/thumbnails/3.jpg)
Domain-specifikus nyelvek
!"#$%&'(
!"#$%!&
'&()*&
+)%,& -.&
/$0$123)"&!"
4&
!"#$%&'(
!"#$%!&
'&()*&
+)%,& -.&
/$0$123)"&!"
4&
!"#$%&'(
!"#$%!&
'&()*&
+)%,& -.&
/$0$123)"&!"
4&
Metamodell = szabályokelemkészlet +
![Page 4: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben](https://reader033.fdocuments.net/reader033/viewer/2022060111/556223c8d8b42ac6588b4d14/html5/thumbnails/4.jpg)
Domain-specifikus nyelvek
DSML= metamodell + további szabályok
Okos editorral ezeket be lehet tartatni,
a felhasználó csak „helyes” modelleket rajzolhat.
De: helyes != értelmes
![Page 5: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben](https://reader033.fdocuments.net/reader033/viewer/2022060111/556223c8d8b42ac6588b4d14/html5/thumbnails/5.jpg)
Modell-vezérelt fejlesztés
Platform független
modell
CORBA modell
J2EE modell
Beágyazott platform modell
CORBA alkalmazás
J2EE alkalmazás
Beágyazott alkalmazás
Öröklött kód
Visszafejtés (RE), modellezés
Platform független
modell
Platform specifikus
modell
Kész alkalmazás
![Page 6: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben](https://reader033.fdocuments.net/reader033/viewer/2022060111/556223c8d8b42ac6588b4d14/html5/thumbnails/6.jpg)
DSM⊆MDA
CORBA modell
J2EE modell
Beágyazott platform modell
CORBA alkalmazás
J2EE alkalmazás
Beágyazott alkalmazás
Szakterületi modellek
Platform generátor
modell
Kész alkalmazás
PIM
Öröklött kód
Modellezés (re-engineering)
Szakterületi modellek
![Page 7: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben](https://reader033.fdocuments.net/reader033/viewer/2022060111/556223c8d8b42ac6588b4d14/html5/thumbnails/7.jpg)
DSM-alapú fejlesztési folyamatok
Specifikáció = analitikus modellezés
Eszközkészlet prototipizálás
Iteratív fejlesztés(generatív technikák)
![Page 8: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben](https://reader033.fdocuments.net/reader033/viewer/2022060111/556223c8d8b42ac6588b4d14/html5/thumbnails/8.jpg)
Nyelvfejlesztés
Konkrétszintaxis
Jólformáltsági kényszerek
Dinamikus modellezés
Nyelvközi leképezések
KódgenerátorokAbsztraktszintaxis
![Page 9: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben](https://reader033.fdocuments.net/reader033/viewer/2022060111/556223c8d8b42ac6588b4d14/html5/thumbnails/9.jpg)
Problémák, kihívások
absztrakt-konkrét szintaxis kapcsolata
jólformáltsági kényszerek hatékony kiértékelése
dinamikus modellezés, animáció integrált megvalósítása
inkrementális kódgenerálás, modell-kód szinkronizáció
...
![Page 10: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben](https://reader033.fdocuments.net/reader033/viewer/2022060111/556223c8d8b42ac6588b4d14/html5/thumbnails/10.jpg)
Javaslat
Transzformációk integrált alkalmazása
a nyelvtervezés hatékony támogatására
Modelltranszformációs keretrendszerDomain-specifikus nyelvi környezet
DSML1 DSML2 DSMLn
![Page 11: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben](https://reader033.fdocuments.net/reader033/viewer/2022060111/556223c8d8b42ac6588b4d14/html5/thumbnails/11.jpg)
Több nézet, egységes modelltér
<<A>>
<<A,B>> <<B>>
A nyelv (domain) B nyelv (domain)
Többnyelv! modellek
![Page 12: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben](https://reader033.fdocuments.net/reader033/viewer/2022060111/556223c8d8b42ac6588b4d14/html5/thumbnails/12.jpg)
Absztrakt-konkrét szintaxis
Probléma:
bonyolultság, kötött szabályok
![Page 13: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben](https://reader033.fdocuments.net/reader033/viewer/2022060111/556223c8d8b42ac6588b4d14/html5/thumbnails/13.jpg)
![Page 14: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben](https://reader033.fdocuments.net/reader033/viewer/2022060111/556223c8d8b42ac6588b4d14/html5/thumbnails/14.jpg)
Egy jobb architektúra
![Page 15: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben](https://reader033.fdocuments.net/reader033/viewer/2022060111/556223c8d8b42ac6588b4d14/html5/thumbnails/15.jpg)
Jólformáltsági kényszerek
Probléma: on-the-fly kiértékelés, azonnali visszajelzés
Formalizmus: OCL, ...
Hogyan lehet hatékonyan?
![Page 16: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben](https://reader033.fdocuments.net/reader033/viewer/2022060111/556223c8d8b42ac6588b4d14/html5/thumbnails/16.jpg)
Kényszerek→inkrementális transzformációk
Javaslat: kényszerkielégítés szisztematikus visszavezetése speciális inkrementális modelltranszformációkra.
![Page 17: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben](https://reader033.fdocuments.net/reader033/viewer/2022060111/556223c8d8b42ac6588b4d14/html5/thumbnails/17.jpg)
![Page 18: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben](https://reader033.fdocuments.net/reader033/viewer/2022060111/556223c8d8b42ac6588b4d14/html5/thumbnails/18.jpg)
Dinamikus modellezés
Cél: diszkrét szimuláció-animáció
az állapotot diszkrét időben értékeljük ki
Pl. állapot térképek, Petri hálók, DFN, Kripke automaták…
Operációs szemantika
Egy állapotátmenet végrehajtásának leírása a nyelv saját kontextusában.
Denotációs szemantika
Leképezés egy, már ismert operációs szemantikájú formalizmusra.
![Page 19: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben](https://reader033.fdocuments.net/reader033/viewer/2022060111/556223c8d8b42ac6588b4d14/html5/thumbnails/19.jpg)
Animáció→inkrementális modelltranszformáció
Denotációs megközelítés
Szimulációs lépések leírása valamely modelltranszformációs nyelven.
Leírás
Metamodell
Szimulációs lépések (szabályok)
Szabályok leírása
Engedélyezettségi feltétel: milyen lokális állapotban tüzelhető a szabály? (kontextus)
Végrehajtás: elemi műveletek sorozata.
![Page 20: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben](https://reader033.fdocuments.net/reader033/viewer/2022060111/556223c8d8b42ac6588b4d14/html5/thumbnails/20.jpg)
“on-the-fly” animáció
Tetszőleges szerkesztési lépések is megengedettek
a szimuláció futása közben!
![Page 21: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben](https://reader033.fdocuments.net/reader033/viewer/2022060111/556223c8d8b42ac6588b4d14/html5/thumbnails/21.jpg)
Technológiai háttér: eseményvezérelt modelltranszformációk
![Page 22: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben](https://reader033.fdocuments.net/reader033/viewer/2022060111/556223c8d8b42ac6588b4d14/html5/thumbnails/22.jpg)
A háttérben: inkrementális gráfmintaillesztés
![Page 23: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben](https://reader033.fdocuments.net/reader033/viewer/2022060111/556223c8d8b42ac6588b4d14/html5/thumbnails/23.jpg)
Formalizmus: gráftriggerek
![Page 24: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben](https://reader033.fdocuments.net/reader033/viewer/2022060111/556223c8d8b42ac6588b4d14/html5/thumbnails/24.jpg)
Végrehajtás
![Page 25: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben](https://reader033.fdocuments.net/reader033/viewer/2022060111/556223c8d8b42ac6588b4d14/html5/thumbnails/25.jpg)
Inkrementális kódgenerálás, modell-kód szinkronizáció
![Page 26: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben](https://reader033.fdocuments.net/reader033/viewer/2022060111/556223c8d8b42ac6588b4d14/html5/thumbnails/26.jpg)
Eseményvezérelt szinkronizáció
!"# !$#
!"%#
&'()*+#
!$%#
,(-*+.#/01-&+#
![Page 27: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben](https://reader033.fdocuments.net/reader033/viewer/2022060111/556223c8d8b42ac6588b4d14/html5/thumbnails/27.jpg)
Az eredmények hasznosítása
VIATRA2 projekt
EU kutatási projektek
transzformációk: SENSORIA
eszközintegráció: SENSORIA, MOGENTES (, DIANA)
nemzetközi kooperáció: VoIP hálózatok sztochasztikus szimulációja (ULE)
oktatás
Eclipse-es szakmai választható tárgyak (BSc, MSc) (eclipse.inf.mit.bme.hu)
MSc szakiránytárgy: Modellvezérelt rendszertervezés (modeling.inf.mit.bme.hu)
MIT-AUT kooperációban szakmai választható tárgy: Modellvezérelt szoftverfejlesztés
![Page 28: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben](https://reader033.fdocuments.net/reader033/viewer/2022060111/556223c8d8b42ac6588b4d14/html5/thumbnails/28.jpg)
Köszönöm szépen a figyelmet!