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

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 WorldSaurabh Moody
 
D2 8 Enhydra Shark
D2 8   Enhydra SharkD2 8   Enhydra Shark
D2 8 Enhydra Sharkbrutkowski
 
Introduction to Java
Introduction to Java Introduction to Java
Introduction to Java Hitesh-Java
 
Aspect Oriented Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented ProgrammingRajesh Ganesan
 
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 PrincipleP Heinonen
 
香港六合彩 &raquo; SlideShare
香港六合彩 &raquo; SlideShare香港六合彩 &raquo; SlideShare
香港六合彩 &raquo; SlideShareyayao
 
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 ProfilesPhilip Langer
 
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)Simone Chiaretta
 
Erjang - A journey into Erlang-land
Erjang - A journey into Erlang-landErjang - A journey into Erlang-land
Erjang - A journey into Erlang-landKresten Krab Thorup
 
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 EvansJAX 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

Modeling Search Computing Applications
Modeling Search Computing ApplicationsModeling Search Computing Applications
Modeling Search Computing ApplicationsMarco Brambilla
 
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 executionAlexander Decker
 
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ésbenIstvan Rath
 
The SENSORIA Development Environment
The SENSORIA Development EnvironmentThe SENSORIA Development Environment
The SENSORIA Development EnvironmentIstvan Rath
 
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 systemIstvan Rath
 
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 strategiesIstvan Rath
 

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 Efficient Model Queries in State-of-the-art EMF Tools

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
 
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
 
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Ákos Horváth
 
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 ModelsFilip Krikava
 
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 !Cédric Brun
 
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
 
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ï ToolGwendal Daniel
 
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Ábel Hegedüs
 
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
 
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 weili_at_slideshare
 
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Ákos Horváth
 
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 platformNuxeo
 
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 FrameworkDave Steinberg
 
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...Daniel Varro
 
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 LinkSuresh Krishna Madhuvarsu
 
Legion - AI Runtime Platform
Legion -  AI Runtime PlatformLegion -  AI Runtime Platform
Legion - AI Runtime PlatformAlexey Kharlamov
 
A tutorial on EMF-IncQuery
A tutorial on EMF-IncQueryA tutorial on EMF-IncQuery
A tutorial on EMF-IncQueryIstvan Rath
 
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...IncQuery Labs
 

Similar to Efficient Model Queries in State-of-the-art EMF Tools (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

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
 
Event-driven Model Transformations in Domain-specific Modeling Languages
Event-driven Model Transformations in Domain-specific Modeling LanguagesEvent-driven Model Transformations in Domain-specific Modeling Languages
Event-driven Model Transformations in Domain-specific Modeling LanguagesIstvan Rath
 
Challenges for advanced domain-specific frameworks
Challenges for advanced domain-specific frameworksChallenges for advanced domain-specific frameworks
Challenges for advanced domain-specific frameworksIstvan Rath
 
Change-driven model transformations
Change-driven model transformationsChange-driven model transformations
Change-driven model transformationsIstvan Rath
 
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
 
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
 

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

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 

Recently uploaded (20)

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 

Efficient Model Queries in State-of-the-art EMF Tools

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