SlideShare una empresa de Scribd logo
1 de 21
Model visualization made easy:
Incremental query-driven views
in modeling tools
Á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
Motivation and
background
Queries
Query-based view models
• Overview
• Evaluation
Sirius integration
• Overview
• Evaluation
Conclusion
• Conclusion
 Main Contributors
o Csaba Debreceni
o Ádám Lengyel
o Gábor Bergmann
o Ábel Hegedüs
o Zoltán Ujhelyi
o István Ráth
o Ákos Horváth
o Dániel Varró
Introduction
??
I don’t need all that
information
Can I define a
simplified model?
Can I define a view
to visualize it?
Maintanence
Incrementally
Immediately
Maintenance:
• Incrementally
• Immediately
Viewpoint:
• Different view of the
underlying model
• Abstraction  hide
complexity
Motivating scenario
Avionics research project
• MDD toolchain
• Allocate SWs onto HWs
Simplified Example
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
More details on Matlab Simulink and Eclipse integration: https://github.com/FTSRG/massif
Background: Incremental queries
Key observation: model queries are expensive
• Models are getting larger (1-5-10+ M elements)
• Queries are complex (attribute value checks +
navigation/joins + iterations)
• An other industrial example: well-formedness
validation of a 4M element AUTOSAR model takes
30+ minutes
o Despite being hand-coded in Java (no OCL, …)
 Usability issues
 Productivity issues
How to address this?
• Lazy evaluation
• Incrementality: calculate once, update afterwards
Background: Comparison
Normal queries
• Java, OCL, …
Live (incremental)
queries
Query Model
Evaluator
Results
Model change
Query Model
Evaluator
Updated results
Model change
Result deltas
Efficient change
propagation
1. Always up-to-date results
without model traversal
2. Track changes of your model
in terms of queries
3. Can provide detailed delta from
fix point
(Re-)traversal necessary if
the model is changed
EMF-INCQUERY
An EMF model query engine for live graph search
• Expressive query
language based on
graph patterns and
Xbase
Language
• Incremental
evaluation based
on the Rete
algorithm
• Instantaneous
response for
complex queries
over large models
Execution
• Incremental model
processing
(validation,
synchronization, ...)
Tools
http://eclipse.org/incquery
Query-based view models
EMF
Model
Live
Queries
2. Change
Notifications
1. Model
Modification
Live
Queries
Derived
Model
UI
3. Continuous,
efficient
synchronization
4. UI updates
Labeled, hierarchic
property graph
On-the-fly abstractions
over the model
 Visualize things that are not (directly) present in your model
 Provides an easy-to-use API for integration into your presentation
layer
o Eclipse Data Binding
o Simple callbacks
Query-based view models
Definition of derived models
Derivation rules
• Graph patterns with annotations
o Precondition: a pattern match
o Execution rule: defined in annotations
• Query Based Object / Feature
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
• Ordered execution schema (priority for rules)
Internal traceability for created objects
• 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
• Uses a specific target metamodel (notation)
• Simplifies the tracing of (notation) model
elements
• Enables faster implementation on user side
12
item(func) @Item(label = "$func.id")
@ContainsItem(src = par, trg = sub)containment(p, s)
@Edge(src = provider, trg = consumer)subFunction(p, c)
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
• EClassifiers, EStructuralFeatures
Query result deltas  rule activations
• Delta = (Found, Lost, Updated)
Intergration architecture
Source model
Derivation rules
Query engine
Event-Driven
Virtual Machine
View model
Change
notifications
Match set
delta
Application
Model
manipulation
Configuration
Model
manipulation
1
2
3
4
More details on the Event-Driven Virtual machine: http://www.eclipse.org/viatra/
TrainBenchmark
• 6 different size examples
• Source: 6.000 – 180.000 | View models: 150 – 4.500
• Wide variety of patterns such as transitive closure, attribute checks, etc.
Evaluation
More details on the TrainBenchmark: https://github.com/FTSRG/trainbenchmark
EMF-IncQuery to Sirius integration
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
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
4. UI updates
EMF
Model
B. Change
Notifications
A. Model
Modification
Live
Queries
Live
Queries
2. Get
queries
3. Query results
1. UI refresh
More details EMF-IncQuery to Sirius integration: https://github.com/FTSRG/iq-sirius-integration
Evaluation: Sirius Interpreted expression
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
Complex query
with long
navigation
Profiler was used
to isolate query
execution time
Sirius AQL
• provides good
performance
• Low memory
profile
IncQuery
• Recalculations
< 100 ms
• Requires up to
2x memory
o Large ~1.2 Gb
Conclusions
Summary
• Deriving and synchronizing view models
o Incrementally and live
 Fast recalculation
