28
Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben Ráth István [email protected]

Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben

Embed Size (px)

DESCRIPTION

PhD disszertáció téziseinek előzetes bemutatója. BME-MIT tanszéki értekezlet, 2010. 02.03.

Citation preview

Page 1: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben

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

[email protected]

Page 2: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben

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

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

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

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

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

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

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

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

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

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

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
Page 14: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben

Egy jobb architektúra

Page 15: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben

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

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
Page 18: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben

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

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

“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

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

A háttérben: inkrementális gráfmintaillesztés

Page 23: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben

Formalizmus: gráftriggerek

Page 24: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben

Végrehajtás

Page 25: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben

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

Eseményvezérelt szinkronizáció

!"# !$#

!"%#

&'()*+#

!$%#

,(-*+.#/01-&+#

Page 27: Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben

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

Köszönöm szépen a figyelmet!