Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Transzformációk integrált
alkalmazása a
modellvezérelt
szoftverfejlesztésben
Ráth István
rath@mit.bme.hu
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)
Domain-specifikus nyelvek
                        !"#$%!&                           !"#$%!&                           !"#$%!&

                 !"#$%&'(                          !"#$%&'(                          !"#$%&'(
         4&                                4&                                4&
               '&()*&                            '&()*&                            '&()*&
   !"                                !"                                !"
/$0$123)"&                        /$0$123)"&                        /$0$123)"&


              +)%,&     -.&                     +)%,&     -.&                     +)%,&     -.&




    Metamodell =                      elemkészlet                   + szabályok
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
Modell-vezérelt fejlesztés
                              Visszafejtés (RE),
                                 modellezés
                                                               Platform
              Platform                                        független
             független                                          modell
               modell




                                  Beágyazott                   Platform
 CORBA             J2EE
                                   platform                   specifikus
 modell            modell
                                    modell                      modell




  CORBA             J2EE          Beágyazott       Öröklött      Kész
alkalmazás       alkalmazás       alkalmazás         kód      alkalmazás
DSM⊆MDA
                                                   Modellezés
  PIM                                           (re-engineering)

                                                               Szakterületi
                                                                modellek


                          Szakterületi
                           modellek
                              Beágyazott                           Platform
 CORBA         J2EE
                                platform                           generátor
 modell        modell
                                 modell                             modell




  CORBA         J2EE           Beágyazott   Öröklött              Kész
alkalmazás   alkalmazás        alkalmazás     kód              alkalmazás
DSM-alapú fejlesztési
folyamatok
    Specifikáció =          Iteratív fejlesztés
 analitikus modellezés   (generatív technikák)

    Eszközkészlet
    prototipizálás
Nyelvfejlesztés

      Jólformáltsági Konkrét
       kényszerek szintaxis

                 Absztrakt Kódgenerátorok
                 szintaxis
    Dinamikus
    modellezés

                       Nyelvközi
                     leképezések
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ó
...
Javaslat
 Transzformációk integrált alkalmazása
   a nyelvtervezés hatékony támogatására




            DSML1     DSML2       DSMLn

         Domain-specifikus nyelvi környezet
         Modelltranszformációs keretrendszer
Több nézet, egységes
modelltér  A nyelv (domain)                     B nyelv (domain)




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



                          Többnyelv! modellek
Absztrakt-konkrét szintaxis


 Probléma:
  bonyolultság, kötött szabályok
Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben
Egy jobb architektúra
Jólformáltsági kényszerek


 Probléma: on-the-fly kiértékelés, azonnali visszajelzés
 Formalizmus: OCL, ...
 Hogyan lehet hatékonyan?
Kényszerek→inkrementális
transzformációk


Javaslat: kényszerkielégítés szisztematikus
visszavezetése speciális inkrementális
modelltranszformációkra.
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.
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.
“on-the-fly” animáció
Tetszőleges szerkesztési lépések is megengedettek
  a szimuláció futása közben!
Technológiai háttér:
eseményvezérelt
modelltranszformációk
A háttérben: inkrementális
gráfmintaillesztés
Formalizmus: gráftriggerek
Végrehajtás
Inkrementális kódgenerálás,
modell-kód szinkronizáció
Eseményvezérelt
szinkronizáció
           /01-&+#   ,(-*+.#


            !"#       !$#



 &'()*+#



            !"%#      !$%#
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
Köszönöm szépen a figyelmet!

More Related Content

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