SlideShare a Scribd company logo
1 of 25
Integrating Efficient Model Queries
                  in State-of-the-art EMF Tools

                      Gábor Bergmann, Ábel Hegedüs, Ákos
                     Horváth, István Ráth, Zoltán Ujhelyi and
                                   Dániel Varró



Budapest University of Technology and Economics   TOOLS Europe 2012
Fault Tolerant Systems Research Group             Prague, Czech Republic, 2012. 05. 30.
Overview
   Introduction
   EMF-INCQUERY overview
   Transparent query integration
   Performance considerations
   Conclusion
MDE today
                                          Modeling techniques
                           Integrated model-driven tools
         REQ

  Model-              SD
based early
 analysis Architecture
                                 IMP
           modeling,
            DSMLs                            TST
                           Code
                        generation,
IDE                    model-assisted         Model-based
                       development           test generation
MDE today
                                   Modeling techniques
                      Eclipse Modeling Framework
           REQ

                 SD

                           IMP

                                      TST


IDE - Eclipse
A key problem of MDE
 Scalability vs. modeling tools
   o Issues encountered by several industrial partners using
     tools based on the Eclipse Modeling Framework (EMF)
   o Modeling scenarios can get really complex really quickly
      • Instance models of size 1-2M and beyond
      • Performance issues with model transformations and code
        generators have an adverse effect on everyday development tasks
 Scalability?              Recognized e.g. by AUTOSAR tool vendors
   o Complex                 http://wiki.eclipse.org/Auto_IWG_WP2
     (meta)models
   o Large instance models
   o Complex query and manipulation scenarios
Focus: model queries
 Model queries: “a piece of code that retrieves a given set of the
  model”
 Queries are at the heart of MDE
   o Every model access/read is a (simple) query
   o More complex: Views, content providers
   o Most complex: Model transformations, code generators, …
 Query performance (= the speed of content retrieval) is crucial
   o First vs. consecutive vs. throughput
   o Query result vs. query contents
 Core problems
   1. Slow query engines
   2. Considerable programming effort necessary to get complex
      queries right
EMF-INCQUERY
Overview
 EMF-INCQUERY: a model query engine
  o Supports batch queries
  o Optimized for incremental queries!
 Incremental evaluation
  o Based on the RETE algorithm
  o Compute once, update afterwards
  o Gain: Instant re-evaluation
  o Price: Uses some more memory
     • Manageable with proper life cycles
EMF instance
   model
                Input = Model contents + changes (EMF notifications)
                               Input     RETE network
                               nodes

Query definition
                          Intermediate
                              nodes


                             Output       Delta
                             nodes       monitor

                         Generated query
                           components
                Query engine

           Output = Query results + (subsequent) Query result deltas
Benefits of EMF-INCQUERY
 Makes on-the-fly well-formedness validation, view
  maintenance, … feasible over really large instance
  models
 Simplifies writing really complex queries
  o Graph pattern language
  o Highly reusable  query libraries
 Easy-to-integrate into existing apps
  o Works with any EMF domain metamodel
  o Integrates through Eclipse standards  works with
    many EMF-based apps out-of-the-box
DEMO INCQUERY Pattern Language
 School metamodel in EMF
INCQUERY Pattern Language




      Expressive declarative query language
      by graph patterns
         Capture local + global queries
         Compositionality + Reusabilility
         „Arbitrary” Recursion, Negation
New features with version 0.6
 Tools
  o Xtext2-based language
     • Content assist (code completion), validation, outline, …
  o Unique query language features
     • Unlimited recursion and transitive closure
     • Aggregate functions
     • Match/exceed the expressive power of OCL, while providing more
       flexible re-use
 Runtime
  o Build and execute queries on-the-fly
  o Strong generative bindings to Java
  o Efficient incremental transitive closure
INCQUERY Development Tools
                                • Works with most EMF-
                                  based editors out-of-
                                  the-box
                                • Reveals matches as
                                  selection


               Pattern Editor


Queries are applied
& updates on-the-
fly
                                              Query Explorer
INCQUERY Model Validation

    • Works with most EMF-
      based tools out-of-the-
      box
    • Manages error-warning
      markers on-the-fly as the
Standard Eclipse BPMN Editor
      user is editing the model
      = Instantaneous feedback




                                  Markers in the Problems View
TRANSPARENT QUERY
   INTEGRATION

  … beyond the development tools