o Derivation rules
 Definition
• Annotation over graph queries for JFace
• EMF Configuration
 Explicit tracing mechanism
• Multiple visualization modules support
o Open-source: Zest, JFace, Sirius
o Commercial: yFiles
Final points
The examples and more details are available
form
• EMF-IncQuery viewers:
https://wiki.eclipse.org/EMFIncQuery/UserDocumentation/IncQuery_Vie
wers
• EMF-IncQuery Sirius integration:
https://github.com/FTSRG/iq-sirius-integration
• Complex example:
https://github.com/IncQueryLabs/incquery-examples-cps
Your contributions (feedback, forum posts,
ideas, patches) are very welcome!
• To what direction should we enhance this approach?

Más contenido relacionado

La actualidad más candente

Advanced MLflow: Multi-Step Workflows, Hyperparameter Tuning and Integrating ...
Advanced MLflow: Multi-Step Workflows, Hyperparameter Tuning and Integrating ...Advanced MLflow: Multi-Step Workflows, Hyperparameter Tuning and Integrating ...
Advanced MLflow: Multi-Step Workflows, Hyperparameter Tuning and Integrating ...Databricks
 
StreamSQL Feature Store (Apache Pulsar Summit)
StreamSQL Feature Store (Apache Pulsar Summit)StreamSQL Feature Store (Apache Pulsar Summit)
StreamSQL Feature Store (Apache Pulsar Summit)Simba Khadder
 
Apply MLOps at Scale by H&M
Apply MLOps at Scale by H&MApply MLOps at Scale by H&M
Apply MLOps at Scale by H&MDatabricks
 
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
 
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
 
[FFE19] Build a Flink AI Ecosystem
[FFE19] Build a Flink AI Ecosystem[FFE19] Build a Flink AI Ecosystem
[FFE19] Build a Flink AI EcosystemJiangjie Qin
 
Advanced Hyperparameter Optimization for Deep Learning with MLflow
Advanced Hyperparameter Optimization for Deep Learning with MLflowAdvanced Hyperparameter Optimization for Deep Learning with MLflow
Advanced Hyperparameter Optimization for Deep Learning with MLflowDatabricks
 
MLOps - Build pipelines with Tensor Flow Extended & Kubeflow
MLOps - Build pipelines with Tensor Flow Extended & KubeflowMLOps - Build pipelines with Tensor Flow Extended & Kubeflow
MLOps - Build pipelines with Tensor Flow Extended & KubeflowJan Kirenz
 
Your easy move to serverless computing and radically simplified data processing
Your easy move to serverless computing and radically simplified data processingYour easy move to serverless computing and radically simplified data processing
Your easy move to serverless computing and radically simplified data processinggvernik
 
Cloud Academy & AWS: how we use Amazon Web Services for machine learning and ...
Cloud Academy & AWS: how we use Amazon Web Services for machine learning and ...Cloud Academy & AWS: how we use Amazon Web Services for machine learning and ...
Cloud Academy & AWS: how we use Amazon Web Services for machine learning and ...Alex Casalboni
 
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.Luciano Resende
 

