SlideShare a Scribd company logo
1 of 11
Budapest University of Technology and Economics
Department of Measurement and Information Systems
Query-driven incremental
synchronization of view models
Csaba Debreceni, Ákos Horváth, Ábel
Hegedüs, Zoltán Ujhelyi, István Ráth and
Dániel Varró
(varro@mit.bme.hu)
Motivating project
 Avionics research project
o Model-driven toolchain
o Allocate SWs onto HWs
o Platform: ARINC 653
Functional
Architecture
Platform
description
Component
database
Allocation
Integrated
System
Model
Motivating scenario
 Avionics research project
o Model-driven toolchain
o Allocate SWs onto HWs
 Simplified Example
3
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 FAM
Id
Id Other SubSystem without tag
Function SubSystem with "func" tag)
Port Blocks
id:Function id:InformationLink
View
Maintanence
• Incrementally
• Immediately
Maintenance:
• Incrementally
• Immediately
Underlying technology: EMF-IncQuery
 EMF-IncQuery
o Incremental model query engine
o Pattern language with annotations
4
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
Definition of view models
 Derivation rules
o Graph patterns with annotations
• Precondition: a pattern match
• Execution rule: defined in annotations
o Query Based Object / Feature
5
function(ss)
@TraceLookup(src = ss, trg = f)
@QBO(eClass = Function)
@QBF(src = f, trg = id, f = id)
functionIdentifier(ss, id)
@TraceLookup(src = ssys, trg = s)
@QBF(src = p, trg = s, f =subFunctions)
subFunction(psys, ssys)
function(psys)
B:psys B:ssys
function(ssys)
...
subBlock+
@TraceLookup(src = psys, trg = p)
 More matches can appear at the same time
o Ordered execution schema (priority for rules)
 Internal traceability for created objects
o Explicit definition
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 FAM
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
Viewers related annotations
 Special annotations
o Uses a specific target metamodel (notation)
o Simplifies the tracing of (notation) model elements
o Enables faster implementation on user side
7
item(func)
@TraceLookup(src = s, trg = sub)
@Item(label = "$func.id")
@ContainsItem(src = par, trg = sub)
containment(p, s)
@TraceLookup(src = c, trg = consumer)
@Edge(src = provider, trg = consumer)
subFunction(p, c) @TraceLookup(src = p, trg = provider)
@TraceLookup(src = p, trg = par)
Chaining of view models
FAM_PilotControl
: Function
FAM_Navigation
: Function
FAM_FMS
: Function
provider
subFunctions
consumer
nav2fms
:InformationLink
FAM
subFunctions
Traceability
Trace
Trace
Trace
Query results
item
edge
c_1p_1
containment
p_1 s_1
p_2 s_2
f_1
f_2
f_3
Notation
Item
Item
Item
Containment
Contaimnent
Edge
Trace
Trace
Trace
target
source
target
source
target
source
1 2 3appear create add
Source model Target model
Traceability model
View model
…
QBO
QBF
Target metamodel
View
model
Render
Module
QBO: Query Based Object
QBF: Query Based Feature
Zest
JFace
yFiles
Updating view models
 Initial setup of derivation rules
o EClassifiers, EStructuralFeatures
 Query result deltas
o Delta = (Found, Lost)
 Intergration architecture
9
Source model
Derivation rules
Query engine
View
synchronization
View model
Change notifications Match set delta
Application
Model manipulation Configuration
Model manipulation
1
2
3
4
 TrainBechmark
o 6 different size examples
o Source: 6.000 – 180.000 | View models: 150 – 4.500
o Wide variety of patterns such as transitive closure
Evaluation
10
Summary and Future work
 Summary
o Deriving and synchronizing view models
• Incrementally and live
• Derivation rules
– Annotation over graph queries
– Explicit tracing mechanism
 Future plans
o Extending domain specific language
• Life-cycle management capabilities
o Kleisli category based model transformations
o Integration with Sirius framework (ongoing)
11

More Related Content

Similar to Query-Driven Incremental Synchronization of View Models

Models, controllers and views
Models, controllers and viewsModels, controllers and views
Models, controllers and viewspriestc
 
Break the monolith with (B)VIPER Modules
Break the monolith with (B)VIPER ModulesBreak the monolith with (B)VIPER Modules
Break the monolith with (B)VIPER ModulesNicola Zaghini
 
Elastic Morocco Meetup Nov 2020
Elastic Morocco Meetup Nov 2020Elastic Morocco Meetup Nov 2020
Elastic Morocco Meetup Nov 2020Anna Ossowski
 
Intoduction to Play Framework
Intoduction to Play FrameworkIntoduction to Play Framework
Intoduction to Play FrameworkKnoldus Inc.
 
Application Integration Using XML Web Services - Report
Application Integration Using XML Web Services - ReportApplication Integration Using XML Web Services - Report
Application Integration Using XML Web Services - ReportArka Mitra
 
