SlideShare ist ein Scribd-Unternehmen logo
1 von 20
EMF-IncQuery:
Blazing-fast reaction time
even for very large diagrams
Ákos Horváth, Ábel Hegedüs, Zoltán Ujhelyi, István Ráth
IncQuery Labs Ltd.
Gábor Bergmann, Csaba Debreceni, Dániel Varró
Budapest University of Technology and Economics
Outline
Query-based view models
• Overview
• Evaluation
Motivation and
background
Sirius and queries
Sirius integration
• Overview
• Evaluation
Conclusion
• Conclusion
 Main Contributors
o Ádám Lengyel
o Ábel Hegedüs
o Zoltán Ujhelyi
o István Ráth
o Ákos Horváth
Introduction
3
??
I don’t need all that
information
Can I define a
simplified model?
Can I define a
viewpoint
to visualize it?
Maintanence
• Incrementally
• Immediately
Maintenance:
• Incrementally
• Immediately
Viewpoint:
• Different view of underlying
model
• Abstraction  hides
complexity
Motivating scenario: CONCERTO
EU-ECSEL project (started in 2013)
• General MDD toolchain for safety-critical systems
o Analysis and code generation for component based systems
o UML based modeling
o Non-modifiable PSM
Simplified Example
4
FAM_PilotControl
: Function
FAM_Navigation
: Function
FAM_FMS
: Function
FAM_EMS
: Function
nav2ems
:InformationLink
provider
consumer
subFunctions
provider
consumer
PilotControl
SubS1
Navigation
FMS
SubS2
EMS
tag: func
tag: func
tag: func
tag: func
EMS: Engine Management System
FMS: Flight Management SystemInPort/OutPort
nav2fms
:InformationLink
Simulink
Concerto Component models
(UML + profiles)
Id
Id Other SubSystem without tag
Function SubSystem with "func" tag)
Port Blocks
id:Function id:InformationLink
View
More details on Matlab Simulink and Eclipse integration: https://github.com/FTSRG/massif
Background: Sirius
Sirius
• Custom concrete syntax for visualization
o Tree, table, graph, etc.
• Provides viewpoint definition over EMF models
• Abstraction can be defined using interpreted
expressions
o MTL – Acceleo Model-to-Text language
o OCL- Object Constraint language
o AQL (recommended as of 3.1) – Acceleo Query
Language
• Supports several viewpoints over
the same abstract syntax
5
More details on Sirius: https://eclipse.org/sirius/
Background: EMF-IncQuery
EMF-IncQuery
• Incremental model query engine
• Own query language = IQPL
o declarative
o graph pattern based
6
Query Model
Updated results Result deltas
Evaluator
Model change
Efficient change
propagation
Always up-to-date results
without model re-traversal
Track changes of your model
in terms of queries
More details on EMF-IncQuery integration: http://www.eclipse.org/incquery/
IncQuery as a query language in Sirius
VSM Render
Overview: IQPL as query language for Sirius
Sirius provides API to provide custom
expression interpreter
• org.eclipse.sirius.common.expressionInterpreter
• org.eclipse.sirius.common.proposalProvider
8
4. UI updates
EMF
Model
B. Change
Notifications
A. Model
Modification
Live
Queries
Live
Queries
2. Get
queries
3. Query results
1. UI
refresh
DEMO
Same model query written in
• MTL
• AQL
• IncQuery
Using IncQuery in Sirius
9
Master:AppType
SM1: State Machine
S1:
State
S2:
State
sendSignal()
:HostInstance
:Master
Slave:AppType
SM1: State Machine
SA:
State
SB:
State
receiveSignal()
:HostInstance
:Slave
communicates
allocatedTo allocatedTo
instanceOf instanceOf
Evaluation: Interpreted expression
10
0
5000
10000
15000
20000
25000
30000
35000
MTL AQL EIQ MTL AQL EIQ MTL AQL EIQ
Small Medium Large
EXECUTIONTIME[MS]
MODEL SIZE
First Execution
Recalculation
Models EObjects EReferences EAttributes Diagram nodesDiagram edges
Small 3550 34222 9471 12 17
Medium 6994 124708 22129 17 13
Large 63580 1233581 457230 167 6154
Profiler was used
to isolate query
execution time
AQL
• provides good
performance
• Low memory
profile
IncQuery
• Recalculations
< 50 ms
• Requires up to
2x memory
o Large ~1.2 Gb
Query-Based Resources
EVM
VIEW MODELS AND SIRIUS
Derived
Model
EMF
Model
A. Model
Modification
B. Change
Notifications
Live
QueriesLive
Transformation
Live
QueriesLive
Transformation
Derived
Model
C. Delta
updates
C. Delta
updates
D. UI refresh
D. UI refresh
B. Change
Notifications
More details on EVM:
http://wiki.eclipse.org/EMFIncQuery/DeveloperDocumentation/EventDrivenVM
VSM +
Render
More matches can appear at the same time
• Ordered execution schema (priority for rules)
Internal traceability for created objects
• Explicit definition
Configuration model hides underlying EVM rule definitions
• Predefined set of manipulation rules available
In summary: One way incremental synchronization  arbitrary transformation
Execution of motivating example
11
FAM_PilotControl
: Function
FAM_Navigation
: Function
FAM_FMS
: Function
subFunctions
consumer
PilotControl
SubS1
Navigation
FMS
tag: func
tag: func
tag: func
Simulink CCM
subFunctions
Query results Traceability
function
f_1
f_2
f_3
Trace
Trace
Trace
a 2 3appear create add
Query results
functionIdentifier
f_1 i_1
f_2 i_2
f_3 i_3
subFunction
f_1 i_1
f_2 i_2
b appear 4 set
Updating derived models
Initial setup of derivation rules
• EClassifiers, EStructuralFeatures
Query result deltas
• Delta = (Found, Lost, Updated)
Based on EMF-IncQuery Event-Driven Virtual machine
Integration
architecture
14
Source model
Live
transformation
rules
Query engine
IncQuery- EVM Derived model
Change notifications Match set delta
Application
Model manipulation Configuration
Model manipulation
1
2
3
4
Sirius
UI update5
DEMO
Standard Sirius domain
• Family representation
• Incremental synchronization
o On-the-fly
(Concerto EMF-UML2)
• Viewpoint for simplified representation
Using IncQuery in Sirius
15
First time
execution
16
0
5000
10000
15000
20000
25000
30000
35000
9+16 81+160 201+400 401+800 601+1200 801+1600 1201+2400
RUNTIME[MS]
SIZE OF TARGET (VIEW) MODEL (ELEMENTS + REFERENCES)
Transformation Transformation + Sirius
Models EObjects EReferences Diagram nodes Diagram edges
9+16 38 89 9 16
81+160 371 890 81 160
201+400 926 2225 201 400
401+800 1851 4450 401 800
601+1200 2776 6675 601 1200
801+1600 3701 8900 801 1600
1201+2400 5551 13350 1201 2400
 10+