La actualidad más candente (11)

Advanced MLflow: Multi-Step Workflows, Hyperparameter Tuning and Integrating ...
Advanced MLflow: Multi-Step Workflows, Hyperparameter Tuning and Integrating ...Advanced MLflow: Multi-Step Workflows, Hyperparameter Tuning and Integrating ...
Advanced MLflow: Multi-Step Workflows, Hyperparameter Tuning and Integrating ...
 
StreamSQL Feature Store (Apache Pulsar Summit)
StreamSQL Feature Store (Apache Pulsar Summit)StreamSQL Feature Store (Apache Pulsar Summit)
StreamSQL Feature Store (Apache Pulsar Summit)
 
Apply MLOps at Scale by H&M
Apply MLOps at Scale by H&MApply MLOps at Scale by H&M
Apply MLOps at Scale by H&M
 
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 ...
 
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)
 
[FFE19] Build a Flink AI Ecosystem
[FFE19] Build a Flink AI Ecosystem[FFE19] Build a Flink AI Ecosystem
[FFE19] Build a Flink AI Ecosystem
 
Advanced Hyperparameter Optimization for Deep Learning with MLflow
Advanced Hyperparameter Optimization for Deep Learning with MLflowAdvanced Hyperparameter Optimization for Deep Learning with MLflow
Advanced Hyperparameter Optimization for Deep Learning with MLflow
 
MLOps - Build pipelines with Tensor Flow Extended & Kubeflow
MLOps - Build pipelines with Tensor Flow Extended & KubeflowMLOps - Build pipelines with Tensor Flow Extended & Kubeflow
MLOps - Build pipelines with Tensor Flow Extended & Kubeflow
 
Your easy move to serverless computing and radically simplified data processing
Your easy move to serverless computing and radically simplified data processingYour easy move to serverless computing and radically simplified data processing
Your easy move to serverless computing and radically simplified data processing
 
Cloud Academy & AWS: how we use Amazon Web Services for machine learning and ...
Cloud Academy & AWS: how we use Amazon Web Services for machine learning and ...Cloud Academy & AWS: how we use Amazon Web Services for machine learning and ...
Cloud Academy & AWS: how we use Amazon Web Services for machine learning and ...
 
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
 

Similar a Model visualization made easy: Incremental query-driven views in modeling tools

Xcore meets IncQuery: How the New Generation of DSLs are Made
Xcore meets IncQuery: How the New Generation of DSLs are MadeXcore meets IncQuery: How the New Generation of DSLs are Made
Xcore meets IncQuery: How the New Generation of DSLs are MadeIstvan Rath
 
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
 
EMF-IncQuery presentation at TOOLS 2012
EMF-IncQuery presentation at TOOLS 2012EMF-IncQuery presentation at TOOLS 2012
EMF-IncQuery presentation at TOOLS 2012Istvan Rath
 
Eclipse 40 - Eclipse Summit Europe 2010
Eclipse 40 - Eclipse Summit Europe 2010Eclipse 40 - Eclipse Summit Europe 2010
Eclipse 40 - Eclipse Summit Europe 2010Lars Vogel
 
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
 
Learn about Eclipse e4 from Lars Vogel at SF-JUG
Learn about Eclipse e4 from Lars Vogel at SF-JUGLearn about Eclipse e4 from Lars Vogel at SF-JUG
Learn about Eclipse e4 from Lars Vogel at SF-JUGMarakana Inc.
 
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
 
Getting started with Innoslate - Systems Engineering
Getting started with Innoslate - Systems EngineeringGetting started with Innoslate - Systems Engineering
Getting started with Innoslate - Systems EngineeringElizabeth Steiner
 
Eclipse Neon Democamp Budapest - VIATRA 1.3 release
Eclipse Neon Democamp Budapest - VIATRA 1.3 releaseEclipse Neon Democamp Budapest - VIATRA 1.3 release
Eclipse Neon Democamp Budapest - VIATRA 1.3 releaseÁbel Hegedüs
 