Derived features in EMF
Derived features:                        Derived attributes:
• Supported by auxiliary                 • Typed scalar values
  mechanisms (e.g. Java, OCL)            • Supported by
• Supported by EMF-based                   INCQUERY derivatives
                                              <<derived>>
  tools out-of-the-box
                      <<derived>>


                         <<derived>>




                     Derived edges:
                     • Binary relationships
                     • Supported by binary
                       INCQUERY patterns
INCQUERY derivatives
                                  You can combine IQPL
                                  with (side-effect free,
                                   deterministic) Xbase



Key benefits:
• Automatic
  dependency-aware
  change notifications              Derived attribute
  for derived features             “hasPrimeWeight”:
• Instantaneous result               True iff pattern
  retrieval                       “coursePrimeWeight”
                                    matches to host C
PERFORMANCE BENCHMARK

     Instantaneous result retrieval?
Benchmarking scenario
 In-memory models
   o Embedded railways control software system design domain
   o Instance models up to 2.7M elements
 Scenario: well-formedness validation
   o 5 rules, from simple to very complex
   o Batch validation: loading models + executing queries
   o On-the-fly revalidation: modifying models + re-executing
     queries instantaneously
 Tools
   o Eclipse tools (OCL, INCQUERY, EMF-Java)
   o RDF/SPARQL engines (for comparison)
 http://viatra.inf.mit.bme.hu/publications/trainbenchmark
Revalidation on-the-fly

   SPARQL tools are
                            • Incremental EMF engines
generally 1-2 Orders-of-
                              typically 5-10x faster
Magnitude (OM) slower
                            • sub-100ms response times
  than top EMF tools
                              for up to 1.5M elements
A closer look at the top

    Performance advantage
     of OCL-IA over OCL is
      not significant with
        complex queries




                       INCQUERY is 1-1.5 orders-
                         of-magnitude faster
                             than OCL-IA
Memory usage
• Incremental engines
  impose a linear memory
  consumption overhead
• INCQUERY overhead is
  larger than OCL-IA
• Even the largest models
  fit into 1GB of RAM
Final points
 EMF-INCQUERY has been proposed as an
  Eclipse.org project under EMFT
  http://www.eclipse.org/proposals/modeling.emf.incquery/
 EMF-INCQUERY 0.6 preview release is available
  immediately
  o Pointers:
    http://viatra.inf.mit.bme.hu/incquery
    http://viatra.inf.mit.bme.hu/incquery/getting_started
    http://viatra.inf.mit.bme.hu/performance
 Release 0.6 is scheduled shortly after the Eclipse
  Juno Launch (beginning of July)
Acknowledgements
 Additional development team members
  o Márk Czotter, Tamás Szabó
 Performance benchmarking
  o Benedek Izsó, Zoltán Szatmári
 Testing, examples
  o Attila Csicsely, Tamás Csurgó, Dániel Kávássy, Gábor
    Szárnyas, Tamás Tóth



 Thank you very much!

More Related Content

What's hot

D2 8 Enhydra Shark
D2 8   Enhydra SharkD2 8   Enhydra Shark
D2 8 Enhydra Shark
brutkowski
 
Mock Objects, Design and Dependency Inversion Principle
Mock Objects, Design and Dependency Inversion PrincipleMock Objects, Design and Dependency Inversion Principle
Mock Objects, Design and Dependency Inversion Principle
P Heinonen
 
香港六合彩 &raquo; SlideShare
香港六合彩 &raquo; SlideShare香港六合彩 &raquo; SlideShare
香港六合彩 &raquo; SlideShare
yayao
 
Java Core | Modern Java Concurrency | Martijn Verburg & Ben Evans
Java Core | Modern Java Concurrency | Martijn Verburg & Ben EvansJava Core | Modern Java Concurrency | Martijn Verburg & Ben Evans
Java Core | Modern Java Concurrency | Martijn Verburg & Ben Evans
JAX London
 

What's hot (19)

Tu1 1 5l
Tu1 1 5lTu1 1 5l
Tu1 1 5l
 
CoreML
CoreMLCoreML
CoreML
 
Java 101
Java 101Java 101
Java 101
 
Design Patterns For 70% Of Programmers In The World
Design Patterns For 70% Of Programmers In The WorldDesign Patterns For 70% Of Programmers In The World
Design Patterns For 70% Of Programmers In The World
 
D2 8 Enhydra Shark
D2 8   Enhydra SharkD2 8   Enhydra Shark
D2 8 Enhydra Shark
 