derivation rules
 Transformation
~33% of overall
runtime
 Memory
consumption
~3.5x of original
model
Evaluation - Concerto
Evaluation - Concerto
Incremental
recalculation
17
0
200
400
600
800
1000
1200RUNTIME[MS]
SIZE OF TARGET (VIEW) MODEL (ELEMENTS + REFERENCES)
Deletion Deletion + Sirius
Models EObjects EReferences Diagram nodes Diagram edges
9+16 38 89 9 16
81+160 371 890 81 160
201+400 926 2225 201 400
401+800 1851 4450 401 800
601+1200 2776 6675 601 1200
801+1600 3701 8900 801 1600
1201+2400 5551 13350 1201 2400
 Transformation
re-execution
< 50 ms
 Refreshing
< 1 s
 Refreshing is also
faster
Conclusions
Conclusions
Proof-of-concept version is available
• IncQuery does well as expected in incremental recalculations
• Incremental refreshing is not (yet) available
o Started working on the issues with Obeo 
• Usage requires deep knowledge of both Sirius and IncQuery
• Common base with new EMF-IncQuery Viewers
Experience
• Concerto EU-ECSEL project
o Works with Papyrus and EMF-UML2!
• Aimed application scenario
o Viewpoint definition directly for EMF models (one-to-one
mapping)
o Online synchronization
19
Final points
The examples and more details are available
form
• https://github.com/FTSRG/iq-sirius-integration
• Contributors:
o Main: BME-FTSRG, IncQuery Labs Ltd.
o Supporting projects: Concerto (EU-Artemis)
o (Hopefully) future partner: Obeo 
• Presentation will be available on slideshare
Your contributions (feedback, forum posts,
ideas, patches) are very welcome!
• To what direction should we enhance this approach?
20

Weitere ähnliche Inhalte

Was ist angesagt?

Dive into POOSL : Simulate your systems!
Dive into POOSL : Simulate your systems!Dive into POOSL : Simulate your systems!
Dive into POOSL : Simulate your systems!Obeo
 
Code Generation as a Service
Code Generation as a ServiceCode Generation as a Service
Code Generation as a ServiceDimitris Kolovos
 
Advanced Data Science with Apache Spark-(Reza Zadeh, Stanford)
Advanced Data Science with Apache Spark-(Reza Zadeh, Stanford)Advanced Data Science with Apache Spark-(Reza Zadeh, Stanford)
Advanced Data Science with Apache Spark-(Reza Zadeh, Stanford)Spark Summit
 
Extracting information from images using deep learning and transfer learning ...
Extracting information from images using deep learning and transfer learning ...Extracting information from images using deep learning and transfer learning ...
Extracting information from images using deep learning and transfer learning ...PAPIs.io
 
SiriusCon 2017 - Get your stakeholders into modeling using graphical editors
SiriusCon 2017 - Get your stakeholders into modeling using graphical editorsSiriusCon 2017 - Get your stakeholders into modeling using graphical editors
SiriusCon 2017 - Get your stakeholders into modeling using graphical editorsObeo
 
