SlideShare a Scribd company logo
Eclipsecon 2015
Budapest University of Technology and Economics
Department of Measurement and Information Systems
IncQuery Labs Ltd.
EMF-IncQuery gets Sirius:
faster and better diagrams
Ákos Horváth, Ábel Hegedüs, Zoltán Ujhelyi
IncQuery Labs Ltd.
Ádám Lengyel, István Ráth, Dániel Varró
Budapest University of Technology and Economics
Eclipsecon 2015
Outline of the talk
2
Motivation and background
Sirius and queries
Interpreter based integration
• Overview
• Demo and evaluation
Query-based viewpoint definition
• Overview
• Demo and evaluation
Conclusion
• Current status
• Future work
 Main Contributors
o Ádám Lengyel
o Ábel Hegedüs
o Zoltán Ujhelyi
o István Ráth
o Ákos Horváth
Eclipsecon 2015
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
Eclipsecon 2015
Motivating scenario: CONCERTO
 EU-ECSEL project (started in 2013)
o General MDD toolchain for safety-critical systems
• Analysis and code generation for component based systems
• UML based modeling
• 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
Eclipsecon 2015
Background: Sirius
 Sirius
o Custom concrete syntax for visualization
• Tree, table, graph, etc.
o Provides viewpoint definition over EMF models
o Abstraction can be defined using interpreted
expressions
• MTL – Acceleo Model-to-Text language
• OCL- Object Constraint language
• AQL (recommended as of 3.1) – Acceleo Query Language
o Supports several viewpoints over
the same abstract syntax
5
More details on Sirius: https://eclipse.org/sirius/
Eclipsecon 2015
Background: EMF-IncQuery
 EMF-IncQuery
o Incremental model query engine
o Own query language = IQPL
• declarative
• 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/
Eclipsecon 2015
IncQuery as a query language in
Sirius
Eclipsecon 2015
VSM Render
Overview: IQPL as query language for Sirius
 Sirius provides API to provide custom expression
interpreter
o org.eclipse.sirius.common.expressionInterpreter
o org.eclipse.sirius.common.proposalProvider
8
4. UI updates
EMF Model
B. Change
NotificationsA. Model
Modification
Live
Queries
Live
Queries
2. Get
queries
3. Query results
1. UI refresh
Eclipsecon 2015
DEMO
 Same model query written in
o MTL
o AQL
o 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
Eclipsecon 2015
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
o provides good
performance
o Low memory
profile
 IncQuery
o Recalculations
< 50 ms
o Requires up to
2x memory
• Large ~1.2 Gb
Eclipsecon 2015
Query-based resource
Viewpoints as separate EMF resources
Eclipsecon 2015
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
Eclipsecon 2015
 More matches can appear at the same time
o Ordered execution schema (priority for rules)
 Internal traceability for created objects
o Explicit definition
 Configuration model hides underlying EVM rule definitions
o 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
Eclipsecon 2015
Updating derived models
 Initial setup of derivation rules
o EClassifiers, EStructuralFeatures
 Query result deltas
o 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
Eclipsecon 2015
DEMO
 Standard Sirius domain
o Family representation
o Incremental synchronization
• On-the-fly
 Concerto EMF-UML2
o Viewpoint for simplified representation
Using IncQuery in Sirius
15
Eclipsecon 2015
Evaluation - Concerto
 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
Eclipsecon 2015
Evaluation - Concerto
 Incremental
