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
Domain-specifikus modellezési nyelvek automatikus transzformációi
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.

More Related Content

PDF
PAFO 13
PPS
家庭好植物
PPTX
ORCID Use Cases from the CDL
PDF
Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben
PPTX
Xcore meets IncQuery: How the New Generation of DSLs are Made
PDF
A benchmark evaluation for incremental pattern matching in graph transformation
PDF
Acta no. 5 (18 marzo 2011)
PPTX
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
PAFO 13
家庭好植物
ORCID Use Cases from the CDL
Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben
Xcore meets IncQuery: How the New Generation of DSLs are Made
A benchmark evaluation for incremental pattern matching in graph transformation
Acta no. 5 (18 marzo 2011)
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds

Similar to Domain-specifikus modellezési nyelvek automatikus transzformációi (20)

PDF
Fehér Péter - Az üzleti és ICT architektúra kapcsolatáról
PDF
ADONIS áttekintés
PDF
Forráskódtárak gráfalapú statikus analízise
PPTX
Ontológia- és kompetencia alapú tanulás
PDF
Gábor András - A szabályozások hatásának vizualizációja a publikus fórumok st...
PPTX
A szabályozások hatásának vizualizációja a publikus fórumok statisztikai elem...
PDF
Nagyméretű forráskódtárak inkrementális statikus analízise
PPSX
POZITEAM Bővített Műhely V-Learning Technológiák a Tudásmenedzsmentben
PDF
It3 4 4 7 2
PDF
Ambrus Attila József: Egy könyv születése (folyamatábrával)
PDF
Egy könyv születése (Folyamatábra készítése)
DOC
A.5 tudasbazisok
PPT
Rft1
PDF
Algorithms
PDF
A Redis lehetőségei
PPT
„Policy Modelling” társadalmi innováció kontextusában - MKT Vándorgyűlés
PDF
Domain-specifikus nyelvek a fejlesztésben
PDF
Gábor András: Policy Modelling a társadalmi innováció kontextusában
PPTX
2010/04/28 IK Szakest, Ágens-alapú szimulációk
PPT
Fables - Funkcionális programozási nyelv ágens-alapú szimulációkhoz
Fehér Péter - Az üzleti és ICT architektúra kapcsolatáról
ADONIS áttekintés
Forráskódtárak gráfalapú statikus analízise
Ontológia- és kompetencia alapú tanulás
Gábor András - A szabályozások hatásának vizualizációja a publikus fórumok st...
A szabályozások hatásának vizualizációja a publikus fórumok statisztikai elem...
Nagyméretű forráskódtárak inkrementális statikus analízise
POZITEAM Bővített Műhely V-Learning Technológiák a Tudásmenedzsmentben
It3 4 4 7 2
Ambrus Attila József: Egy könyv születése (folyamatábrával)
Egy könyv születése (Folyamatábra készítése)
A.5 tudasbazisok
Rft1
Algorithms
A Redis lehetőségei
„Policy Modelling” társadalmi innováció kontextusában - MKT Vándorgyűlés
Domain-specifikus nyelvek a fejlesztésben
Gábor András: Policy Modelling a társadalmi innováció kontextusában
2010/04/28 IK Szakest, Ágens-alapú szimulációk
Fables - Funkcionális programozási nyelv ágens-alapú szimulációkhoz
Ad

More from Istvan Rath (20)

PDF
Cloud-based Modelling Solutions Empowering Tool Integration
PPTX
Cloud-based Modelling Solutions Empowering Tool Integration
PPTX
MBSE meets Industrial IoT: Introducing the New MagicDraw Plug-in for RTI Co...
PDF
IncQuery Server for Teamwork Cloud - Talk at IW2019
PPTX
VIATRA 2.0 Webinar
PPTX
Easier smart home development with simulators and rule engines
PPTX
Eclipse VIATRA Overview 2017
PPTX
Smarter internet of things with stream and event processing virtual io_t_meet...
PPTX
Modes3: Model-based Demonstrator for Smart and Safe Systems
PPTX
Eclipse DemoCamp Budapest 2016 November: Best of EclipseCon Europe 2016
PPTX
Exploring the Future of Eclipse Modeling: Web and Semantic Collaboration
PPTX
Okosabb Internet of Things rendszerek komplex eseményfeldolgozás alkalmazásával
PPTX
IoT Supercharged: Complex event processing for MQTT with Eclipse technologies
PDF
EMF-IncQuery 0.7 Presentation for Itemis
PPTX
Event-driven Model Transformations in Domain-specific Modeling Languages
PDF
The SENSORIA Development Environment
PDF
Challenges for advanced domain-specific frameworks
PDF
Change-driven model transformations
PDF
Incremental pattern matching in the VIATRA2 model transformation framework
PDF
Model transformations in the VIATRA2 framework
Cloud-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...
IncQuery Server for Teamwork Cloud - Talk at IW2019
VIATRA 2.0 Webinar
Easier smart home development with simulators and rule engines
Eclipse VIATRA Overview 2017
Smarter internet of things with stream and event processing virtual io_t_meet...
Modes3: Model-based Demonstrator for Smart and Safe Systems
Eclipse DemoCamp Budapest 2016 November: Best of EclipseCon Europe 2016
Exploring the Future of Eclipse Modeling: Web and Semantic Collaboration
Okosabb Internet of Things rendszerek komplex eseményfeldolgozás alkalmazásával
IoT Supercharged: Complex event processing for MQTT with Eclipse technologies
EMF-IncQuery 0.7 Presentation for Itemis
Event-driven Model Transformations in Domain-specific Modeling Languages
The SENSORIA Development Environment
Challenges for advanced domain-specific frameworks
Change-driven model transformations
Incremental pattern matching in the VIATRA2 model transformation framework
Model transformations in the VIATRA2 framework
Ad

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
  • 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.