Overview of MVC Framework - by software outsourcing company india
Overview of MVC Framework - by software outsourcing company indiaOverview of MVC Framework - by software outsourcing company india
Overview of MVC Framework - by software outsourcing company indiaJignesh Aakoliya
 
Firebird 3: provider-based architecture, plugins and OO approach to API
Firebird 3: provider-based architecture, plugins and OO approach to API Firebird 3: provider-based architecture, plugins and OO approach to API
Firebird 3: provider-based architecture, plugins and OO approach to API Mind The Firebird
 
Passenger 6 generic language support presentation
Passenger 6 generic language support presentationPassenger 6 generic language support presentation
Passenger 6 generic language support presentationHongli Lai
 
JavaFX GUI architecture with Clojure core.async
JavaFX GUI architecture with Clojure core.asyncJavaFX GUI architecture with Clojure core.async
JavaFX GUI architecture with Clojure core.asyncFalko Riemenschneider
 
Analyzing APIs Documentation and Codeto Detect Directive Defects
Analyzing APIs Documentation and Codeto Detect Directive DefectsAnalyzing APIs Documentation and Codeto Detect Directive Defects
Analyzing APIs Documentation and Codeto Detect Directive DefectsSebastiano Panichella
 
Supporting Flight Test And Flight Matching
Supporting Flight Test And Flight MatchingSupporting Flight Test And Flight Matching
Supporting Flight Test And Flight Matchingj2aircraft
 
Building Single Page Application (SPA) with Symfony2 and AngularJS
Building Single Page Application (SPA) with Symfony2 and AngularJSBuilding Single Page Application (SPA) with Symfony2 and AngularJS
Building Single Page Application (SPA) with Symfony2 and AngularJSAntonio Peric-Mazar
 
Benefit of CodeIgniter php framework
Benefit of CodeIgniter php frameworkBenefit of CodeIgniter php framework
Benefit of CodeIgniter php frameworkBo-Yi Wu
 
The semantic web an inside look at the creation of control loop foundation
The semantic web   an inside look at the creation of control loop foundationThe semantic web   an inside look at the creation of control loop foundation
The semantic web an inside look at the creation of control loop foundationEmerson Exchange
 
The Google App Engine Oil Framework
The Google App Engine Oil FrameworkThe Google App Engine Oil Framework
The Google App Engine Oil FrameworkEric ShangKuan
 

Similar to Query-Driven Incremental Synchronization of View Models (20)

PID2143641
PID2143641PID2143641
PID2143641
 
Models, controllers and views
Models, controllers and viewsModels, controllers and views
Models, controllers and views
 
Break the monolith with (B)VIPER Modules
Break the monolith with (B)VIPER ModulesBreak the monolith with (B)VIPER Modules
Break the monolith with (B)VIPER Modules
 
Elastic Morocco Meetup Nov 2020
Elastic Morocco Meetup Nov 2020Elastic Morocco Meetup Nov 2020
Elastic Morocco Meetup Nov 2020
 
Intoduction to Play Framework
Intoduction to Play FrameworkIntoduction to Play Framework
Intoduction to Play Framework
 
Struts Ppt 1
Struts Ppt 1Struts Ppt 1
Struts Ppt 1
 
Application Integration Using XML Web Services - Report
Application Integration Using XML Web Services - ReportApplication Integration Using XML Web Services - Report
Application Integration Using XML Web Services - Report
 
Overview of MVC Framework - by software outsourcing company india
Overview of MVC Framework - by software outsourcing company indiaOverview of MVC Framework - by software outsourcing company india
Overview of MVC Framework - by software outsourcing company india
 
Firebird 3: provider-based architecture, plugins and OO approach to API
Firebird 3: provider-based architecture, plugins and OO approach to API Firebird 3: provider-based architecture, plugins and OO approach to API
Firebird 3: provider-based architecture, plugins and OO approach to API
 
Passenger 6 generic language support presentation
Passenger 6 generic language support presentationPassenger 6 generic language support presentation
Passenger 6 generic language support presentation
 
JavaFX GUI architecture with Clojure core.async
JavaFX GUI architecture with Clojure core.asyncJavaFX GUI architecture with Clojure core.async
JavaFX GUI architecture with Clojure core.async
 
Analyzing APIs Documentation and Codeto Detect Directive Defects
Analyzing APIs Documentation and Codeto Detect Directive DefectsAnalyzing APIs Documentation and Codeto Detect Directive Defects
Analyzing APIs Documentation and Codeto Detect Directive Defects
 
Unit 1
Unit  1Unit  1
Unit 1
 
Supporting Flight Test And Flight Matching
Supporting Flight Test And Flight MatchingSupporting Flight Test And Flight Matching
Supporting Flight Test And Flight Matching
 