Whats new in Java 7
Whats new in Java 7Whats new in Java 7
Whats new in Java 7
 
Introduction to Java
Introduction to Java Introduction to Java
Introduction to Java
 
Aspect Oriented Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented Programming
 
Mock Objects, Design and Dependency Inversion Principle
Mock Objects, Design and Dependency Inversion PrincipleMock Objects, Design and Dependency Inversion Principle
Mock Objects, Design and Dependency Inversion Principle
 
Core Java
Core JavaCore Java
Core Java
 
Core Java
Core JavaCore Java
Core Java
 
Java1 in mumbai
Java1 in mumbaiJava1 in mumbai
Java1 in mumbai
 
香港六合彩 &raquo; SlideShare
香港六合彩 &raquo; SlideShare香港六合彩 &raquo; SlideShare
香港六合彩 &raquo; SlideShare
 
You need to extend your models? EMF Facet vs. EMF Profiles
You need to extend your models? EMF Facet vs. EMF ProfilesYou need to extend your models? EMF Facet vs. EMF Profiles
You need to extend your models? EMF Facet vs. EMF Profiles
 
Design for testability as a way to good coding (SOLID and IoC)
Design for testability as a way to good coding (SOLID and IoC)Design for testability as a way to good coding (SOLID and IoC)
Design for testability as a way to good coding (SOLID and IoC)
 
Erjang - A journey into Erlang-land
Erjang - A journey into Erlang-landErjang - A journey into Erlang-land
Erjang - A journey into Erlang-land
 
Java Core | Modern Java Concurrency | Martijn Verburg & Ben Evans
Java Core | Modern Java Concurrency | Martijn Verburg & Ben EvansJava Core | Modern Java Concurrency | Martijn Verburg & Ben Evans
Java Core | Modern Java Concurrency | Martijn Verburg & Ben Evans
 
Go f designpatterns 130116024923-phpapp02
Go f designpatterns 130116024923-phpapp02Go f designpatterns 130116024923-phpapp02
Go f designpatterns 130116024923-phpapp02
 
Java programming course for beginners
Java programming course for beginnersJava programming course for beginners
Java programming course for beginners
 

Viewers also liked (7)

Modeling Search Computing Applications
Modeling Search Computing ApplicationsModeling Search Computing Applications
Modeling Search Computing Applications
 
11.query optimization to improve performance of the code execution
11.query optimization to improve performance of the code execution11.query optimization to improve performance of the code execution
11.query optimization to improve performance of the code execution
 
Query2 eclipse day
Query2 eclipse dayQuery2 eclipse day
Query2 eclipse day
 
Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben
Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésbenTranszformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben
Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben
 
The SENSORIA Development Environment
The SENSORIA Development EnvironmentThe SENSORIA Development Environment
The SENSORIA Development Environment
 
Incremental pattern matching in the VIATRA2 model transformation system
Incremental pattern matching in the VIATRA2 model transformation systemIncremental pattern matching in the VIATRA2 model transformation system
Incremental pattern matching in the VIATRA2 model transformation system
 
Efficient model transformations by combining pattern matching strategies
Efficient model transformations by combining pattern matching strategiesEfficient model transformations by combining pattern matching strategies
Efficient model transformations by combining pattern matching strategies
 

Similar to EMF-IncQuery presentation at TOOLS 2012

EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!
melbats
 
On the Use of an Internal DSL for Enriching EMF Models
On the Use of an Internal DSL for Enriching EMF ModelsOn the Use of an Internal DSL for Enriching EMF Models
On the Use of an Internal DSL for Enriching EMF Models
Filip Krikava
 
SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!
melbats
 

Similar to EMF-IncQuery presentation at TOOLS 2012 (20)

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
 
EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!
 
Model visualization made easy: Incremental query-driven views in modeling tools
Model visualization made easy: Incremental query-driven views in modeling toolsModel visualization made easy: Incremental query-driven views in modeling tools
Model visualization made easy: Incremental query-driven views in modeling tools
 
On the Use of an Internal DSL for Enriching EMF Models
On the Use of an Internal DSL for Enriching EMF ModelsOn the Use of an Internal DSL for Enriching EMF Models
On the Use of an Internal DSL for Enriching EMF Models
 
What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !
 
SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!
 
Efficient Validation of Large Models using the Mogwaï Tool
Efficient Validation of Large Models using the Mogwaï ToolEfficient Validation of Large Models using the Mogwaï Tool
Efficient Validation of Large Models using the Mogwaï Tool
 
