SlideShare una empresa de Scribd logo
1 de 8
Descargar para leer sin conexión
Domain-specifikus nyelvek
a fejleszté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
• Igény: saját problémához saját nyelv
• Felismerés: minden grafikus nyelvnek
  van közös őse (a gráfok nyelve )
                                  ismeri
  – Hogyan használhatjuk ki ezt?
                                       Személy
  – Metamodellekkel:           1
                                     + név
• Mire jó ez?               *
                         Bejegyzés


                                     Férfi   Nő
Domain-specifikus nyelvek
• Igény: saját problémához saját nyelv
• Felismerés: minden grafikus nyelvnek
  van közös őse (a gráfok nyelve )
                                  ismeri
  – Hogyan használhatjuk ki ezt?
                                            Személy
  – Metamodellekkel.           1
                                          + név
• Mire jó ez?                    *
                              Bejegyzés
  – Leírja az elemkészletet
                                          Férfi   Nő
Domain-specifikus nyelvek
• Igény: saját problémához saját nyelv
• Felismerés: minden grafikus nyelvnek
  van közös őse (a gráfok nyelve )
                                  ismeri
  – Hogyan használhatjuk ki ezt?
                                            Személy
  – Metamodellekkel.           1
                                          + név
• Mire jó ez?                    *
                              Bejegyzés
  – Leírja az elemkészletet
  – … és a szabályokat                    Férfi   Nő
Domain-specifikus nyelvek



• Domain-specifikus nyelv =
  metamodell
                      + további
  szabályok
• Okos editorral ezeket be lehet
  tartatni,
  – a felhasználó csak „helyes” modelleket
    rajzolhat.
Hogyan tovább?
• Mire használhatjuk a modellgráfjainkat?
  – generálhatunk kódot (pl. relációs adatbázis
    modell  SQL-DDL)
  – végezhetünk rajtuk analízist („van-e holtpont az
    állapotgép modellemben?”)
  – tovább okosított eszközökkel akár futtathatunk
    szimulációt is („hogyan lépkedhet a felhasználó
    a weboldalaim között?”)
  – …
• Skálázhatóság?
  – Modellezés ökölszabálya: minél átláthatóbb,
    annál jobb
  – Fentiek: alkalmazás függvényében változik (a
    kódgenerálás a legkiforrottabb)
Kutatás, eszközök
• Akadémia
  – MIT, Nashville, TU-Berlin, TU-München, Cambridge,
    Leicester, TU-Copenhagen, KTH, Seoul, …
  – BME (Viatra, VMTS)
• Ipar
  – IBM
     • Eclipse (EMF, GEF, GMF)
     • Rational
  – Microsoft
     • DSL Tools (Visual Studio 2005)
  – sok kisebb cég
• Open source világ
  – egyre több projekt (openArchitectureWare, …)

Más contenido relacionado

Más de Istvan 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
 
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
 
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
 
Model transformations in the VIATRA2 framework
Model transformations in the VIATRA2 frameworkModel transformations in the VIATRA2 framework
Model transformations in the VIATRA2 frameworkIstvan Rath
 
Applications of incremental pattern matching in model transformations
Applications of incremental pattern matching in model transformationsApplications of incremental pattern matching in model transformations
Applications of incremental pattern matching in model transformationsIstvan Rath
 
Live model transformations driven by incremental pattern matching
Live model transformations driven by incremental pattern matchingLive model transformations driven by incremental pattern matching
Live model transformations driven by incremental pattern matchingIstvan Rath
 

Más de Istvan Rath (20)

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
 
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
 
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
 
Model transformations in the VIATRA2 framework
Model transformations in the VIATRA2 frameworkModel transformations in the VIATRA2 framework
Model transformations in the VIATRA2 framework
 
Applications of incremental pattern matching in model transformations
Applications of incremental pattern matching in model transformationsApplications of incremental pattern matching in model transformations
Applications of incremental pattern matching in model transformations
 
Live model transformations driven by incremental pattern matching
Live model transformations driven by incremental pattern matchingLive model transformations driven by incremental pattern matching
Live model transformations driven by incremental pattern matching
 

Domain-specifikus nyelvek a fejlesztésben

  • 2. 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)
  • 3. Domain-specifikus nyelvek • Igény: saját problémához saját nyelv • Felismerés: minden grafikus nyelvnek van közös őse (a gráfok nyelve ) ismeri – Hogyan használhatjuk ki ezt? Személy – Metamodellekkel: 1 + név • Mire jó ez? * Bejegyzés Férfi Nő
  • 4. Domain-specifikus nyelvek • Igény: saját problémához saját nyelv • Felismerés: minden grafikus nyelvnek van közös őse (a gráfok nyelve ) ismeri – Hogyan használhatjuk ki ezt? Személy – Metamodellekkel. 1 + név • Mire jó ez? * Bejegyzés – Leírja az elemkészletet Férfi Nő
  • 5. Domain-specifikus nyelvek • Igény: saját problémához saját nyelv • Felismerés: minden grafikus nyelvnek van közös őse (a gráfok nyelve ) ismeri – Hogyan használhatjuk ki ezt? Személy – Metamodellekkel. 1 + név • Mire jó ez? * Bejegyzés – Leírja az elemkészletet – … és a szabályokat Férfi Nő
  • 6. Domain-specifikus nyelvek • Domain-specifikus nyelv = metamodell + további szabályok • Okos editorral ezeket be lehet tartatni, – a felhasználó csak „helyes” modelleket rajzolhat.
  • 7. Hogyan tovább? • Mire használhatjuk a modellgráfjainkat? – generálhatunk kódot (pl. relációs adatbázis modell  SQL-DDL) – végezhetünk rajtuk analízist („van-e holtpont az állapotgép modellemben?”) – tovább okosított eszközökkel akár futtathatunk szimulációt is („hogyan lépkedhet a felhasználó a weboldalaim között?”) – … • Skálázhatóság? – Modellezés ökölszabálya: minél átláthatóbb, annál jobb – Fentiek: alkalmazás függvényében változik (a kódgenerálás a legkiforrottabb)
  • 8. Kutatás, eszközök • Akadémia – MIT, Nashville, TU-Berlin, TU-München, Cambridge, Leicester, TU-Copenhagen, KTH, Seoul, … – BME (Viatra, VMTS) • Ipar – IBM • Eclipse (EMF, GEF, GMF) • Rational – Microsoft • DSL Tools (Visual Studio 2005) – sok kisebb cég • Open source világ – egyre több projekt (openArchitectureWare, …)