Doubt Truth to be a Liar: Non Triviality of Type Safety for Machine Learning ...
Doubt Truth to be a Liar: Non Triviality of Type Safety for Machine Learning ...Doubt Truth to be a Liar: Non Triviality of Type Safety for Machine Learning ...
Doubt Truth to be a Liar: Non Triviality of Type Safety for Machine Learning ...Matthew Tovbin
 
Machine Learning Pipelines - Joseph Bradley - Databricks
Machine Learning Pipelines - Joseph Bradley - DatabricksMachine Learning Pipelines - Joseph Bradley - Databricks
Machine Learning Pipelines - Joseph Bradley - DatabricksSpark Summit
 
(ATS6-DEV08) Integrating Contur ELN with other systems using a RESTful API
(ATS6-DEV08) Integrating Contur ELN with other systems using a RESTful API(ATS6-DEV08) Integrating Contur ELN with other systems using a RESTful API
(ATS6-DEV08) Integrating Contur ELN with other systems using a RESTful APIBIOVIA
 
Validate Your Validations: Both Sides Now
Validate Your Validations: Both Sides NowValidate Your Validations: Both Sides Now
Validate Your Validations: Both Sides NowKaren Cannell
 
[ Capella Day 2019 ] Providing early timing analysis of the system design
[ Capella Day 2019 ] Providing early timing analysis of the system design[ Capella Day 2019 ] Providing early timing analysis of the system design
[ Capella Day 2019 ] Providing early timing analysis of the system designObeo
 
Introduction to PSPICE
Introduction to PSPICEIntroduction to PSPICE
Introduction to PSPICEsyella
 
Pspice Introduction
Pspice IntroductionPspice Introduction
Pspice IntroductionAkshay Dhole
 
Automated Testing of Hybrid Simulink/Stateflow Controllers
Automated Testing of Hybrid Simulink/Stateflow ControllersAutomated Testing of Hybrid Simulink/Stateflow Controllers
Automated Testing of Hybrid Simulink/Stateflow ControllersLionel Briand
 
Oracle APEX Cheat Sheet
Oracle APEX Cheat SheetOracle APEX Cheat Sheet
Oracle APEX Cheat SheetDimitri Gielis
 

Was ist angesagt? (15)

Dive into POOSL : Simulate your systems!
Dive into POOSL : Simulate your systems!Dive into POOSL : Simulate your systems!
Dive into POOSL : Simulate your systems!
 
Code Generation as a Service
Code Generation as a ServiceCode Generation as a Service
Code Generation as a Service
 
Advanced Data Science with Apache Spark-(Reza Zadeh, Stanford)
Advanced Data Science with Apache Spark-(Reza Zadeh, Stanford)Advanced Data Science with Apache Spark-(Reza Zadeh, Stanford)
Advanced Data Science with Apache Spark-(Reza Zadeh, Stanford)
 
Extracting information from images using deep learning and transfer learning ...
Extracting information from images using deep learning and transfer learning ...Extracting information from images using deep learning and transfer learning ...
Extracting information from images using deep learning and transfer learning ...
 
SiriusCon 2017 - Get your stakeholders into modeling using graphical editors
SiriusCon 2017 - Get your stakeholders into modeling using graphical editorsSiriusCon 2017 - Get your stakeholders into modeling using graphical editors
SiriusCon 2017 - Get your stakeholders into modeling using graphical editors
 
Doubt Truth to be a Liar: Non Triviality of Type Safety for Machine Learning ...
Doubt Truth to be a Liar: Non Triviality of Type Safety for Machine Learning ...Doubt Truth to be a Liar: Non Triviality of Type Safety for Machine Learning ...
Doubt Truth to be a Liar: Non Triviality of Type Safety for Machine Learning ...
 
Machine Learning Pipelines - Joseph Bradley - Databricks
Machine Learning Pipelines - Joseph Bradley - DatabricksMachine Learning Pipelines - Joseph Bradley - Databricks
Machine Learning Pipelines - Joseph Bradley - Databricks
 
(ATS6-DEV08) Integrating Contur ELN with other systems using a RESTful API
(ATS6-DEV08) Integrating Contur ELN with other systems using a RESTful API(ATS6-DEV08) Integrating Contur ELN with other systems using a RESTful API
(ATS6-DEV08) Integrating Contur ELN with other systems using a RESTful API
 
Validate Your Validations: Both Sides Now
Validate Your Validations: Both Sides NowValidate Your Validations: Both Sides Now
Validate Your Validations: Both Sides Now
 
[ Capella Day 2019 ] Providing early timing analysis of the system design
[ Capella Day 2019 ] Providing early timing analysis of the system design[ Capella Day 2019 ] Providing early timing analysis of the system design
[ Capella Day 2019 ] Providing early timing analysis of the system design
 
