SlideShare a Scribd company logo
1 of 28
Download to read offline
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
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.
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

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

BME - Szakdolgozat (2014)
BME - Szakdolgozat (2014)BME - Szakdolgozat (2014)
BME - Szakdolgozat (2014)Csaba Szabó
 
Domain-specifikus modellezési nyelvek automatikus transzformációi
Domain-specifikus modellezési nyelvek automatikus transzformációiDomain-specifikus modellezési nyelvek automatikus transzformációi
Domain-specifikus modellezési nyelvek automatikus transzformációiIstvan Rath
 
Multiplatform mobil fejlesztések
Multiplatform mobil fejlesztésekMultiplatform mobil fejlesztések
Multiplatform mobil fejlesztésekOpen Academy
 
Csonka enikő alkalmazási élmény bemutatása
Csonka enikő alkalmazási élmény bemutatásaCsonka enikő alkalmazási élmény bemutatása
Csonka enikő alkalmazási élmény bemutatásaPOLYGON Informatikai Kft.
 
Objektum-orinetált mérések a gyakorlatban
Objektum-orinetált mérések a gyakorlatbanObjektum-orinetált mérések a gyakorlatban
Objektum-orinetált mérések a gyakorlatbanAntal Orcsik
 
Dr. Ekler Péter: A mobilszoftver két értéke – legjobb gyakorlatok és újdonság...
Dr. Ekler Péter: A mobilszoftver két értéke – legjobb gyakorlatok és újdonság...Dr. Ekler Péter: A mobilszoftver két értéke – legjobb gyakorlatok és újdonság...
Dr. Ekler Péter: A mobilszoftver két értéke – legjobb gyakorlatok és újdonság...Mobil Weekend
 
Android fejlesztés
Android fejlesztésAndroid fejlesztés
Android fejlesztésOpen Academy
 
Cross Platform mobil app fejlesztés HTML5 JavaScript alapokon
Cross Platform mobil app fejlesztés HTML5 JavaScript alapokonCross Platform mobil app fejlesztés HTML5 JavaScript alapokon
Cross Platform mobil app fejlesztés HTML5 JavaScript alapokoneRise
 
Kottaszerkesztő szoftver fejlesztése Eclipse alapokon - Diplomavédés
Kottaszerkesztő szoftver fejlesztése Eclipse alapokon - DiplomavédésKottaszerkesztő szoftver fejlesztése Eclipse alapokon - Diplomavédés
Kottaszerkesztő szoftver fejlesztése Eclipse alapokon - DiplomavédésDénes Harmath
 
Univerzalis Entitas Kezeles - Laravel
Univerzalis Entitas Kezeles - LaravelUniverzalis Entitas Kezeles - Laravel
Univerzalis Entitas Kezeles - LaravelPeter Perger
 
LESS, mint css preprocessor
LESS, mint css preprocessorLESS, mint css preprocessor
LESS, mint css preprocessorLevente Kiraly
 
PHP alapú keretrendszerek összehasonlítása - védés bemutató
PHP alapú keretrendszerek összehasonlítása - védés bemutatóPHP alapú keretrendszerek összehasonlítása - védés bemutató
PHP alapú keretrendszerek összehasonlítása - védés bemutatóAndras Rutkai
 
