SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
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
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
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
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?
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
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
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)
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
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
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
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
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
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
Ú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
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
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
Több nézőpontú modellezés

   A nyelv (domain)                     B nyelv (domain)




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



                  Többnyelvű modellek
Több nézőpontú modellezés
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
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
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.

Weitere ähnliche Inhalte

Mehr von 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
 
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
 
The SENSORIA Development Environment
The SENSORIA Development EnvironmentThe SENSORIA Development Environment
The SENSORIA Development EnvironmentIstvan 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
 
Domain-specifikus nyelvek a fejlesztésben
Domain-specifikus nyelvek a fejlesztésbenDomain-specifikus nyelvek a fejlesztésben
Domain-specifikus nyelvek a fejlesztésbenIstvan 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
 

Mehr von 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
 
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
 
The SENSORIA Development Environment
The SENSORIA Development EnvironmentThe SENSORIA Development Environment
The SENSORIA Development Environment
 
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
 
Domain-specifikus nyelvek a fejlesztésben
Domain-specifikus nyelvek a fejlesztésbenDomain-specifikus nyelvek a fejlesztésben
Domain-specifikus nyelvek a fejlesztésben
 
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
 

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
  • 18. Több nézőpontú modellezés A nyelv (domain) B nyelv (domain) <<A>> <<A,B>> <<B>> Többnyelvű modellek
  • 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.