Introduction to PSPICE
Introduction to PSPICEIntroduction to PSPICE
Introduction to PSPICE
 
JDK8 Streams
JDK8 StreamsJDK8 Streams
JDK8 Streams
 
Pspice Introduction
Pspice IntroductionPspice Introduction
Pspice Introduction
 
Automated Testing of Hybrid Simulink/Stateflow Controllers
Automated Testing of Hybrid Simulink/Stateflow ControllersAutomated Testing of Hybrid Simulink/Stateflow Controllers
Automated Testing of Hybrid Simulink/Stateflow Controllers
 
Oracle APEX Cheat Sheet
Oracle APEX Cheat SheetOracle APEX Cheat Sheet
Oracle APEX Cheat Sheet
 

Ähnlich wie EMF-IncQuery: Blazing-fast reaction time even for very large diagrams (Sirius integration)

IncQuery-D: Incremental Queries in the Cloud
IncQuery-D: Incremental Queries in the CloudIncQuery-D: Incremental Queries in the Cloud
IncQuery-D: Incremental Queries in the CloudGábor Szárnyas
 
SERENE 2014 School: Daniel varro serene2014_school
SERENE 2014 School: Daniel varro serene2014_schoolSERENE 2014 School: Daniel varro serene2014_school
SERENE 2014 School: Daniel varro serene2014_schoolHenry Muccini
 
SERENE 2014 School: Incremental Model Queries over the Cloud
SERENE 2014 School: Incremental Model Queries over the CloudSERENE 2014 School: Incremental Model Queries over the Cloud
SERENE 2014 School: Incremental Model Queries over the CloudSERENEWorkshop
 
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
 
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
 
Erlang For Five Nines
Erlang For Five NinesErlang For Five Nines
Erlang For Five NinesBarcamp Cork
 
Decreasing your Coffe Consumption by Incremental Code regeneration
Decreasing your Coffe Consumption by Incremental Code regenerationDecreasing your Coffe Consumption by Incremental Code regeneration
Decreasing your Coffe Consumption by Incremental Code regenerationÁkos Horváth
 
Fast Insights to Optimized Vectorization and Memory Using Cache-aware Rooflin...
Fast Insights to Optimized Vectorization and Memory Using Cache-aware Rooflin...Fast Insights to Optimized Vectorization and Memory Using Cache-aware Rooflin...
Fast Insights to Optimized Vectorization and Memory Using Cache-aware Rooflin...Intel® Software
 
Modelica-OpenModelica-slides para aprender.pdf
Modelica-OpenModelica-slides para aprender.pdfModelica-OpenModelica-slides para aprender.pdf
Modelica-OpenModelica-slides para aprender.pdfCarlos Paredes
 
Scilab Modelica conference 20150921
Scilab Modelica conference 20150921Scilab Modelica conference 20150921
Scilab Modelica conference 20150921Scilab
 
COMMitMDE'18: Eclipse Hawk: model repository querying as a service
COMMitMDE'18: Eclipse Hawk: model repository querying as a serviceCOMMitMDE'18: Eclipse Hawk: model repository querying as a service
COMMitMDE'18: Eclipse Hawk: model repository querying as a serviceAntonio García-Domínguez
 
Applicative Logic Meta-Programming as the foundation for Template-based Progr...
Applicative Logic Meta-Programming as the foundation for Template-based Progr...Applicative Logic Meta-Programming as the foundation for Template-based Progr...
Applicative Logic Meta-Programming as the foundation for Template-based Progr...Coen De Roover
 
CIM to Modelica Factory - Automated Equation-Based Cyber-Physical Power Syste...
CIM to Modelica Factory - Automated Equation-Based Cyber-Physical Power Syste...CIM to Modelica Factory - Automated Equation-Based Cyber-Physical Power Syste...
CIM to Modelica Factory - Automated Equation-Based Cyber-Physical Power Syste...Luigi Vanfretti
 
IncQuery Labs Models 2020 MIP Talk
IncQuery Labs Models 2020 MIP TalkIncQuery Labs Models 2020 MIP Talk
IncQuery Labs Models 2020 MIP TalkIncQuery Labs
 
Lect2 up010 (100324)
Lect2 up010 (100324)Lect2 up010 (100324)
Lect2 up010 (100324)aicdesign
 
Raising Abstraction in Timing Analysis for Vehicular Embedded Systems through...
Raising Abstraction in Timing Analysis for Vehicular Embedded Systems through...Raising Abstraction in Timing Analysis for Vehicular Embedded Systems through...
Raising Abstraction in Timing Analysis for Vehicular Embedded Systems through...Alessio Bucaioni
 
High-performance model queries
High-performance model queriesHigh-performance model queries
High-performance model queriesIstvan Rath
 

Ähnlich wie EMF-IncQuery: Blazing-fast reaction time even for very large diagrams (Sirius integration) (20)

IncQuery-D: Incremental Queries in the Cloud
IncQuery-D: Incremental Queries in the CloudIncQuery-D: Incremental Queries in the Cloud
IncQuery-D: Incremental Queries in the Cloud
 