Building Single Page Application (SPA) with Symfony2 and AngularJS
Building Single Page Application (SPA) with Symfony2 and AngularJSBuilding Single Page Application (SPA) with Symfony2 and AngularJS
Building Single Page Application (SPA) with Symfony2 and AngularJS
 
Benefit of CodeIgniter php framework
Benefit of CodeIgniter php frameworkBenefit of CodeIgniter php framework
Benefit of CodeIgniter php framework
 
cakephp UDUYKTHA (1)
cakephp UDUYKTHA (1)cakephp UDUYKTHA (1)
cakephp UDUYKTHA (1)
 
The semantic web an inside look at the creation of control loop foundation
The semantic web   an inside look at the creation of control loop foundationThe semantic web   an inside look at the creation of control loop foundation
The semantic web an inside look at the creation of control loop foundation
 
Struts
StrutsStruts
Struts
 
The Google App Engine Oil Framework
The Google App Engine Oil FrameworkThe Google App Engine Oil Framework
The Google App Engine Oil Framework
 

Recently uploaded

IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...RajaP95
 
Analog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog ConverterAnalog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog ConverterAbhinavSharma374939
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineeringmalavadedarshan25
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 

Recently uploaded (20)

IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
 
Analog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog ConverterAnalog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog Converter
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineering
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 

Query-Driven Incremental Synchronization of View Models

  • 1. Budapest University of Technology and Economics Department of Measurement and Information Systems Query-driven incremental synchronization of view models Csaba Debreceni, Ákos Horváth, Ábel Hegedüs, Zoltán Ujhelyi, István Ráth and Dániel Varró (varro@mit.bme.hu)
  • 2. Motivating project  Avionics research project o Model-driven toolchain o Allocate SWs onto HWs o Platform: ARINC 653 Functional Architecture Platform description Component database Allocation Integrated System Model
  • 3. Motivating scenario  Avionics research project o Model-driven toolchain o Allocate SWs onto HWs  Simplified Example 3 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 FAM Id Id Other SubSystem without tag Function SubSystem with "func" tag) Port Blocks id:Function id:InformationLink View Maintanence • Incrementally • Immediately Maintenance: • Incrementally • Immediately
  • 4. Underlying technology: EMF-IncQuery  EMF-IncQuery o Incremental model query engine o Pattern language with annotations 4 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
  • 5. Definition of view models  Derivation rules o Graph patterns with annotations • Precondition: a pattern match • Execution rule: defined in annotations o Query Based Object / Feature 5 function(ss) @TraceLookup(src = ss, trg = f) @QBO(eClass = Function) @QBF(src = f, trg = id, f = id) functionIdentifier(ss, id) @TraceLookup(src = ssys, trg = s) @QBF(src = p, trg = s, f =subFunctions) subFunction(psys, ssys) function(psys) B:psys B:ssys function(ssys) ... subBlock+ @TraceLookup(src = psys, trg = p)
  • 6.  More matches can appear at the same time o Ordered execution schema (priority for rules)  Internal traceability for created objects o Explicit definition 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 FAM 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
  • 7. Viewers related annotations  Special annotations o Uses a specific target metamodel (notation) o Simplifies the tracing of (notation) model elements o Enables faster implementation on user side 7 item(func) @TraceLookup(src = s, trg = sub) @Item(label = "$func.id") @ContainsItem(src = par, trg = sub) containment(p, s) @TraceLookup(src = c, trg = consumer) @Edge(src = provider, trg = consumer) subFunction(p, c) @TraceLookup(src = p, trg = provider) @TraceLookup(src = p, trg = par)
  • 8. Chaining of view models FAM_PilotControl : Function FAM_Navigation : Function FAM_FMS : Function provider subFunctions consumer nav2fms :InformationLink FAM subFunctions Traceability Trace Trace Trace Query results item edge c_1p_1 containment p_1 s_1 p_2 s_2 f_1 f_2 f_3 Notation Item Item Item Containment Contaimnent Edge Trace Trace Trace target source target source target source 1 2 3appear create add Source model Target model Traceability model View model … QBO QBF Target metamodel View model Render Module QBO: Query Based Object QBF: Query Based Feature Zest JFace yFiles
  • 9. Updating view models  Initial setup of derivation rules o EClassifiers, EStructuralFeatures  Query result deltas o Delta = (Found, Lost)  Intergration architecture 9 Source model Derivation rules Query engine View synchronization View model Change notifications Match set delta Application Model manipulation Configuration Model manipulation 1 2 3 4
  • 10.  TrainBechmark o 6 different size examples o Source: 6.000 – 180.000 | View models: 150 – 4.500 o Wide variety of patterns such as transitive closure Evaluation 10
  • 11. Summary and Future work  Summary o Deriving and synchronizing view models • Incrementally and live • Derivation rules – Annotation over graph queries – Explicit tracing mechanism  Future plans o Extending domain specific language • Life-cycle management capabilities o Kleisli category based model transformations o Integration with Sirius framework (ongoing) 11