Alex mang patterns for scalability in microsoft azure application
Alex mang   patterns for scalability in microsoft azure applicationAlex mang   patterns for scalability in microsoft azure application
Alex mang patterns for scalability in microsoft azure applicationCodecamp Romania
 
Cutting Edge Computer Vision for Everyone
Cutting Edge Computer Vision for EveryoneCutting Edge Computer Vision for Everyone
Cutting Edge Computer Vision for EveryoneIvo Andreev
 
201908 Overview of Automated ML
201908 Overview of Automated ML201908 Overview of Automated ML
201908 Overview of Automated MLMark Tabladillo
 
Towards Scalable Validation of Low-Code System Models: Mapping EVL to VIATRA ...
Towards Scalable Validation of Low-Code System Models: Mapping EVL to VIATRA ...Towards Scalable Validation of Low-Code System Models: Mapping EVL to VIATRA ...
Towards Scalable Validation of Low-Code System Models: Mapping EVL to VIATRA ...IncQuery Labs
 
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
 
Backbone JS for mobile apps
Backbone JS for mobile appsBackbone JS for mobile apps
Backbone JS for mobile appsIvano Malavolta
 
Eclipse 40 and Eclipse e4
Eclipse 40 and Eclipse e4 Eclipse 40 and Eclipse e4
Eclipse 40 and Eclipse e4 Lars Vogel
 
PyCon Sweden 2022 - Dowling - Serverless ML with Hopsworks.pdf
PyCon Sweden 2022 - Dowling - Serverless ML with Hopsworks.pdfPyCon Sweden 2022 - Dowling - Serverless ML with Hopsworks.pdf
PyCon Sweden 2022 - Dowling - Serverless ML with Hopsworks.pdfJim Dowling
 
Advanced Model Inferencing leveraging Kubeflow Serving, KNative and Istio
Advanced Model Inferencing leveraging Kubeflow Serving, KNative and IstioAdvanced Model Inferencing leveraging Kubeflow Serving, KNative and Istio
Advanced Model Inferencing leveraging Kubeflow Serving, KNative and IstioAnimesh Singh
 

Similar a Model visualization made easy: Incremental query-driven views in modeling tools (20)

Xcore meets IncQuery: How the New Generation of DSLs are Made
Xcore meets IncQuery: How the New Generation of DSLs are MadeXcore meets IncQuery: How the New Generation of DSLs are Made
Xcore meets IncQuery: How the New Generation of DSLs are Made
 
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...
 
EMF-IncQuery presentation at TOOLS 2012
EMF-IncQuery presentation at TOOLS 2012EMF-IncQuery presentation at TOOLS 2012
EMF-IncQuery presentation at TOOLS 2012
 
Eclipse 40 - Eclipse Summit Europe 2010
Eclipse 40 - Eclipse Summit Europe 2010Eclipse 40 - Eclipse Summit Europe 2010
Eclipse 40 - Eclipse Summit Europe 2010
 
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
 
Learn about Eclipse e4 from Lars Vogel at SF-JUG
Learn about Eclipse e4 from Lars Vogel at SF-JUGLearn about Eclipse e4 from Lars Vogel at SF-JUG
Learn about Eclipse e4 from Lars Vogel at SF-JUG
 
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
 
Getting started with Innoslate - Systems Engineering
Getting started with Innoslate - Systems EngineeringGetting started with Innoslate - Systems Engineering
Getting started with Innoslate - Systems Engineering
 
Eclipse Neon Democamp Budapest - VIATRA 1.3 release
Eclipse Neon Democamp Budapest - VIATRA 1.3 releaseEclipse Neon Democamp Budapest - VIATRA 1.3 release
Eclipse Neon Democamp Budapest - VIATRA 1.3 release
 