SERENE 2014 School: Daniel varro serene2014_school
SERENE 2014 School: Daniel varro serene2014_schoolSERENE 2014 School: Daniel varro serene2014_school
SERENE 2014 School: Daniel varro serene2014_school
 
SERENE 2014 School: Incremental Model Queries over the Cloud
SERENE 2014 School: Incremental Model Queries over the CloudSERENE 2014 School: Incremental Model Queries over the Cloud
SERENE 2014 School: Incremental Model Queries over the Cloud
 
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
 
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...
 
Introduction to SysML af Finn Overgaard Hansen, AU
Introduction to SysML af Finn Overgaard Hansen, AUIntroduction to SysML af Finn Overgaard Hansen, AU
Introduction to SysML af Finn Overgaard Hansen, AU
 
Sys ml presentation
Sys ml presentationSys ml presentation
Sys ml presentation
 
Erlang For Five Nines
Erlang For Five NinesErlang For Five Nines
Erlang For Five Nines
 
Decreasing your Coffe Consumption by Incremental Code regeneration
Decreasing your Coffe Consumption by Incremental Code regenerationDecreasing your Coffe Consumption by Incremental Code regeneration
Decreasing your Coffe Consumption by Incremental Code regeneration
 
Fast Insights to Optimized Vectorization and Memory Using Cache-aware Rooflin...
Fast Insights to Optimized Vectorization and Memory Using Cache-aware Rooflin...Fast Insights to Optimized Vectorization and Memory Using Cache-aware Rooflin...
Fast Insights to Optimized Vectorization and Memory Using Cache-aware Rooflin...
 
Modelica-OpenModelica-slides para aprender.pdf
Modelica-OpenModelica-slides para aprender.pdfModelica-OpenModelica-slides para aprender.pdf
Modelica-OpenModelica-slides para aprender.pdf
 
Scilab Modelica conference 20150921
Scilab Modelica conference 20150921Scilab Modelica conference 20150921
Scilab Modelica conference 20150921
 
COMMitMDE'18: Eclipse Hawk: model repository querying as a service
COMMitMDE'18: Eclipse Hawk: model repository querying as a serviceCOMMitMDE'18: Eclipse Hawk: model repository querying as a service
COMMitMDE'18: Eclipse Hawk: model repository querying as a service
 
Applicative Logic Meta-Programming as the foundation for Template-based Progr...
Applicative Logic Meta-Programming as the foundation for Template-based Progr...Applicative Logic Meta-Programming as the foundation for Template-based Progr...
Applicative Logic Meta-Programming as the foundation for Template-based Progr...
 
CIM to Modelica Factory - Automated Equation-Based Cyber-Physical Power Syste...
CIM to Modelica Factory - Automated Equation-Based Cyber-Physical Power Syste...CIM to Modelica Factory - Automated Equation-Based Cyber-Physical Power Syste...
CIM to Modelica Factory - Automated Equation-Based Cyber-Physical Power Syste...
 
IncQuery Labs Models 2020 MIP Talk
IncQuery Labs Models 2020 MIP TalkIncQuery Labs Models 2020 MIP Talk
IncQuery Labs Models 2020 MIP Talk
 
Lect2 up010 (100324)
Lect2 up010 (100324)Lect2 up010 (100324)
Lect2 up010 (100324)
 
Raising Abstraction in Timing Analysis for Vehicular Embedded Systems through...
Raising Abstraction in Timing Analysis for Vehicular Embedded Systems through...Raising Abstraction in Timing Analysis for Vehicular Embedded Systems through...
Raising Abstraction in Timing Analysis for Vehicular Embedded Systems through...
 
Aocr Hmm Presentation
Aocr Hmm PresentationAocr Hmm Presentation
Aocr Hmm Presentation
 
High-performance model queries
High-performance model queriesHigh-performance model queries
High-performance model queries
 

Mehr von Ákos Horváth

Next-Generation Completeness and Consistency Management in the Digital Threa...
Next-Generation Completeness and Consistency Management in the Digital Threa...Next-Generation Completeness and Consistency Management in the Digital Threa...
Next-Generation Completeness and Consistency Management in the Digital Threa...Ákos Horváth
 
Natural Language Understanding of Systems Engineering Artifacts
Natural Language Understanding of Systems Engineering ArtifactsNatural Language Understanding of Systems Engineering Artifacts
Natural Language Understanding of Systems Engineering ArtifactsÁkos Horváth
 
IoT Meetup Budapest - The Open-CPS approach
IoT Meetup Budapest - The Open-CPS approachIoT Meetup Budapest - The Open-CPS approach
IoT Meetup Budapest - The Open-CPS approachÁkos Horváth
 