recalculation
17
0
200
400
600
800
1000
1200
9+16 81+160 201+400 401+800 601+1200 801+1600 1201+2400
RUNTIME[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
Eclipsecon 2015
Conclusions
What we have done and where to move forward
Eclipsecon 2015
Conclusions
 Proof-of-concept version is available
o IncQuery does well as expected in incremental recalculations
o Incremental refreshing is not available
• Would be nice to have explicit API 
o Usage requires deep knowledge of both Sirius and IncQuery
o Common base with new EMF-IncQuery Viewers
 Experience
o Concerto EU-ECSEL project
• Works with Papyrus and EMF-UML2!
o Aimed application scenario
• Viewpoint definition directly for EMF models (one-to-one mapping)
• Online synchronization
19
Eclipsecon 2015
Final points
 The examples and more details are available form
o https://github.com/FTSRG/iq-sirius-integration
o Contributors:
• Main: BME-FTSRG, IncQuery Labs Ltd.
• Supporting projects: Concerto (EU-Artemis)
• (Hopefully) future partner: Obeo 
 Your contributions (feedback, forum posts, ideas,
patches) are very welcome!
o To what direction should we enhance this approach?
20
Eclipsecon 2015

More Related Content

PPTX
Model visualization made easy: Incremental query-driven views in modeling tools
PPTX
EMF-IncQuery: Blazing-fast reaction time even for very large diagrams (Sirius...
PPTX
V for visualization: VIATRA finally goes graphical thanks to Sirius!
PPTX
Incremental model compiler for executable UML
PPTX
Eclipse Neon Democamp Budapest - VIATRA 1.3 release
PPTX
Incremental Queries and Transformations for Engineering Critical Systems
PDF
Eclipse Modellng Forums: Looking at the Data
PDF
Assessing the Use of Eclipse MDE Technologies in Open-Source Software Projects
Model visualization made easy: Incremental query-driven views in modeling tools
EMF-IncQuery: Blazing-fast reaction time even for very large diagrams (Sirius...
V for visualization: VIATRA finally goes graphical thanks to Sirius!
Incremental model compiler for executable UML
Eclipse Neon Democamp Budapest - VIATRA 1.3 release
Incremental Queries and Transformations for Engineering Critical Systems
Eclipse Modellng Forums: Looking at the Data
Assessing the Use of Eclipse MDE Technologies in Open-Source Software Projects

What's hot (12)

PPTX
Eclipse Modeling Framework
PPT
EclipseCon 2006: Introduction to the Eclipse Modeling Framework
PDF
Partial Loading of XMI Models
PDF
[Siriuscon2018] Integrating Sirius, Xtext and EMF Compare to Design Simulato...
PDF
Enjoy Electron Everyone!
PDF
[E-Dev-Day 2014][14/16] Adding vector graphics support to EFL
PDF
Deploying Enterprise Deep Learning Masterclass Preview - Enterprise Deep Lea...
PDF
Keynote: What’s new in Sirius?
PDF
Connecting Capella to IBM ELM platform (IBM Jazz)
PDF
Dive into POOSL : Simulate your systems!
PPTX
Local search-based pattern matching features in EMF-IncQuery
Eclipse Modeling Framework
EclipseCon 2006: Introduction to the Eclipse Modeling Framework
Partial Loading of XMI Models
[Siriuscon2018] Integrating Sirius, Xtext and EMF Compare to Design Simulato...
Enjoy Electron Everyone!
[E-Dev-Day 2014][14/16] Adding vector graphics support to EFL
Deploying Enterprise Deep Learning Masterclass Preview - Enterprise Deep Lea...
Keynote: What’s new in Sirius?
Connecting Capella to IBM ELM platform (IBM Jazz)
Dive into POOSL : Simulate your systems!
Local search-based pattern matching features in EMF-IncQuery
Ad

Similar to IncQuery gets Sirius: faster and better diagrams (16)

PDF
How to Make Robust and Scalable Modeling Workbenches with Sirius - EclipseCon...
PPTX
Xcore meets IncQuery: How the New Generation of DSLs are Made
PPTX
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
PDF
How to make Robust and Scalable Modeling Workbenches with Sirius - SiriusCon ...
PDF
A tutorial on EMF-IncQuery
PPTX
EMF-IncQuery presentation at TOOLS 2012
PPTX
Incremental Model Queries for Model-Dirven Software Engineering
PDF
IncQuery Labs Models 2020 MIP Talk
PDF
Sirius talk at EclipseCon Europe 2013
PPTX
SiriusCon17 - Eclipse Sirius at a glance
PDF
[SiriusCon 2018] Extensive Use of Custom Properties Views in a Banking DSL Wo...
PDF
EclipseCon EU 2017 - Sirius
PPT
EnCore & EnVision
PPTX
Query2 eclipse day
ODP
Fast, Faster and Super-Fast Queries
PPTX
IncQuery-D: Distributed Incremental Model Queries over the Cloud: Engineerin...
How to Make Robust and Scalable Modeling Workbenches with Sirius - EclipseCon...
Xcore meets IncQuery: How the New Generation of DSLs are Made
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
How to make Robust and Scalable Modeling Workbenches with Sirius - SiriusCon ...
A tutorial on EMF-IncQuery
EMF-IncQuery presentation at TOOLS 2012
Incremental Model Queries for Model-Dirven Software Engineering
IncQuery Labs Models 2020 MIP Talk
Sirius talk at EclipseCon Europe 2013
SiriusCon17 - Eclipse Sirius at a glance
[SiriusCon 2018] Extensive Use of Custom Properties Views in a Banking DSL Wo...
EclipseCon EU 2017 - Sirius
EnCore & EnVision
Query2 eclipse day
Fast, Faster and Super-Fast Queries
IncQuery-D: Distributed Incremental Model Queries over the Cloud: Engineerin...
Ad

More from Ákos Horváth (16)

PDF
Bridging the Validation Gap: Next-Level Model Governance in Digital-Twin Engi...
PDF
Next-Generation Completeness and Consistency Management in the Digital Threa...
PDF
Natural Language Understanding of Systems Engineering Artifacts
PDF
IoT Meetup Budapest - The Open-CPS approach
PDF
Multi-disciplinary simulation of Cyber-Physical Systems – The OpenCPS approach
PPTX
DemoCamp Budapest 2016 - Introdcution
PPTX
MoDeS3 - Model-based Demonstrator for Smart and Safe Systems
PPTX
VIATRA 3: A reactive model transformation platform
PPT
CPS(M): Constraint Satisfaction Problem over Models (a.k.a rule based design ...
PPTX
Szoftverfejlesztés a repülőgépiparban
PPTX
Guaranteed Component Assembly with Round Trip Analysis for Energy Efficient H...
PPTX
Software Development for Safety Critical Systems
PPT
Model-Driven Development of ARINC 653 Configuration tables
PPTX
Hardware-Software allocation specification of IMA systems for early simulation
PPTX
Massif - the love child of Matlab Simulink and Eclipse
PPTX
Decreasing your Coffe Consumption by Incremental Code regeneration
Bridging the Validation Gap: Next-Level Model Governance in Digital-Twin Engi...
Next-Generation Completeness and Consistency Management in the Digital Threa...
Natural Language Understanding of Systems Engineering Artifacts
IoT Meetup Budapest - The Open-CPS approach
Multi-disciplinary simulation of Cyber-Physical Systems – The OpenCPS approach
DemoCamp Budapest 2016 - Introdcution
MoDeS3 - Model-based Demonstrator for Smart and Safe Systems
VIATRA 3: A reactive model transformation platform
CPS(M): Constraint Satisfaction Problem over Models (a.k.a rule based design ...
Szoftverfejlesztés a repülőgépiparban
Guaranteed Component Assembly with Round Trip Analysis for Energy Efficient H...
Software Development for Safety Critical Systems
Model-Driven Development of ARINC 653 Configuration tables
Hardware-Software allocation specification of IMA systems for early simulation
Massif - the love child of Matlab Simulink and Eclipse
Decreasing your Coffe Consumption by Incremental Code regeneration

Recently uploaded (20)

PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Nekopoi APK 2025 free lastest update
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
medical staffing services at VALiNTRY
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
System and Network Administration Chapter 2
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
history of c programming in notes for students .pptx
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Navsoft: AI-Powered Business Solutions & Custom Software Development
Design an Analysis of Algorithms I-SECS-1021-03
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Design an Analysis of Algorithms II-SECS-1021-03
Nekopoi APK 2025 free lastest update
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Odoo POS Development Services by CandidRoot Solutions
Odoo Companies in India – Driving Business Transformation.pdf
medical staffing services at VALiNTRY
VVF-Customer-Presentation2025-Ver1.9.pptx
Wondershare Filmora 15 Crack With Activation Key [2025
System and Network Administration Chapter 2
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
How to Choose the Right IT Partner for Your Business in Malaysia
Internet Downloader Manager (IDM) Crack 6.42 Build 41
history of c programming in notes for students .pptx
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...

IncQuery gets Sirius: faster and better diagrams

  • 1. Eclipsecon 2015 Budapest University of Technology and Economics Department of Measurement and Information Systems IncQuery Labs Ltd. EMF-IncQuery gets Sirius: faster and better diagrams Ákos Horváth, Ábel Hegedüs, Zoltán Ujhelyi IncQuery Labs Ltd. Ádám Lengyel, István Ráth, Dániel Varró Budapest University of Technology and Economics
  • 2. Eclipsecon 2015 Outline of the talk 2 Motivation and background Sirius and queries Interpreter based integration • Overview • Demo and evaluation Query-based viewpoint definition • Overview • Demo and evaluation Conclusion • Current status • Future work  Main Contributors o Ádám Lengyel o Ábel Hegedüs o Zoltán Ujhelyi o István Ráth o Ákos Horváth
  • 3. Eclipsecon 2015 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. Eclipsecon 2015 Motivating scenario: CONCERTO  EU-ECSEL project (started in 2013) o General MDD toolchain for safety-critical systems • Analysis and code generation for component based systems • UML based modeling • 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. Eclipsecon 2015 Background: Sirius  Sirius o Custom concrete syntax for visualization • Tree, table, graph, etc. o Provides viewpoint definition over EMF models o Abstraction can be defined using interpreted expressions • MTL – Acceleo Model-to-Text language • OCL- Object Constraint language • AQL (recommended as of 3.1) – Acceleo Query Language o Supports several viewpoints over the same abstract syntax 5 More details on Sirius: https://eclipse.org/sirius/
  • 6. Eclipsecon 2015 Background: EMF-IncQuery  EMF-IncQuery o Incremental model query engine o Own query language = IQPL • declarative • 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. Eclipsecon 2015 IncQuery as a query language in Sirius
  • 8. Eclipsecon 2015 VSM Render Overview: IQPL as query language for Sirius  Sirius provides API to provide custom expression interpreter o org.eclipse.sirius.common.expressionInterpreter o org.eclipse.sirius.common.proposalProvider 8 4. UI updates EMF Model B. Change NotificationsA. Model Modification Live Queries Live Queries 2. Get queries 3. Query results 1. UI refresh
  • 9. Eclipsecon 2015 DEMO  Same model query written in o MTL o AQL o 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. Eclipsecon 2015 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 o provides good performance o Low memory profile  IncQuery o Recalculations < 50 ms o Requires up to 2x memory • Large ~1.2 Gb
  • 12. Eclipsecon 2015 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. Eclipsecon 2015  More matches can appear at the same time o Ordered execution schema (priority for rules)  Internal traceability for created objects o Explicit definition  Configuration model hides underlying EVM rule definitions o 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. Eclipsecon 2015 Updating derived models  Initial setup of derivation rules o EClassifiers, EStructuralFeatures  Query result deltas o 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. Eclipsecon 2015 DEMO  Standard Sirius domain o Family representation o Incremental synchronization • On-the-fly  Concerto EMF-UML2 o Viewpoint for simplified representation Using IncQuery in Sirius 15
  • 16. Eclipsecon 2015 Evaluation - Concerto  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
  • 17. Eclipsecon 2015 Evaluation - Concerto  Incremental recalculation 17 0 200 400 600 800 1000 1200 9+16 81+160 201+400 401+800 601+1200 801+1600 1201+2400 RUNTIME[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
  • 18. Eclipsecon 2015 Conclusions What we have done and where to move forward
  • 19. Eclipsecon 2015 Conclusions  Proof-of-concept version is available o IncQuery does well as expected in incremental recalculations o Incremental refreshing is not available • Would be nice to have explicit API  o Usage requires deep knowledge of both Sirius and IncQuery o Common base with new EMF-IncQuery Viewers  Experience o Concerto EU-ECSEL project • Works with Papyrus and EMF-UML2! o Aimed application scenario • Viewpoint definition directly for EMF models (one-to-one mapping) • Online synchronization 19
  • 20. Eclipsecon 2015 Final points  The examples and more details are available form o https://github.com/FTSRG/iq-sirius-integration o Contributors: • Main: BME-FTSRG, IncQuery Labs Ltd. • Supporting projects: Concerto (EU-Artemis) • (Hopefully) future partner: Obeo   Your contributions (feedback, forum posts, ideas, patches) are very welcome! o To what direction should we enhance this approach? 20

Editor's Notes

  • #4: Viewpoints Different view of the underlying model Abstraction  Hides complexity