Alex mang patterns for scalability in microsoft azure application
Alex mang   patterns for scalability in microsoft azure applicationAlex mang   patterns for scalability in microsoft azure application
Alex mang patterns for scalability in microsoft azure application
 
Cutting Edge Computer Vision for Everyone
Cutting Edge Computer Vision for EveryoneCutting Edge Computer Vision for Everyone
Cutting Edge Computer Vision for Everyone
 
201908 Overview of Automated ML
201908 Overview of Automated ML201908 Overview of Automated ML
201908 Overview of Automated ML
 
Towards Scalable Validation of Low-Code System Models: Mapping EVL to VIATRA ...
Towards Scalable Validation of Low-Code System Models: Mapping EVL to VIATRA ...Towards Scalable Validation of Low-Code System Models: Mapping EVL to VIATRA ...
Towards Scalable Validation of Low-Code System Models: Mapping EVL to VIATRA ...
 
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
 
Backbone JS for mobile apps
Backbone JS for mobile appsBackbone JS for mobile apps
Backbone JS for mobile apps
 
[2015/2016] Backbone JS
[2015/2016] Backbone JS[2015/2016] Backbone JS
[2015/2016] Backbone JS
 
Eclipse 40 and Eclipse e4
Eclipse 40 and Eclipse e4 Eclipse 40 and Eclipse e4
Eclipse 40 and Eclipse e4
 
PyCon Sweden 2022 - Dowling - Serverless ML with Hopsworks.pdf
PyCon Sweden 2022 - Dowling - Serverless ML with Hopsworks.pdfPyCon Sweden 2022 - Dowling - Serverless ML with Hopsworks.pdf
PyCon Sweden 2022 - Dowling - Serverless ML with Hopsworks.pdf
 
Advanced Model Inferencing leveraging Kubeflow Serving, KNative and Istio
Advanced Model Inferencing leveraging Kubeflow Serving, KNative and IstioAdvanced Model Inferencing leveraging Kubeflow Serving, KNative and Istio
Advanced Model Inferencing leveraging Kubeflow Serving, KNative and Istio
 

Más de Á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
 
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
 
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
 

Más de Á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
 
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
 
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
 

Último

Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
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
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
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
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
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
 
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
 
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
 
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
 
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
 
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
 
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.
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 

Último (20)

Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
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 ...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
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
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
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
 
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
 
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
 
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-...
 
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
 
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...
 
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 ...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 