Multi-disciplinary simulation of Cyber-Physical Systems – The OpenCPS approach
Multi-disciplinary simulation of Cyber-Physical Systems – The OpenCPS approachMulti-disciplinary simulation of Cyber-Physical Systems – The OpenCPS approach
Multi-disciplinary simulation of Cyber-Physical Systems – The OpenCPS approachÁkos Horváth
 
DemoCamp Budapest 2016 - Introdcution
DemoCamp Budapest 2016 - IntrodcutionDemoCamp Budapest 2016 - Introdcution
DemoCamp Budapest 2016 - IntrodcutionÁkos Horváth
 
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Ákos Horváth
 
Local search-based pattern matching features in EMF-IncQuery
Local search-based pattern matching features in EMF-IncQueryLocal search-based pattern matching features in EMF-IncQuery
Local search-based pattern matching features in EMF-IncQueryÁkos Horváth
 
VIATRA 3: A reactive model transformation platform
VIATRA 3: A reactive model transformation platformVIATRA 3: A reactive model transformation platform
VIATRA 3: A reactive model transformation platformÁkos Horváth
 
CPS(M): Constraint Satisfaction Problem over Models (a.k.a rule based design ...
CPS(M): Constraint Satisfaction Problem over Models (a.k.a rule based design ...CPS(M): Constraint Satisfaction Problem over Models (a.k.a rule based design ...
CPS(M): Constraint Satisfaction Problem over Models (a.k.a rule based design ...Ákos Horváth
 
Szoftverfejlesztés a repülőgépiparban
Szoftverfejlesztés a repülőgépiparbanSzoftverfejlesztés a repülőgépiparban
Szoftverfejlesztés a repülőgépiparbanÁkos Horváth
 
Guaranteed Component Assembly with Round Trip Analysis for Energy Efficient H...
Guaranteed Component Assembly with Round Trip Analysis for Energy Efficient H...Guaranteed Component Assembly with Round Trip Analysis for Energy Efficient H...
Guaranteed Component Assembly with Round Trip Analysis for Energy Efficient H...Ákos Horváth
 
Software Development for Safety Critical Systems
Software Development for Safety Critical SystemsSoftware Development for Safety Critical Systems
Software Development for Safety Critical SystemsÁkos Horváth
 
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
 
Model-Driven Development of ARINC 653 Configuration tables
Model-Driven Development of ARINC 653 Configuration tablesModel-Driven Development of ARINC 653 Configuration tables
Model-Driven Development of ARINC 653 Configuration tablesÁkos Horváth
 
Hardware-Software allocation specification of IMA systems for early simulation
Hardware-Software allocation specification of IMA systems for early simulationHardware-Software allocation specification of IMA systems for early simulation
Hardware-Software allocation specification of IMA systems for early simulationÁkos Horváth
 
Massif - the love child of Matlab Simulink and Eclipse
Massif - the love child of Matlab Simulink and EclipseMassif - the love child of Matlab Simulink and Eclipse
Massif - the love child of Matlab Simulink and EclipseÁkos Horváth
 

Mehr von Ákos Horváth (16)

Next-Generation Completeness and Consistency Management in the Digital Threa...
Next-Generation Completeness and Consistency Management in the Digital Threa...Next-Generation Completeness and Consistency Management in the Digital Threa...
Next-Generation Completeness and Consistency Management in the Digital Threa...
 
Natural Language Understanding of Systems Engineering Artifacts
Natural Language Understanding of Systems Engineering ArtifactsNatural Language Understanding of Systems Engineering Artifacts
Natural Language Understanding of Systems Engineering Artifacts
 
IoT Meetup Budapest - The Open-CPS approach
IoT Meetup Budapest - The Open-CPS approachIoT Meetup Budapest - The Open-CPS approach
IoT Meetup Budapest - The Open-CPS approach
 
Multi-disciplinary simulation of Cyber-Physical Systems – The OpenCPS approach
Multi-disciplinary simulation of Cyber-Physical Systems – The OpenCPS approachMulti-disciplinary simulation of Cyber-Physical Systems – The OpenCPS approach
Multi-disciplinary simulation of Cyber-Physical Systems – The OpenCPS approach
 
DemoCamp Budapest 2016 - Introdcution
DemoCamp Budapest 2016 - IntrodcutionDemoCamp Budapest 2016 - Introdcution
DemoCamp Budapest 2016 - Introdcution
 
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
 
Local search-based pattern matching features in EMF-IncQuery
Local search-based pattern matching features in EMF-IncQueryLocal search-based pattern matching features in EMF-IncQuery
Local search-based pattern matching features in EMF-IncQuery
 
VIATRA 3: A reactive model transformation platform
VIATRA 3: A reactive model transformation platformVIATRA 3: A reactive model transformation platform
VIATRA 3: A reactive model transformation platform
 
CPS(M): Constraint Satisfaction Problem over Models (a.k.a rule based design ...
CPS(M): Constraint Satisfaction Problem over Models (a.k.a rule based design ...CPS(M): Constraint Satisfaction Problem over Models (a.k.a rule based design ...
CPS(M): Constraint Satisfaction Problem over Models (a.k.a rule based design ...
 
Szoftverfejlesztés a repülőgépiparban
Szoftverfejlesztés a repülőgépiparbanSzoftverfejlesztés a repülőgépiparban
Szoftverfejlesztés a repülőgépiparban
 
Guaranteed Component Assembly with Round Trip Analysis for Energy Efficient H...
Guaranteed Component Assembly with Round Trip Analysis for Energy Efficient H...Guaranteed Component Assembly with Round Trip Analysis for Energy Efficient H...
Guaranteed Component Assembly with Round Trip Analysis for Energy Efficient H...
 
Software Development for Safety Critical Systems
Software Development for Safety Critical SystemsSoftware Development for Safety Critical Systems
Software Development for Safety Critical Systems
 
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
 
Model-Driven Development of ARINC 653 Configuration tables
Model-Driven Development of ARINC 653 Configuration tablesModel-Driven Development of ARINC 653 Configuration tables
Model-Driven Development of ARINC 653 Configuration tables
 
Hardware-Software allocation specification of IMA systems for early simulation
Hardware-Software allocation specification of IMA systems for early simulationHardware-Software allocation specification of IMA systems for early simulation
Hardware-Software allocation specification of IMA systems for early simulation
 
Massif - the love child of Matlab Simulink and Eclipse
Massif - the love child of Matlab Simulink and EclipseMassif - the love child of Matlab Simulink and Eclipse
Massif - the love child of Matlab Simulink and Eclipse
 

Kürzlich hochgeladen

The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 

Kürzlich hochgeladen (20)

The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 

EMF-IncQuery: Blazing-fast reaction time even for very large diagrams (Sirius integration)

  • 1. EMF-IncQuery: Blazing-fast reaction time even for very large diagrams Ákos Horváth, Ábel Hegedüs, Zoltán Ujhelyi, István Ráth IncQuery Labs Ltd. Gábor Bergmann, Csaba Debreceni, Dániel Varró Budapest University of Technology and Economics
  • 2. Outline Query-based view models • Overview • Evaluation Motivation and background Sirius and queries Sirius integration • Overview • Evaluation Conclusion • Conclusion  Main Contributors o Ádám Lengyel o Ábel Hegedüs o Zoltán Ujhelyi o István Ráth o Ákos Horváth
  • 3. Introduction 3 ?? I don’t need all that information Can I define a simplified model? Can I define a viewpoint to visualize it? Maintanence • Incrementally • Immediately Maintenance: • Incrementally • Immediately Viewpoint: • Different view of underlying model • Abstraction  hides complexity
  • 4. Motivating scenario: CONCERTO EU-ECSEL project (started in 2013) • General MDD toolchain for safety-critical systems o Analysis and code generation for component based systems o UML based modeling o Non-modifiable PSM Simplified Example 4 FAM_PilotControl : Function FAM_Navigation : Function FAM_FMS : Function FAM_EMS : Function nav2ems :InformationLink provider consumer subFunctions provider consumer PilotControl SubS1 Navigation FMS SubS2 EMS tag: func tag: func tag: func tag: func EMS: Engine Management System FMS: Flight Management SystemInPort/OutPort nav2fms :InformationLink Simulink Concerto Component models (UML + profiles) Id Id Other SubSystem without tag Function SubSystem with "func" tag) Port Blocks id:Function id:InformationLink View More details on Matlab Simulink and Eclipse integration: https://github.com/FTSRG/massif
  • 5. Background: Sirius Sirius • Custom concrete syntax for visualization o Tree, table, graph, etc. • Provides viewpoint definition over EMF models • Abstraction can be defined using interpreted expressions o MTL – Acceleo Model-to-Text language o OCL- Object Constraint language o AQL (recommended as of 3.1) – Acceleo Query Language • Supports several viewpoints over the same abstract syntax 5 More details on Sirius: https://eclipse.org/sirius/
  • 6. Background: EMF-IncQuery EMF-IncQuery • Incremental model query engine • Own query language = IQPL o declarative o graph pattern based 6 Query Model Updated results Result deltas Evaluator Model change Efficient change propagation Always up-to-date results without model re-traversal Track changes of your model in terms of queries More details on EMF-IncQuery integration: http://www.eclipse.org/incquery/
  • 7. IncQuery as a query language in Sirius
  • 8. VSM Render Overview: IQPL as query language for Sirius Sirius provides API to provide custom expression interpreter • org.eclipse.sirius.common.expressionInterpreter • org.eclipse.sirius.common.proposalProvider 8 4. UI updates EMF Model B. Change Notifications A. Model Modification Live Queries Live Queries 2. Get queries 3. Query results 1. UI refresh
  • 9. DEMO Same model query written in • MTL • AQL • IncQuery Using IncQuery in Sirius 9 Master:AppType SM1: State Machine S1: State S2: State sendSignal() :HostInstance :Master Slave:AppType SM1: State Machine SA: State SB: State receiveSignal() :HostInstance :Slave communicates allocatedTo allocatedTo instanceOf instanceOf
  • 10. Evaluation: Interpreted expression 10 0 5000 10000 15000 20000 25000 30000 35000 MTL AQL EIQ MTL AQL EIQ MTL AQL EIQ Small Medium Large EXECUTIONTIME[MS] MODEL SIZE First Execution Recalculation Models EObjects EReferences EAttributes Diagram nodesDiagram edges Small 3550 34222 9471 12 17 Medium 6994 124708 22129 17 13 Large 63580 1233581 457230 167 6154 Profiler was used to isolate query execution time AQL • provides good performance • Low memory profile IncQuery • Recalculations < 50 ms • Requires up to 2x memory o Large ~1.2 Gb
  • 12. EVM VIEW MODELS AND SIRIUS Derived Model EMF Model A. Model Modification B. Change Notifications Live QueriesLive Transformation Live QueriesLive Transformation Derived Model C. Delta updates C. Delta updates D. UI refresh D. UI refresh B. Change Notifications More details on EVM: http://wiki.eclipse.org/EMFIncQuery/DeveloperDocumentation/EventDrivenVM VSM + Render
  • 13. More matches can appear at the same time • Ordered execution schema (priority for rules) Internal traceability for created objects • Explicit definition Configuration model hides underlying EVM rule definitions • Predefined set of manipulation rules available In summary: One way incremental synchronization  arbitrary transformation Execution of motivating example 11 FAM_PilotControl : Function FAM_Navigation : Function FAM_FMS : Function subFunctions consumer PilotControl SubS1 Navigation FMS tag: func tag: func tag: func Simulink CCM subFunctions Query results Traceability function f_1 f_2 f_3 Trace Trace Trace a 2 3appear create add Query results functionIdentifier f_1 i_1 f_2 i_2 f_3 i_3 subFunction f_1 i_1 f_2 i_2 b appear 4 set
  • 14. Updating derived models Initial setup of derivation rules • EClassifiers, EStructuralFeatures Query result deltas • Delta = (Found, Lost, Updated) Based on EMF-IncQuery Event-Driven Virtual machine Integration architecture 14 Source model Live transformation rules Query engine IncQuery- EVM Derived model Change notifications Match set delta Application Model manipulation Configuration Model manipulation 1 2 3 4 Sirius UI update5
  • 15. DEMO Standard Sirius domain • Family representation • Incremental synchronization o On-the-fly (Concerto EMF-UML2) • Viewpoint for simplified representation Using IncQuery in Sirius 15
  • 16. First time execution 16 0 5000 10000 15000 20000 25000 30000 35000 9+16 81+160 201+400 401+800 601+1200 801+1600 1201+2400 RUNTIME[MS] SIZE OF TARGET (VIEW) MODEL (ELEMENTS + REFERENCES) Transformation Transformation + Sirius Models EObjects EReferences Diagram nodes Diagram edges 9+16 38 89 9 16 81+160 371 890 81 160 201+400 926 2225 201 400 401+800 1851 4450 401 800 601+1200 2776 6675 601 1200 801+1600 3701 8900 801 1600 1201+2400 5551 13350 1201 2400  10+ derivation rules  Transformation ~33% of overall runtime  Memory consumption ~3.5x of original model Evaluation - Concerto
  • 17. Evaluation - Concerto Incremental recalculation 17 0 200 400 600 800 1000 1200RUNTIME[MS] SIZE OF TARGET (VIEW) MODEL (ELEMENTS + REFERENCES) Deletion Deletion + Sirius Models EObjects EReferences Diagram nodes Diagram edges 9+16 38 89 9 16 81+160 371 890 81 160 201+400 926 2225 201 400 401+800 1851 4450 401 800 601+1200 2776 6675 601 1200 801+1600 3701 8900 801 1600 1201+2400 5551 13350 1201 2400  Transformation re-execution < 50 ms  Refreshing < 1 s  Refreshing is also faster
  • 19. Conclusions Proof-of-concept version is available • IncQuery does well as expected in incremental recalculations • Incremental refreshing is not (yet) available o Started working on the issues with Obeo  • Usage requires deep knowledge of both Sirius and IncQuery • Common base with new EMF-IncQuery Viewers Experience • Concerto EU-ECSEL project o Works with Papyrus and EMF-UML2! • Aimed application scenario o Viewpoint definition directly for EMF models (one-to-one mapping) o Online synchronization 19
  • 20. Final points The examples and more details are available form • https://github.com/FTSRG/iq-sirius-integration • Contributors: o Main: BME-FTSRG, IncQuery Labs Ltd. o Supporting projects: Concerto (EU-Artemis) o (Hopefully) future partner: Obeo  • Presentation will be available on slideshare Your contributions (feedback, forum posts, ideas, patches) are very welcome! • To what direction should we enhance this approach? 20

Hinweis der Redaktion

  1. Viewpoints Different view of the underlying model Abstraction  Hides complexity