Enterprise java evolució, avagy java ee (
Enterprise java evolució, avagy java ee (Enterprise java evolució, avagy java ee (
Enterprise java evolució, avagy java ee (Attila Balogh-Biró
 
Enterprise java evolució, avagy java ee (
Enterprise java evolució, avagy java ee (Enterprise java evolució, avagy java ee (
Enterprise java evolució, avagy java ee (Attila Balogh-Biró
 
Szerver oldali fejlesztés korszerű módszerekkel C# nyelven
Szerver oldali fejlesztés korszerű módszerekkel C# nyelvenSzerver oldali fejlesztés korszerű módszerekkel C# nyelven
Szerver oldali fejlesztés korszerű módszerekkel C# nyelvenKrisztián Gyula Tóth
 
Hogy kerül a csizma az asztalra?
Hogy kerül a csizma az asztalra?Hogy kerül a csizma az asztalra?
Hogy kerül a csizma az asztalra?Open Academy
 

Similar to Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben (17)

BME - Szakdolgozat (2014)
BME - Szakdolgozat (2014)BME - Szakdolgozat (2014)
BME - Szakdolgozat (2014)
 
Domain-specifikus modellezési nyelvek automatikus transzformációi
Domain-specifikus modellezési nyelvek automatikus transzformációiDomain-specifikus modellezési nyelvek automatikus transzformációi
Domain-specifikus modellezési nyelvek automatikus transzformációi
 
Multiplatform mobil fejlesztések
Multiplatform mobil fejlesztésekMultiplatform mobil fejlesztések
Multiplatform mobil fejlesztések
 
Csonka enikő alkalmazási élmény bemutatása
Csonka enikő alkalmazási élmény bemutatásaCsonka enikő alkalmazási élmény bemutatása
Csonka enikő alkalmazási élmény bemutatása
 
Windows 8
Windows 8Windows 8
Windows 8
 
Objektum-orinetált mérések a gyakorlatban
Objektum-orinetált mérések a gyakorlatbanObjektum-orinetált mérések a gyakorlatban
Objektum-orinetált mérések a gyakorlatban
 
Dr. Ekler Péter: A mobilszoftver két értéke – legjobb gyakorlatok és újdonság...
Dr. Ekler Péter: A mobilszoftver két értéke – legjobb gyakorlatok és újdonság...Dr. Ekler Péter: A mobilszoftver két értéke – legjobb gyakorlatok és újdonság...
Dr. Ekler Péter: A mobilszoftver két értéke – legjobb gyakorlatok és újdonság...
 
Android fejlesztés
Android fejlesztésAndroid fejlesztés
Android fejlesztés
 
Cross Platform mobil app fejlesztés HTML5 JavaScript alapokon
Cross Platform mobil app fejlesztés HTML5 JavaScript alapokonCross Platform mobil app fejlesztés HTML5 JavaScript alapokon
Cross Platform mobil app fejlesztés HTML5 JavaScript alapokon
 
Kottaszerkesztő szoftver fejlesztése Eclipse alapokon - Diplomavédés
Kottaszerkesztő szoftver fejlesztése Eclipse alapokon - DiplomavédésKottaszerkesztő szoftver fejlesztése Eclipse alapokon - Diplomavédés
Kottaszerkesztő szoftver fejlesztése Eclipse alapokon - Diplomavédés
 
Univerzalis Entitas Kezeles - Laravel
Univerzalis Entitas Kezeles - LaravelUniverzalis Entitas Kezeles - Laravel
Univerzalis Entitas Kezeles - Laravel
 
LESS, mint css preprocessor
LESS, mint css preprocessorLESS, mint css preprocessor
LESS, mint css preprocessor
 
PHP alapú keretrendszerek összehasonlítása - védés bemutató
PHP alapú keretrendszerek összehasonlítása - védés bemutatóPHP alapú keretrendszerek összehasonlítása - védés bemutató
PHP alapú keretrendszerek összehasonlítása - védés bemutató
 
Enterprise java evolució, avagy java ee (
Enterprise java evolució, avagy java ee (Enterprise java evolució, avagy java ee (
Enterprise java evolució, avagy java ee (
 
Enterprise java evolució, avagy java ee (
Enterprise java evolució, avagy java ee (Enterprise java evolució, avagy java ee (
Enterprise java evolució, avagy java ee (
 
Szerver oldali fejlesztés korszerű módszerekkel C# nyelven
Szerver oldali fejlesztés korszerű módszerekkel C# nyelvenSzerver oldali fejlesztés korszerű módszerekkel C# nyelven
Szerver oldali fejlesztés korszerű módszerekkel C# nyelven
 
Hogy kerül a csizma az asztalra?
Hogy kerül a csizma az asztalra?Hogy kerül a csizma az asztalra?
Hogy kerül a csizma az asztalra?
 

More from Istvan Rath

Cloud-based Modelling Solutions Empowering Tool Integration
Cloud-based Modelling Solutions Empowering Tool IntegrationCloud-based Modelling Solutions Empowering Tool Integration
Cloud-based Modelling Solutions Empowering Tool IntegrationIstvan Rath
 
Cloud-based Modelling Solutions Empowering Tool Integration
Cloud-based Modelling Solutions Empowering Tool IntegrationCloud-based Modelling Solutions Empowering Tool Integration
Cloud-based Modelling Solutions Empowering Tool IntegrationIstvan Rath
 
MBSE meets Industrial IoT: Introducing the New MagicDraw Plug-in for RTI Co...
MBSE meets Industrial IoT: Introducing the New MagicDraw Plug-in for RTI Co...MBSE meets Industrial IoT: Introducing the New MagicDraw Plug-in for RTI Co...
MBSE meets Industrial IoT: Introducing the New MagicDraw Plug-in for RTI Co...Istvan Rath
 
IncQuery Server for Teamwork Cloud - Talk at IW2019
IncQuery Server for Teamwork Cloud - Talk at IW2019IncQuery Server for Teamwork Cloud - Talk at IW2019
IncQuery Server for Teamwork Cloud - Talk at IW2019Istvan Rath
 
VIATRA 2.0 Webinar
VIATRA 2.0 WebinarVIATRA 2.0 Webinar
VIATRA 2.0 WebinarIstvan Rath
 
Easier smart home development with simulators and rule engines
Easier smart home development with simulators and rule enginesEasier smart home development with simulators and rule engines
Easier smart home development with simulators and rule enginesIstvan Rath
 
Eclipse VIATRA Overview 2017
Eclipse VIATRA Overview 2017Eclipse VIATRA Overview 2017
Eclipse VIATRA Overview 2017Istvan Rath
 
Smarter internet of things with stream and event processing virtual io_t_meet...
Smarter internet of things with stream and event processing virtual io_t_meet...Smarter internet of things with stream and event processing virtual io_t_meet...
Smarter internet of things with stream and event processing virtual io_t_meet...Istvan Rath
 
Modes3: Model-based Demonstrator for Smart and Safe Systems
Modes3: Model-based Demonstrator for Smart and Safe SystemsModes3: Model-based Demonstrator for Smart and Safe Systems
Modes3: Model-based Demonstrator for Smart and Safe SystemsIstvan Rath
 
Eclipse DemoCamp Budapest 2016 November: Best of EclipseCon Europe 2016
Eclipse DemoCamp Budapest 2016 November: Best of EclipseCon Europe 2016Eclipse DemoCamp Budapest 2016 November: Best of EclipseCon Europe 2016
Eclipse DemoCamp Budapest 2016 November: Best of EclipseCon Europe 2016Istvan Rath
 
Exploring the Future of Eclipse Modeling: Web and Semantic Collaboration
Exploring the Future of Eclipse Modeling: Web and Semantic CollaborationExploring the Future of Eclipse Modeling: Web and Semantic Collaboration
Exploring the Future of Eclipse Modeling: Web and Semantic CollaborationIstvan Rath
 
Okosabb Internet of Things rendszerek komplex eseményfeldolgozás alkalmazásával
Okosabb Internet of Things rendszerek komplex eseményfeldolgozás alkalmazásával Okosabb Internet of Things rendszerek komplex eseményfeldolgozás alkalmazásával
Okosabb Internet of Things rendszerek komplex eseményfeldolgozás alkalmazásával Istvan Rath
 
IoT Supercharged: Complex event processing for MQTT with Eclipse technologies
IoT Supercharged: Complex event processing for MQTT with Eclipse technologiesIoT Supercharged: Complex event processing for MQTT with Eclipse technologies
IoT Supercharged: Complex event processing for MQTT with Eclipse technologiesIstvan Rath
 
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worldsmbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
mbeddr meets IncQuer - Combining the Best Features of Two Modeling WorldsIstvan Rath
 
Xcore meets IncQuery: How the New Generation of DSLs are Made
Xcore meets IncQuery: How the New Generation of DSLs are MadeXcore meets IncQuery: How the New Generation of DSLs are Made
Xcore meets IncQuery: How the New Generation of DSLs are MadeIstvan Rath
 
EMF-IncQuery 0.7 Presentation for Itemis
EMF-IncQuery 0.7 Presentation for ItemisEMF-IncQuery 0.7 Presentation for Itemis
EMF-IncQuery 0.7 Presentation for ItemisIstvan Rath
 
Event-driven Model Transformations in Domain-specific Modeling Languages
Event-driven Model Transformations in Domain-specific Modeling LanguagesEvent-driven Model Transformations in Domain-specific Modeling Languages
Event-driven Model Transformations in Domain-specific Modeling LanguagesIstvan Rath
 
Challenges for advanced domain-specific frameworks
Challenges for advanced domain-specific frameworksChallenges for advanced domain-specific frameworks
Challenges for advanced domain-specific frameworksIstvan Rath
 
Change-driven model transformations
Change-driven model transformationsChange-driven model transformations
Change-driven model transformationsIstvan Rath
 
Incremental pattern matching in the VIATRA2 model transformation framework
Incremental pattern matching in the VIATRA2 model transformation frameworkIncremental pattern matching in the VIATRA2 model transformation framework
Incremental pattern matching in the VIATRA2 model transformation frameworkIstvan Rath
 

More from Istvan Rath (20)

Cloud-based Modelling Solutions Empowering Tool Integration
Cloud-based Modelling Solutions Empowering Tool IntegrationCloud-based Modelling Solutions Empowering Tool Integration
Cloud-based Modelling Solutions Empowering Tool Integration
 
Cloud-based Modelling Solutions Empowering Tool Integration
Cloud-based Modelling Solutions Empowering Tool IntegrationCloud-based Modelling Solutions Empowering Tool Integration
Cloud-based Modelling Solutions Empowering Tool Integration
 
MBSE meets Industrial IoT: Introducing the New MagicDraw Plug-in for RTI Co...
MBSE meets Industrial IoT: Introducing the New MagicDraw Plug-in for RTI Co...MBSE meets Industrial IoT: Introducing the New MagicDraw Plug-in for RTI Co...
MBSE meets Industrial IoT: Introducing the New MagicDraw Plug-in for RTI Co...
 
IncQuery Server for Teamwork Cloud - Talk at IW2019
IncQuery Server for Teamwork Cloud - Talk at IW2019IncQuery Server for Teamwork Cloud - Talk at IW2019
IncQuery Server for Teamwork Cloud - Talk at IW2019
 
VIATRA 2.0 Webinar
VIATRA 2.0 WebinarVIATRA 2.0 Webinar
VIATRA 2.0 Webinar
 
Easier smart home development with simulators and rule engines
Easier smart home development with simulators and rule enginesEasier smart home development with simulators and rule engines
Easier smart home development with simulators and rule engines
 
Eclipse VIATRA Overview 2017
Eclipse VIATRA Overview 2017Eclipse VIATRA Overview 2017
Eclipse VIATRA Overview 2017
 
Smarter internet of things with stream and event processing virtual io_t_meet...
Smarter internet of things with stream and event processing virtual io_t_meet...Smarter internet of things with stream and event processing virtual io_t_meet...
Smarter internet of things with stream and event processing virtual io_t_meet...
 
Modes3: Model-based Demonstrator for Smart and Safe Systems
Modes3: Model-based Demonstrator for Smart and Safe SystemsModes3: Model-based Demonstrator for Smart and Safe Systems
Modes3: Model-based Demonstrator for Smart and Safe Systems
 
Eclipse DemoCamp Budapest 2016 November: Best of EclipseCon Europe 2016
Eclipse DemoCamp Budapest 2016 November: Best of EclipseCon Europe 2016Eclipse DemoCamp Budapest 2016 November: Best of EclipseCon Europe 2016
Eclipse DemoCamp Budapest 2016 November: Best of EclipseCon Europe 2016
 
Exploring the Future of Eclipse Modeling: Web and Semantic Collaboration
Exploring the Future of Eclipse Modeling: Web and Semantic CollaborationExploring the Future of Eclipse Modeling: Web and Semantic Collaboration
Exploring the Future of Eclipse Modeling: Web and Semantic Collaboration
 
Okosabb Internet of Things rendszerek komplex eseményfeldolgozás alkalmazásával
Okosabb Internet of Things rendszerek komplex eseményfeldolgozás alkalmazásával Okosabb Internet of Things rendszerek komplex eseményfeldolgozás alkalmazásával
Okosabb Internet of Things rendszerek komplex eseményfeldolgozás alkalmazásával
 
IoT Supercharged: Complex event processing for MQTT with Eclipse technologies
IoT Supercharged: Complex event processing for MQTT with Eclipse technologiesIoT Supercharged: Complex event processing for MQTT with Eclipse technologies
IoT Supercharged: Complex event processing for MQTT with Eclipse technologies
 
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worldsmbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
 
Xcore meets IncQuery: How the New Generation of DSLs are Made
Xcore meets IncQuery: How the New Generation of DSLs are MadeXcore meets IncQuery: How the New Generation of DSLs are Made
Xcore meets IncQuery: How the New Generation of DSLs are Made
 
EMF-IncQuery 0.7 Presentation for Itemis
EMF-IncQuery 0.7 Presentation for ItemisEMF-IncQuery 0.7 Presentation for Itemis
EMF-IncQuery 0.7 Presentation for Itemis
 
Event-driven Model Transformations in Domain-specific Modeling Languages
Event-driven Model Transformations in Domain-specific Modeling LanguagesEvent-driven Model Transformations in Domain-specific Modeling Languages
Event-driven Model Transformations in Domain-specific Modeling Languages
 
Challenges for advanced domain-specific frameworks
Challenges for advanced domain-specific frameworksChallenges for advanced domain-specific frameworks
Challenges for advanced domain-specific frameworks
 
Change-driven model transformations
Change-driven model transformationsChange-driven model transformations
Change-driven model transformations
 
Incremental pattern matching in the VIATRA2 model transformation framework
Incremental pattern matching in the VIATRA2 model transformation frameworkIncremental pattern matching in the VIATRA2 model transformation framework
Incremental pattern matching in the VIATRA2 model transformation framework
 

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