Model visualization made easy: Incremental query-driven views in modeling tools

  • 1. Model visualization made easy: Incremental query-driven views in modeling tools Á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 Motivation and background Queries Query-based view models • Overview • Evaluation Sirius integration • Overview • Evaluation Conclusion • Conclusion  Main Contributors o Csaba Debreceni o Ádám Lengyel o Gábor Bergmann o Ábel Hegedüs o Zoltán Ujhelyi o István Ráth o Ákos Horváth o Dániel Varró
  • 3. Introduction ?? I don’t need all that information Can I define a simplified model? Can I define a view to visualize it? Maintanence Incrementally Immediately Maintenance: • Incrementally • Immediately Viewpoint: • Different view of the underlying model • Abstraction  hide complexity
  • 4. Motivating scenario Avionics research project • MDD toolchain • Allocate SWs onto HWs Simplified Example 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 More details on Matlab Simulink and Eclipse integration: https://github.com/FTSRG/massif
  • 5. Background: Incremental queries Key observation: model queries are expensive • Models are getting larger (1-5-10+ M elements) • Queries are complex (attribute value checks + navigation/joins + iterations) • An other industrial example: well-formedness validation of a 4M element AUTOSAR model takes 30+ minutes o Despite being hand-coded in Java (no OCL, …)  Usability issues  Productivity issues How to address this? • Lazy evaluation • Incrementality: calculate once, update afterwards
  • 6. Background: Comparison Normal queries • Java, OCL, … Live (incremental) queries Query Model Evaluator Results Model change Query Model Evaluator Updated results Model change Result deltas Efficient change propagation 1. Always up-to-date results without model traversal 2. Track changes of your model in terms of queries 3. Can provide detailed delta from fix point (Re-)traversal necessary if the model is changed
  • 7. EMF-INCQUERY An EMF model query engine for live graph search • Expressive query language based on graph patterns and Xbase Language • Incremental evaluation based on the Rete algorithm • Instantaneous response for complex queries over large models Execution • Incremental model processing (validation, synchronization, ...) Tools http://eclipse.org/incquery
  • 9. EMF Model Live Queries 2. Change Notifications 1. Model Modification Live Queries Derived Model UI 3. Continuous, efficient synchronization 4. UI updates Labeled, hierarchic property graph On-the-fly abstractions over the model  Visualize things that are not (directly) present in your model  Provides an easy-to-use API for integration into your presentation layer o Eclipse Data Binding o Simple callbacks Query-based view models
  • 10. Definition of derived models Derivation rules • Graph patterns with annotations o Precondition: a pattern match o Execution rule: defined in annotations • Query Based Object / Feature 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)
  • 11. More matches can appear at the same time • Ordered execution schema (priority for rules) Internal traceability for created objects • 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
  • 12. Viewers related annotations Special annotations • Uses a specific target metamodel (notation) • Simplifies the tracing of (notation) model elements • Enables faster implementation on user side 12 item(func) @Item(label = "$func.id") @ContainsItem(src = par, trg = sub)containment(p, s) @Edge(src = provider, trg = consumer)subFunction(p, c)
  • 13. 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
  • 14. Updating view models Initial setup of derivation rules • EClassifiers, EStructuralFeatures Query result deltas  rule activations • Delta = (Found, Lost, Updated) Intergration architecture Source model Derivation rules Query engine Event-Driven Virtual Machine View model Change notifications Match set delta Application Model manipulation Configuration Model manipulation 1 2 3 4 More details on the Event-Driven Virtual machine: http://www.eclipse.org/viatra/
  • 15. TrainBenchmark • 6 different size examples • Source: 6.000 – 180.000 | View models: 150 – 4.500 • Wide variety of patterns such as transitive closure, attribute checks, etc. Evaluation More details on the TrainBenchmark: https://github.com/FTSRG/trainbenchmark
  • 16. EMF-IncQuery to Sirius integration
  • 17. 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
  • 18. 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 4. UI updates EMF Model B. Change Notifications A. Model Modification Live Queries Live Queries 2. Get queries 3. Query results 1. UI refresh More details EMF-IncQuery to Sirius integration: https://github.com/FTSRG/iq-sirius-integration
  • 19. Evaluation: Sirius Interpreted expression 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 Complex query with long navigation Profiler was used to isolate query execution time Sirius AQL • provides good performance • Low memory profile IncQuery • Recalculations < 100 ms • Requires up to 2x memory o Large ~1.2 Gb
  • 20. Conclusions Summary • Deriving and synchronizing view models o Incrementally and live  Fast recalculation o Derivation rules  Definition • Annotation over graph queries for JFace • EMF Configuration  Explicit tracing mechanism • Multiple visualization modules support o Open-source: Zest, JFace, Sirius o Commercial: yFiles
  • 21. Final points The examples and more details are available form • EMF-IncQuery viewers: https://wiki.eclipse.org/EMFIncQuery/UserDocumentation/IncQuery_Vie wers • EMF-IncQuery Sirius integration: https://github.com/FTSRG/iq-sirius-integration • Complex example: https://github.com/IncQueryLabs/incquery-examples-cps Your contributions (feedback, forum posts, ideas, patches) are very welcome! • To what direction should we enhance this approach?

Notas del editor

  1. Johnathan presentation on Looom
  2. MTL -- Acceleo Model-to-Text language AQL – Acceleo Query language EIQ – EMF-IncQuery pattern language