Eclipse Neon Democamp Budapest - VIATRA 1.3 release
Eclipse Neon Democamp Budapest - VIATRA 1.3 releaseEclipse Neon Democamp Budapest - VIATRA 1.3 release
Eclipse Neon Democamp Budapest - VIATRA 1.3 release
 
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
 
Build Java Web Application Using Apache Struts
Build Java Web Application Using Apache Struts Build Java Web Application Using Apache Struts
Build Java Web Application Using Apache Struts
 
Incremental Model Queries for Model-Dirven Software Engineering
Incremental Model Queries for Model-Dirven Software EngineeringIncremental Model Queries for Model-Dirven Software Engineering
Incremental Model Queries for Model-Dirven Software Engineering
 
The Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platformThe Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platform
 
EclipseCon 2007: Effective Use of the Eclipse Modeling Framework
EclipseCon 2007: Effective Use of the Eclipse Modeling FrameworkEclipseCon 2007: Effective Use of the Eclipse Modeling Framework
EclipseCon 2007: Effective Use of the Eclipse Modeling Framework
 
Eclipse e4
Eclipse e4Eclipse e4
Eclipse e4
 
IncQuery-D: Distributed Incremental Model Queries over the Cloud: Engineerin...
IncQuery-D: Distributed Incremental Model Queries over the Cloud: Engineerin...IncQuery-D: Distributed Incremental Model Queries over the Cloud: Engineerin...
IncQuery-D: Distributed Incremental Model Queries over the Cloud: Engineerin...
 
Model Driven Development With Emf And Eclipse Link
Model Driven Development With Emf And Eclipse LinkModel Driven Development With Emf And Eclipse Link
Model Driven Development With Emf And Eclipse Link
 
Sadiq786
Sadiq786Sadiq786
Sadiq786
 
Legion - AI Runtime Platform
Legion -  AI Runtime PlatformLegion -  AI Runtime Platform
Legion - AI Runtime Platform
 
A tutorial on EMF-IncQuery
A tutorial on EMF-IncQueryA tutorial on EMF-IncQuery
A tutorial on EMF-IncQuery
 
Lessons learned from building Eclipse-based add-ons for commercial modeling t...
Lessons learned from building Eclipse-based add-ons for commercial modeling t...Lessons learned from building Eclipse-based add-ons for commercial modeling t...
Lessons learned from building Eclipse-based add-ons for commercial modeling t...
 

More from Istvan 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
 
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
 
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
 
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
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

EMF-IncQuery presentation at TOOLS 2012

  • 1. Integrating Efficient Model Queries in State-of-the-art EMF Tools Gábor Bergmann, Ábel Hegedüs, Ákos Horváth, István Ráth, Zoltán Ujhelyi and Dániel Varró Budapest University of Technology and Economics TOOLS Europe 2012 Fault Tolerant Systems Research Group Prague, Czech Republic, 2012. 05. 30.
  • 2. Overview  Introduction  EMF-INCQUERY overview  Transparent query integration  Performance considerations  Conclusion
  • 3. MDE today Modeling techniques Integrated model-driven tools REQ Model- SD based early analysis Architecture IMP modeling, DSMLs TST Code generation, IDE model-assisted Model-based development test generation
  • 4. MDE today Modeling techniques Eclipse Modeling Framework REQ SD IMP TST IDE - Eclipse
  • 5. A key problem of MDE  Scalability vs. modeling tools o Issues encountered by several industrial partners using tools based on the Eclipse Modeling Framework (EMF) o Modeling scenarios can get really complex really quickly • Instance models of size 1-2M and beyond • Performance issues with model transformations and code generators have an adverse effect on everyday development tasks  Scalability? Recognized e.g. by AUTOSAR tool vendors o Complex http://wiki.eclipse.org/Auto_IWG_WP2 (meta)models o Large instance models o Complex query and manipulation scenarios
  • 6. Focus: model queries  Model queries: “a piece of code that retrieves a given set of the model”  Queries are at the heart of MDE o Every model access/read is a (simple) query o More complex: Views, content providers o Most complex: Model transformations, code generators, …  Query performance (= the speed of content retrieval) is crucial o First vs. consecutive vs. throughput o Query result vs. query contents  Core problems 1. Slow query engines 2. Considerable programming effort necessary to get complex queries right
  • 8. Overview  EMF-INCQUERY: a model query engine o Supports batch queries o Optimized for incremental queries!  Incremental evaluation o Based on the RETE algorithm o Compute once, update afterwards o Gain: Instant re-evaluation o Price: Uses some more memory • Manageable with proper life cycles
  • 9. EMF instance model Input = Model contents + changes (EMF notifications) Input RETE network nodes Query definition Intermediate nodes Output Delta nodes monitor Generated query components Query engine Output = Query results + (subsequent) Query result deltas
  • 10. Benefits of EMF-INCQUERY  Makes on-the-fly well-formedness validation, view maintenance, … feasible over really large instance models  Simplifies writing really complex queries o Graph pattern language o Highly reusable  query libraries  Easy-to-integrate into existing apps o Works with any EMF domain metamodel o Integrates through Eclipse standards  works with many EMF-based apps out-of-the-box
  • 11. DEMO INCQUERY Pattern Language  School metamodel in EMF
  • 12. INCQUERY Pattern Language Expressive declarative query language by graph patterns Capture local + global queries Compositionality + Reusabilility „Arbitrary” Recursion, Negation
  • 13. New features with version 0.6  Tools o Xtext2-based language • Content assist (code completion), validation, outline, … o Unique query language features • Unlimited recursion and transitive closure • Aggregate functions • Match/exceed the expressive power of OCL, while providing more flexible re-use  Runtime o Build and execute queries on-the-fly o Strong generative bindings to Java o Efficient incremental transitive closure
  • 14. INCQUERY Development Tools • Works with most EMF- based editors out-of- the-box • Reveals matches as selection Pattern Editor Queries are applied & updates on-the- fly Query Explorer
  • 15. INCQUERY Model Validation • Works with most EMF- based tools out-of-the- box • Manages error-warning markers on-the-fly as the Standard Eclipse BPMN Editor user is editing the model = Instantaneous feedback Markers in the Problems View
  • 16. TRANSPARENT QUERY INTEGRATION … beyond the development tools
  • 17. Derived features in EMF Derived features: Derived attributes: • Supported by auxiliary • Typed scalar values mechanisms (e.g. Java, OCL) • Supported by • Supported by EMF-based INCQUERY derivatives <<derived>> tools out-of-the-box <<derived>> <<derived>> Derived edges: • Binary relationships • Supported by binary INCQUERY patterns
  • 18. INCQUERY derivatives You can combine IQPL with (side-effect free, deterministic) Xbase Key benefits: • Automatic dependency-aware change notifications Derived attribute for derived features “hasPrimeWeight”: • Instantaneous result True iff pattern retrieval “coursePrimeWeight” matches to host C
  • 19. PERFORMANCE BENCHMARK Instantaneous result retrieval?
  • 20. Benchmarking scenario  In-memory models o Embedded railways control software system design domain o Instance models up to 2.7M elements  Scenario: well-formedness validation o 5 rules, from simple to very complex o Batch validation: loading models + executing queries o On-the-fly revalidation: modifying models + re-executing queries instantaneously  Tools o Eclipse tools (OCL, INCQUERY, EMF-Java) o RDF/SPARQL engines (for comparison)  http://viatra.inf.mit.bme.hu/publications/trainbenchmark
  • 21. Revalidation on-the-fly SPARQL tools are • Incremental EMF engines generally 1-2 Orders-of- typically 5-10x faster Magnitude (OM) slower • sub-100ms response times than top EMF tools for up to 1.5M elements
  • 22. A closer look at the top Performance advantage of OCL-IA over OCL is not significant with complex queries INCQUERY is 1-1.5 orders- of-magnitude faster than OCL-IA
  • 23. Memory usage • Incremental engines impose a linear memory consumption overhead • INCQUERY overhead is larger than OCL-IA • Even the largest models fit into 1GB of RAM
  • 24. Final points  EMF-INCQUERY has been proposed as an Eclipse.org project under EMFT http://www.eclipse.org/proposals/modeling.emf.incquery/  EMF-INCQUERY 0.6 preview release is available immediately o Pointers: http://viatra.inf.mit.bme.hu/incquery http://viatra.inf.mit.bme.hu/incquery/getting_started http://viatra.inf.mit.bme.hu/performance  Release 0.6 is scheduled shortly after the Eclipse Juno Launch (beginning of July)
  • 25. Acknowledgements  Additional development team members o Márk Czotter, Tamás Szabó  Performance benchmarking o Benedek Izsó, Zoltán Szatmári  Testing, examples o Attila Csicsely, Tamás Csurgó, Dániel Kávássy, Gábor Szárnyas, Tamás Tóth  Thank you very much!