SlideShare a Scribd company logo
V for visualization:
VIATRA finally goes graphical
thanks to Sirius!
(and Clarity)
Ákos Horváth, Ádám Lengyel, István Ráth and Zoltán Ujhelyi,
IncQuery Labs Ltd.
Eric Lepicier and Stéphane Bonnet
Thales
Outline
Textual and graphical editor
editor integration
• Introduction
• Motivation
Background
• VIATRA, Xtext, Capella,
Sirius-Xtext integration
• Approaches
• Lessons learned
Conclusion
• Conclusion
Main Contributors
 From IncQuery Labs
o Zoltán Ujhelyi
o Ádám Lengyel
o István Ráth
o Ákos Horváth
o Ábel Hegedüs
 From Thales
o Eric Lepicier
o Stéphane Bonnet
o Matthieu Helleboid
o and many others
pattern availableGreaterThanTotalCpu(host : HostInstance) {
HostInstance.availableCpu(host, aCpu);
HostInstance.totalCpu(host, tCpu);
check(aCpu > tCpu);}
pattern sendTransitionAppSignal(transition, app, signal) {
Transition.action(transition, action);
app == eval(SignalUtil.getAppId(action));
signal == eval(SignalUtil.getSignalId(action));}
pattern notAllocatedButRunning(app : ApplicationInstance) {
ApplicationInstance.state(app, AppState::Running);
neg find allocatedApplication(app);}
private pattern allocatedApplication(app:ApplicationInstance)
{ApplicationInstance.allocatedTo(app, _);}
Introduction ??
Huh that looks
complicated
Can I define my
queries graphically?
Wow thanks but it
would be nice if I
could work on both
representations
Motivating scenario: Clarity
French national and Industrial collaboration
project (started in 2014)
• Grow the Capella ecosystem
• 20+ partners
Extract information
from these models!
Copyright: polarsys.org
Motivating scenario:
Heavy use of EMF-IncQuery ( VIATRA
queries)
• Part of core services in Capella
• User defined queries  custom high-level graphical editor
Copyright: polarsys.org
Capella end-user
graphical queries
Background: VIATRA query
VIATRA query
• Incremental model query engine
• Own query language = VQL
o declarative
o graph pattern based
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 VIATRA : http://www.eclipse.org/viatra/
Background: Viatra Query Language
More details on VIATRA : http://www.eclipse.org/viatra/
package org.eclipse.viatra.examples.cps.generator.queries
import “http://org.eclipse.viatra/model/cps"
pattern States(t : HostType) {
HostType(t);
}
pattern test (ht, hi) {
HostInstance(hi);
HostType(ht);
HostType.instances(ht, hi);
}
Query definition Query parameter
Type constraint (syntactic sugar)
Type constraint
Package declaration
Import statement
Reference constraint
Background:
Xtext
• Textual editor generator framework
o LL(*) parser based on ANTLR
o Incremental compiler
 EMF serialization
• High-level support for
o Validation
o Referencing
o Context aware operations
• Support for JVM based languages
o Xbase
More details on Xtext: https://eclipse.org/xtext/
Background:
Sirius
• Custom concrete syntax for visualization
o Tree, table, graph, etc.
• Provides viewpoint definition over EMF models
• Abstraction can be defined using interpreted
expressions
• Supports several viewpoints over
the same abstract syntax
• Highly scalable and customizable
• EMF based
More details on Sirius: https://eclipse.org/sirius/
Xtext-Sirius integrated language editor
for VQL
Our three approaches
Shared EMF
serialization
• 2016
(VIATRA)
EMF-based
view models
• 2015
(@SiriusCon) *
Separated
DSLs for
design
• ~2015
(Clarity)
Query
definition
[Xtext]
Query
definition
[Sirius]
Text Xtext serialization [EMF] Graph
(*) More details on the EMF-based view models approach : link
Query
definition
[Xtext]
Query
definition View
[Sirius]
Text EMF GraphEMF
sync
h
Query
definition
[Xtext]
Query
definition
[Sirius]
Text EMF GraphEMF
Common Representation
sync
h
Overview: Current VQL editor support (attempt 3
 )
Based on common EMF model from Xtext
• Allows reuse of available tooling
o Validation
o Translation
• Synchronization is done on EMF instance level
Query
definition
[Xtext]
Query
definition
[Sirius]
Text Xtext serialization [EMF] Graph
pattern test (ht, hi) {
HostInstance(hi);
HostType(ht);
HostType.instances(ht, hi);}
DEMO
Simple query definitions
• Basic manipulation
Visualization example with Sirius
Visual and textual editors
Lessons learned from our three attempts
Technological differences
Topic Sirius Xtext
Editing -Direct model
manipulation
-Add/Remove characters
Cross-references -Model URI
-Direct Java references in
AST
-Qualified and short
names
Validation support -Manual
-Live  requires change
tracking (use VIATRA)
-Live
-Manual (rarely)
Imperative control
structures
- Problematic -Well supported
(e.g., Xbase support)
Challenges - Embedded Xtext editors - Stable URIs
- Serialization
Shared EMF serialization
Shared tooling
• Code generation
• Validation
Complex model manipulation operations
• Structural updates
• Serializability
Gap between textual and graphical
representation
• Unstable UI fragments (e.g., URI changes with add/del)
• Xtext specific artefacts (e.g., import declarations)
Implementation differences
• Textual editing + reparsing vs. Transactional editing
References between representation
• Grammar AST will become an “API”
Query
definition
[Xtext]
Query
definition
[Sirius]
Text Xtext serialization [EMF] Graph
EMF-based view models
Dedicated
editors/views
for both syntaxes
Shared tooling
• Based on the selected language
Complex synchronization transformation
• Unidirectional, incremental transformation
o Can be handled by Viatra (if changes are supported)
• Semantic Gap mapping
Unidirectional synchronization
• Bidirectionality?
o Subject to R&D  unambiguity
Query
definition
[Xtext]
Query
definition View
[Sirius]
Text EMF GraphEMF
sync
h
Separated DSLs for design
Dedicated editors
for both syntaxes
Tooling duplication
• Validation
• Code-generation  defined only on common
representation
Synchronization
• Can be uni~ and also bidirectional
Change management
• Requires work
o on both frontends
o on both synchronization transformations
Tool integration issues
• E.g., Can graphical models refer to textual
Query
definition
[Xtext]
Query
definition
[Sirius]
Text EMF GraphEMF
Common Representation
sync
h
Conclusions
Conclusions
No silver bullet
Language co-evolution is required in the long-run
21
Semantic gap is small
Cross-references can
be mapped
Heavy tool reusability
required
Languages often
change
One dedicated editor
and multiple views
Incrementality is
required to some degree
Languages change only
sometimes
Bidirectional /
Incremental synchronization
is required
Editing in both domains is
required
• Separated tooling provides
enhanced UX
Languages rarely change
Works well
when
Final points
A beta graphical editor will be available in
Viatra 1.5
• Contributors:
o IncQuery Labs, Thales
Clarity project provided dedicated graphical
tooling for (VIATRA) query specification
• Within eClarity we plan to further this tooling 
Your contributions (feedback, forum posts,
ideas, patches) are very welcome!
• To what direction should we enhance this approach?
22
http://www.incquerylabs.com/
info@incquerylabs.com
Tel: +36 70 633 3973
Email: akos.horvath@incquerylabs.com
@IncQueryLabs
https://www.facebook.com/incquerylabs/
https://www.linkedin.com/company/incquery-labs-ltd-

More Related Content

What's hot

Deploying Enterprise Deep Learning Masterclass Preview - Enterprise Deep Lea...
Deploying Enterprise Deep Learning Masterclass Preview -  Enterprise Deep Lea...Deploying Enterprise Deep Learning Masterclass Preview -  Enterprise Deep Lea...
Deploying Enterprise Deep Learning Masterclass Preview - Enterprise Deep Lea...
Sam Putnam [Deep Learning]
 
[FFE19] Build a Flink AI Ecosystem
[FFE19] Build a Flink AI Ecosystem[FFE19] Build a Flink AI Ecosystem
[FFE19] Build a Flink AI Ecosystem
Jiangjie Qin
 
Advanced Data Science with Apache Spark-(Reza Zadeh, Stanford)
Advanced Data Science with Apache Spark-(Reza Zadeh, Stanford)Advanced Data Science with Apache Spark-(Reza Zadeh, Stanford)
Advanced Data Science with Apache Spark-(Reza Zadeh, Stanford)
Spark Summit
 
Extracting information from images using deep learning and transfer learning ...
Extracting information from images using deep learning and transfer learning ...Extracting information from images using deep learning and transfer learning ...
Extracting information from images using deep learning and transfer learning ...
PAPIs.io
 
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
 
(ATS6-DEV08) Integrating Contur ELN with other systems using a RESTful API
(ATS6-DEV08) Integrating Contur ELN with other systems using a RESTful API(ATS6-DEV08) Integrating Contur ELN with other systems using a RESTful API
(ATS6-DEV08) Integrating Contur ELN with other systems using a RESTful API
BIOVIA
 
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
 
SiriusCon 2017 - Get your stakeholders into modeling using graphical editors
SiriusCon 2017 - Get your stakeholders into modeling using graphical editorsSiriusCon 2017 - Get your stakeholders into modeling using graphical editors
SiriusCon 2017 - Get your stakeholders into modeling using graphical editors
Obeo
 
Machine Learning Pipelines - Joseph Bradley - Databricks
Machine Learning Pipelines - Joseph Bradley - DatabricksMachine Learning Pipelines - Joseph Bradley - Databricks
Machine Learning Pipelines - Joseph Bradley - Databricks
Spark Summit
 
Machine learning pipeline with spark ml
Machine learning pipeline with spark mlMachine learning pipeline with spark ml
Machine learning pipeline with spark ml
datamantra
 
Validate Your Validations: Both Sides Now
Validate Your Validations: Both Sides NowValidate Your Validations: Both Sides Now
Validate Your Validations: Both Sides Now
Karen Cannell
 
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
Databricks
 
Real-Time Voice Actuation
Real-Time Voice ActuationReal-Time Voice Actuation
Real-Time Voice Actuation
Pragya Agrawal
 
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
Databricks
 
Scilab
ScilabScilab
Scilab Challenge@NTU 2014/2015 Project Briefing
Scilab Challenge@NTU 2014/2015 Project BriefingScilab Challenge@NTU 2014/2015 Project Briefing
Scilab Challenge@NTU 2014/2015 Project Briefing
TBSS Group
 
A shared-filesystem-memory approach for running IDA in parallel over informal...
A shared-filesystem-memory approach for running IDA in parallel over informal...A shared-filesystem-memory approach for running IDA in parallel over informal...
A shared-filesystem-memory approach for running IDA in parallel over informal...
openseesdays
 
JDK8 Streams
JDK8 StreamsJDK8 Streams
JDK8 Streams
Bansilal Haudakari
 
APEX JET Charts: Data Viz now!
APEX JET Charts:  Data Viz now!APEX JET Charts:  Data Viz now!
APEX JET Charts: Data Viz now!
Karen Cannell
 
Deploying Machine Learning Models to Production
Deploying Machine Learning Models to ProductionDeploying Machine Learning Models to Production
Deploying Machine Learning Models to Production
Anass Bensrhir - Senior Data Scientist
 

What's hot (20)

Deploying Enterprise Deep Learning Masterclass Preview - Enterprise Deep Lea...
Deploying Enterprise Deep Learning Masterclass Preview -  Enterprise Deep Lea...Deploying Enterprise Deep Learning Masterclass Preview -  Enterprise Deep Lea...
Deploying Enterprise Deep Learning Masterclass Preview - Enterprise Deep Lea...
 
[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 Data Science with Apache Spark-(Reza Zadeh, Stanford)
Advanced Data Science with Apache Spark-(Reza Zadeh, Stanford)Advanced Data Science with Apache Spark-(Reza Zadeh, Stanford)
Advanced Data Science with Apache Spark-(Reza Zadeh, Stanford)
 
Extracting information from images using deep learning and transfer learning ...
Extracting information from images using deep learning and transfer learning ...Extracting information from images using deep learning and transfer learning ...
Extracting information from images using deep learning and transfer learning ...
 
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 ...
 
(ATS6-DEV08) Integrating Contur ELN with other systems using a RESTful API
(ATS6-DEV08) Integrating Contur ELN with other systems using a RESTful API(ATS6-DEV08) Integrating Contur ELN with other systems using a RESTful API
(ATS6-DEV08) Integrating Contur ELN with other systems using a RESTful API
 
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 ...
 
SiriusCon 2017 - Get your stakeholders into modeling using graphical editors
SiriusCon 2017 - Get your stakeholders into modeling using graphical editorsSiriusCon 2017 - Get your stakeholders into modeling using graphical editors
SiriusCon 2017 - Get your stakeholders into modeling using graphical editors
 
Machine Learning Pipelines - Joseph Bradley - Databricks
Machine Learning Pipelines - Joseph Bradley - DatabricksMachine Learning Pipelines - Joseph Bradley - Databricks
Machine Learning Pipelines - Joseph Bradley - Databricks
 
Machine learning pipeline with spark ml
Machine learning pipeline with spark mlMachine learning pipeline with spark ml
Machine learning pipeline with spark ml
 
Validate Your Validations: Both Sides Now
Validate Your Validations: Both Sides NowValidate Your Validations: Both Sides Now
Validate Your Validations: Both Sides Now
 
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
 
Real-Time Voice Actuation
Real-Time Voice ActuationReal-Time Voice Actuation
Real-Time Voice Actuation
 
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
 
Scilab
ScilabScilab
Scilab
 
Scilab Challenge@NTU 2014/2015 Project Briefing
Scilab Challenge@NTU 2014/2015 Project BriefingScilab Challenge@NTU 2014/2015 Project Briefing
Scilab Challenge@NTU 2014/2015 Project Briefing
 
A shared-filesystem-memory approach for running IDA in parallel over informal...
A shared-filesystem-memory approach for running IDA in parallel over informal...A shared-filesystem-memory approach for running IDA in parallel over informal...
A shared-filesystem-memory approach for running IDA in parallel over informal...
 
JDK8 Streams
JDK8 StreamsJDK8 Streams
JDK8 Streams
 
APEX JET Charts: Data Viz now!
APEX JET Charts:  Data Viz now!APEX JET Charts:  Data Viz now!
APEX JET Charts: Data Viz now!
 
Deploying Machine Learning Models to Production
Deploying Machine Learning Models to ProductionDeploying Machine Learning Models to Production
Deploying Machine Learning Models to Production
 

Viewers also liked

SiriusCon2016 - Integrating Textual and Graphical Editing in the POOSL IDE
SiriusCon2016 - Integrating Textual and Graphical Editing in the POOSL IDESiriusCon2016 - Integrating Textual and Graphical Editing in the POOSL IDE
SiriusCon2016 - Integrating Textual and Graphical Editing in the POOSL IDE
Obeo
 
SiriusCon2016 - Document Generation with M2Doc
SiriusCon2016 - Document Generation with M2DocSiriusCon2016 - Document Generation with M2Doc
SiriusCon2016 - Document Generation with M2Doc
Obeo
 
SiriusCon2016 - Let me Sirius that for you: Properties Views
SiriusCon2016 - Let me Sirius that for you: Properties ViewsSiriusCon2016 - Let me Sirius that for you: Properties Views
SiriusCon2016 - Let me Sirius that for you: Properties Views
melbats
 
Roadmap - SiriusCon2016
Roadmap - SiriusCon2016Roadmap - SiriusCon2016
Roadmap - SiriusCon2016
Cédric Brun
 
SiriusCon2016 - ASML's MDE Going Sirius
SiriusCon2016 - ASML's MDE Going SiriusSiriusCon2016 - ASML's MDE Going Sirius
SiriusCon2016 - ASML's MDE Going Sirius
Obeo
 
SiriusCon2016 - Modelling Spacecraft On-board Software with Sirius
SiriusCon2016 - Modelling Spacecraft On-board Software with SiriusSiriusCon2016 - Modelling Spacecraft On-board Software with Sirius
SiriusCon2016 - Modelling Spacecraft On-board Software with Sirius
Obeo
 
SiriusCon2016 - Visualization of Inferred Versioned Schemas from NoSQL Databases
SiriusCon2016 - Visualization of Inferred Versioned Schemas from NoSQL DatabasesSiriusCon2016 - Visualization of Inferred Versioned Schemas from NoSQL Databases
SiriusCon2016 - Visualization of Inferred Versioned Schemas from NoSQL Databases
Obeo
 
SiriusCon2016 - Embrace the Power of Design. Core Principles for Creating Eff...
SiriusCon2016 - Embrace the Power of Design. Core Principles for Creating Eff...SiriusCon2016 - Embrace the Power of Design. Core Principles for Creating Eff...
SiriusCon2016 - Embrace the Power of Design. Core Principles for Creating Eff...
Obeo
 
SiriusCon2016 - Extensible Sirius Editors for the Palladio Component Model
SiriusCon2016 - Extensible Sirius Editors for the Palladio Component ModelSiriusCon2016 - Extensible Sirius Editors for the Palladio Component Model
SiriusCon2016 - Extensible Sirius Editors for the Palladio Component Model
Obeo
 
SiriusCon2016 - Let's talk about your future sirius project
SiriusCon2016 - Let's talk about your future sirius projectSiriusCon2016 - Let's talk about your future sirius project
SiriusCon2016 - Let's talk about your future sirius project
glefur
 
SiriusCon2016 - Une plateforme de modelisation support au PLM de l'ingenierie...
SiriusCon2016 - Une plateforme de modelisation support au PLM de l'ingenierie...SiriusCon2016 - Une plateforme de modelisation support au PLM de l'ingenierie...
SiriusCon2016 - Une plateforme de modelisation support au PLM de l'ingenierie...
Obeo
 
SiriusCon2016 - Capella Team: Live collaborative modeling with Sirius
SiriusCon2016 - Capella Team: Live collaborative modeling with SiriusSiriusCon2016 - Capella Team: Live collaborative modeling with Sirius
SiriusCon2016 - Capella Team: Live collaborative modeling with Sirius
Obeo
 
Model-based testing of executable statecharts
Model-based testing of executable statechartsModel-based testing of executable statecharts
Model-based testing of executable statecharts
Tom Mens
 
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
 
UMLtoGraphDB: Mapping Conceptual Schemas to Graph Databases
UMLtoGraphDB: Mapping Conceptual Schemas to Graph DatabasesUMLtoGraphDB: Mapping Conceptual Schemas to Graph Databases
UMLtoGraphDB: Mapping Conceptual Schemas to Graph Databases
Gwendal Daniel
 
Sirius talk at EclipseCon Europe 2013
Sirius talk at EclipseCon Europe 2013Sirius talk at EclipseCon Europe 2013
Sirius talk at EclipseCon Europe 2013
pcdavid_
 

Viewers also liked (16)

SiriusCon2016 - Integrating Textual and Graphical Editing in the POOSL IDE
SiriusCon2016 - Integrating Textual and Graphical Editing in the POOSL IDESiriusCon2016 - Integrating Textual and Graphical Editing in the POOSL IDE
SiriusCon2016 - Integrating Textual and Graphical Editing in the POOSL IDE
 
SiriusCon2016 - Document Generation with M2Doc
SiriusCon2016 - Document Generation with M2DocSiriusCon2016 - Document Generation with M2Doc
SiriusCon2016 - Document Generation with M2Doc
 
SiriusCon2016 - Let me Sirius that for you: Properties Views
SiriusCon2016 - Let me Sirius that for you: Properties ViewsSiriusCon2016 - Let me Sirius that for you: Properties Views
SiriusCon2016 - Let me Sirius that for you: Properties Views
 
Roadmap - SiriusCon2016
Roadmap - SiriusCon2016Roadmap - SiriusCon2016
Roadmap - SiriusCon2016
 
SiriusCon2016 - ASML's MDE Going Sirius
SiriusCon2016 - ASML's MDE Going SiriusSiriusCon2016 - ASML's MDE Going Sirius
SiriusCon2016 - ASML's MDE Going Sirius
 
SiriusCon2016 - Modelling Spacecraft On-board Software with Sirius
SiriusCon2016 - Modelling Spacecraft On-board Software with SiriusSiriusCon2016 - Modelling Spacecraft On-board Software with Sirius
SiriusCon2016 - Modelling Spacecraft On-board Software with Sirius
 
SiriusCon2016 - Visualization of Inferred Versioned Schemas from NoSQL Databases
SiriusCon2016 - Visualization of Inferred Versioned Schemas from NoSQL DatabasesSiriusCon2016 - Visualization of Inferred Versioned Schemas from NoSQL Databases
SiriusCon2016 - Visualization of Inferred Versioned Schemas from NoSQL Databases
 
SiriusCon2016 - Embrace the Power of Design. Core Principles for Creating Eff...
SiriusCon2016 - Embrace the Power of Design. Core Principles for Creating Eff...SiriusCon2016 - Embrace the Power of Design. Core Principles for Creating Eff...
SiriusCon2016 - Embrace the Power of Design. Core Principles for Creating Eff...
 
SiriusCon2016 - Extensible Sirius Editors for the Palladio Component Model
SiriusCon2016 - Extensible Sirius Editors for the Palladio Component ModelSiriusCon2016 - Extensible Sirius Editors for the Palladio Component Model
SiriusCon2016 - Extensible Sirius Editors for the Palladio Component Model
 
SiriusCon2016 - Let's talk about your future sirius project
SiriusCon2016 - Let's talk about your future sirius projectSiriusCon2016 - Let's talk about your future sirius project
SiriusCon2016 - Let's talk about your future sirius project
 
SiriusCon2016 - Une plateforme de modelisation support au PLM de l'ingenierie...
SiriusCon2016 - Une plateforme de modelisation support au PLM de l'ingenierie...SiriusCon2016 - Une plateforme de modelisation support au PLM de l'ingenierie...
SiriusCon2016 - Une plateforme de modelisation support au PLM de l'ingenierie...
 
SiriusCon2016 - Capella Team: Live collaborative modeling with Sirius
SiriusCon2016 - Capella Team: Live collaborative modeling with SiriusSiriusCon2016 - Capella Team: Live collaborative modeling with Sirius
SiriusCon2016 - Capella Team: Live collaborative modeling with Sirius
 
Model-based testing of executable statecharts
Model-based testing of executable statechartsModel-based testing of executable statecharts
Model-based testing of executable statecharts
 
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
 
UMLtoGraphDB: Mapping Conceptual Schemas to Graph Databases
UMLtoGraphDB: Mapping Conceptual Schemas to Graph DatabasesUMLtoGraphDB: Mapping Conceptual Schemas to Graph Databases
UMLtoGraphDB: Mapping Conceptual Schemas to Graph Databases
 
Sirius talk at EclipseCon Europe 2013
Sirius talk at EclipseCon Europe 2013Sirius talk at EclipseCon Europe 2013
Sirius talk at EclipseCon Europe 2013
 

Similar to V for visualization: VIATRA finally goes graphical thanks to Sirius!

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
Istvan Rath
 
The Road to U-SQL: Experiences in Language Design (SQL Konferenz 2017 Keynote)
The Road to U-SQL: Experiences in Language Design (SQL Konferenz 2017 Keynote)The Road to U-SQL: Experiences in Language Design (SQL Konferenz 2017 Keynote)
The Road to U-SQL: Experiences in Language Design (SQL Konferenz 2017 Keynote)
Michael Rys
 
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
Antonio García-Domínguez
 
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptxStatic abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
Marco Parenzan
 
Hunting for anglerfish in datalakes
Hunting for anglerfish in datalakesHunting for anglerfish in datalakes
Hunting for anglerfish in datalakes
Dominic Egger
 
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
Henry 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 Cloud
SERENEWorkshop
 
MODELS 2019: Querying and annotating model histories with time-aware patterns
MODELS 2019: Querying and annotating model histories with time-aware patternsMODELS 2019: Querying and annotating model histories with time-aware patterns
MODELS 2019: Querying and annotating model histories with time-aware patterns
Antonio García-Domínguez
 
Introduction to the rust programming language
Introduction to the rust programming languageIntroduction to the rust programming language
Introduction to the rust programming language
Nikolay Denev
 
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
 
The openCypher Project - An Open Graph Query Language
The openCypher Project - An Open Graph Query LanguageThe openCypher Project - An Open Graph Query Language
The openCypher Project - An Open Graph Query Language
Neo4j
 
Language Server Protocol - Why the Hype?
Language Server Protocol - Why the Hype?Language Server Protocol - Why the Hype?
Language Server Protocol - Why the Hype?
mikaelbarbero
 
Ballerina- A programming language for the networked world
Ballerina- A programming language for the networked worldBallerina- A programming language for the networked world
Ballerina- A programming language for the networked world
Asangi Jasenthuliyana
 
Ballerina- A programming language for the networked world
Ballerina- A programming language for the networked worldBallerina- A programming language for the networked world
Ballerina- A programming language for the networked world
Integration Meetups
 
Automated Syntactic Mediation for Web Service Integration
Automated Syntactic Mediation for Web Service IntegrationAutomated Syntactic Mediation for Web Service Integration
Automated Syntactic Mediation for Web Service Integration
Martin Szomszor
 
Whole Platform LWC11 Submission
Whole Platform LWC11 SubmissionWhole Platform LWC11 Submission
Whole Platform LWC11 Submission
Riccardo Solmi
 
Source-to-source transformations: Supporting tools and infrastructure
Source-to-source transformations: Supporting tools and infrastructureSource-to-source transformations: Supporting tools and infrastructure
Source-to-source transformations: Supporting tools and infrastructure
kaveirious
 
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worldsmbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
Istvan Rath
 
OCR using Tesseract
OCR using TesseractOCR using Tesseract
OCR using Tesseract
Shobhit Chittora
 
OCR using Tesseract
OCR using TesseractOCR using Tesseract
OCR using Tesseract
Shobhit Chittora
 

Similar to V for visualization: VIATRA finally goes graphical thanks to Sirius! (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
 
The Road to U-SQL: Experiences in Language Design (SQL Konferenz 2017 Keynote)
The Road to U-SQL: Experiences in Language Design (SQL Konferenz 2017 Keynote)The Road to U-SQL: Experiences in Language Design (SQL Konferenz 2017 Keynote)
The Road to U-SQL: Experiences in Language Design (SQL Konferenz 2017 Keynote)
 
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
 
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptxStatic abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
 
Hunting for anglerfish in datalakes
Hunting for anglerfish in datalakesHunting for anglerfish in datalakes
Hunting for anglerfish in datalakes
 
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
 
MODELS 2019: Querying and annotating model histories with time-aware patterns
MODELS 2019: Querying and annotating model histories with time-aware patternsMODELS 2019: Querying and annotating model histories with time-aware patterns
MODELS 2019: Querying and annotating model histories with time-aware patterns
 
Introduction to the rust programming language
Introduction to the rust programming languageIntroduction to the rust programming language
Introduction to the rust programming language
 
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...
 
The openCypher Project - An Open Graph Query Language
The openCypher Project - An Open Graph Query LanguageThe openCypher Project - An Open Graph Query Language
The openCypher Project - An Open Graph Query Language
 
Language Server Protocol - Why the Hype?
Language Server Protocol - Why the Hype?Language Server Protocol - Why the Hype?
Language Server Protocol - Why the Hype?
 
Ballerina- A programming language for the networked world
Ballerina- A programming language for the networked worldBallerina- A programming language for the networked world
Ballerina- A programming language for the networked world
 
Ballerina- A programming language for the networked world
Ballerina- A programming language for the networked worldBallerina- A programming language for the networked world
Ballerina- A programming language for the networked world
 
Automated Syntactic Mediation for Web Service Integration
Automated Syntactic Mediation for Web Service IntegrationAutomated Syntactic Mediation for Web Service Integration
Automated Syntactic Mediation for Web Service Integration
 
Whole Platform LWC11 Submission
Whole Platform LWC11 SubmissionWhole Platform LWC11 Submission
Whole Platform LWC11 Submission
 
Source-to-source transformations: Supporting tools and infrastructure
Source-to-source transformations: Supporting tools and infrastructureSource-to-source transformations: Supporting tools and infrastructure
Source-to-source transformations: Supporting tools and infrastructure
 
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worldsmbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
 
OCR using Tesseract
OCR using TesseractOCR using Tesseract
OCR using Tesseract
 
OCR using Tesseract
OCR using TesseractOCR using Tesseract
OCR using Tesseract
 

More from Ákos Horváth

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

More from Ákos Horváth (17)

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

Recently uploaded

Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.
KrishnaveniMohan1
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
Patrick Weigel
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
ToXSL Technologies
 
Building API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructureBuilding API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructure
confluent
 
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdfThe Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
kalichargn70th171
 
Going AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applicationsGoing AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applications
Alina Yurenko
 
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
ervikas4
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
ShulagnaSarkar2
 
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
kalichargn70th171
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
dakas1
 
The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024
Yara Milbes
 
Optimizing Your E-commerce with WooCommerce.pptx
Optimizing Your E-commerce with WooCommerce.pptxOptimizing Your E-commerce with WooCommerce.pptx
Optimizing Your E-commerce with WooCommerce.pptx
WebConnect Pvt Ltd
 
The Role of DevOps in Digital Transformation.pdf
The Role of DevOps in Digital Transformation.pdfThe Role of DevOps in Digital Transformation.pdf
The Role of DevOps in Digital Transformation.pdf
mohitd6
 
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in NashikUpturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
gapen1
 
Beginner's Guide to Observability@Devoxx PL 2024
Beginner's  Guide to Observability@Devoxx PL 2024Beginner's  Guide to Observability@Devoxx PL 2024
Beginner's Guide to Observability@Devoxx PL 2024
michniczscribd
 
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
widenerjobeyrl638
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
XfilesPro
 

Recently uploaded (20)

Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
 
Building API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructureBuilding API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructure
 
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdfThe Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
 
Going AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applicationsGoing AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applications
 
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
 
bgiolcb
bgiolcbbgiolcb
bgiolcb
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
 
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
 
The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024
 
Optimizing Your E-commerce with WooCommerce.pptx
Optimizing Your E-commerce with WooCommerce.pptxOptimizing Your E-commerce with WooCommerce.pptx
Optimizing Your E-commerce with WooCommerce.pptx
 
The Role of DevOps in Digital Transformation.pdf
The Role of DevOps in Digital Transformation.pdfThe Role of DevOps in Digital Transformation.pdf
The Role of DevOps in Digital Transformation.pdf
 
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in NashikUpturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in Nashik
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
 
Beginner's Guide to Observability@Devoxx PL 2024
Beginner's  Guide to Observability@Devoxx PL 2024Beginner's  Guide to Observability@Devoxx PL 2024
Beginner's Guide to Observability@Devoxx PL 2024
 
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
 

V for visualization: VIATRA finally goes graphical thanks to Sirius!

  • 1. V for visualization: VIATRA finally goes graphical thanks to Sirius! (and Clarity) Ákos Horváth, Ádám Lengyel, István Ráth and Zoltán Ujhelyi, IncQuery Labs Ltd. Eric Lepicier and Stéphane Bonnet Thales
  • 2. Outline Textual and graphical editor editor integration • Introduction • Motivation Background • VIATRA, Xtext, Capella, Sirius-Xtext integration • Approaches • Lessons learned Conclusion • Conclusion Main Contributors  From IncQuery Labs o Zoltán Ujhelyi o Ádám Lengyel o István Ráth o Ákos Horváth o Ábel Hegedüs  From Thales o Eric Lepicier o Stéphane Bonnet o Matthieu Helleboid o and many others
  • 3. pattern availableGreaterThanTotalCpu(host : HostInstance) { HostInstance.availableCpu(host, aCpu); HostInstance.totalCpu(host, tCpu); check(aCpu > tCpu);} pattern sendTransitionAppSignal(transition, app, signal) { Transition.action(transition, action); app == eval(SignalUtil.getAppId(action)); signal == eval(SignalUtil.getSignalId(action));} pattern notAllocatedButRunning(app : ApplicationInstance) { ApplicationInstance.state(app, AppState::Running); neg find allocatedApplication(app);} private pattern allocatedApplication(app:ApplicationInstance) {ApplicationInstance.allocatedTo(app, _);} Introduction ?? Huh that looks complicated Can I define my queries graphically? Wow thanks but it would be nice if I could work on both representations
  • 4. Motivating scenario: Clarity French national and Industrial collaboration project (started in 2014) • Grow the Capella ecosystem • 20+ partners Extract information from these models! Copyright: polarsys.org
  • 5. Motivating scenario: Heavy use of EMF-IncQuery ( VIATRA queries) • Part of core services in Capella • User defined queries  custom high-level graphical editor Copyright: polarsys.org Capella end-user graphical queries
  • 6. Background: VIATRA query VIATRA query • Incremental model query engine • Own query language = VQL o declarative o graph pattern based 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 VIATRA : http://www.eclipse.org/viatra/
  • 7. Background: Viatra Query Language More details on VIATRA : http://www.eclipse.org/viatra/ package org.eclipse.viatra.examples.cps.generator.queries import “http://org.eclipse.viatra/model/cps" pattern States(t : HostType) { HostType(t); } pattern test (ht, hi) { HostInstance(hi); HostType(ht); HostType.instances(ht, hi); } Query definition Query parameter Type constraint (syntactic sugar) Type constraint Package declaration Import statement Reference constraint
  • 8. Background: Xtext • Textual editor generator framework o LL(*) parser based on ANTLR o Incremental compiler  EMF serialization • High-level support for o Validation o Referencing o Context aware operations • Support for JVM based languages o Xbase More details on Xtext: https://eclipse.org/xtext/
  • 9. Background: Sirius • Custom concrete syntax for visualization o Tree, table, graph, etc. • Provides viewpoint definition over EMF models • Abstraction can be defined using interpreted expressions • Supports several viewpoints over the same abstract syntax • Highly scalable and customizable • EMF based More details on Sirius: https://eclipse.org/sirius/
  • 11. Our three approaches Shared EMF serialization • 2016 (VIATRA) EMF-based view models • 2015 (@SiriusCon) * Separated DSLs for design • ~2015 (Clarity) Query definition [Xtext] Query definition [Sirius] Text Xtext serialization [EMF] Graph (*) More details on the EMF-based view models approach : link Query definition [Xtext] Query definition View [Sirius] Text EMF GraphEMF sync h Query definition [Xtext] Query definition [Sirius] Text EMF GraphEMF Common Representation sync h
  • 12. Overview: Current VQL editor support (attempt 3  ) Based on common EMF model from Xtext • Allows reuse of available tooling o Validation o Translation • Synchronization is done on EMF instance level Query definition [Xtext] Query definition [Sirius] Text Xtext serialization [EMF] Graph pattern test (ht, hi) { HostInstance(hi); HostType(ht); HostType.instances(ht, hi);}
  • 13. DEMO Simple query definitions • Basic manipulation Visualization example with Sirius Visual and textual editors
  • 14. Lessons learned from our three attempts
  • 15. Technological differences Topic Sirius Xtext Editing -Direct model manipulation -Add/Remove characters Cross-references -Model URI -Direct Java references in AST -Qualified and short names Validation support -Manual -Live  requires change tracking (use VIATRA) -Live -Manual (rarely) Imperative control structures - Problematic -Well supported (e.g., Xbase support) Challenges - Embedded Xtext editors - Stable URIs - Serialization
  • 16. Shared EMF serialization Shared tooling • Code generation • Validation Complex model manipulation operations • Structural updates • Serializability Gap between textual and graphical representation • Unstable UI fragments (e.g., URI changes with add/del) • Xtext specific artefacts (e.g., import declarations) Implementation differences • Textual editing + reparsing vs. Transactional editing References between representation • Grammar AST will become an “API” Query definition [Xtext] Query definition [Sirius] Text Xtext serialization [EMF] Graph
  • 17. EMF-based view models Dedicated editors/views for both syntaxes Shared tooling • Based on the selected language Complex synchronization transformation • Unidirectional, incremental transformation o Can be handled by Viatra (if changes are supported) • Semantic Gap mapping Unidirectional synchronization • Bidirectionality? o Subject to R&D  unambiguity Query definition [Xtext] Query definition View [Sirius] Text EMF GraphEMF sync h
  • 18. Separated DSLs for design Dedicated editors for both syntaxes Tooling duplication • Validation • Code-generation  defined only on common representation Synchronization • Can be uni~ and also bidirectional Change management • Requires work o on both frontends o on both synchronization transformations Tool integration issues • E.g., Can graphical models refer to textual Query definition [Xtext] Query definition [Sirius] Text EMF GraphEMF Common Representation sync h
  • 20. Conclusions No silver bullet Language co-evolution is required in the long-run 21 Semantic gap is small Cross-references can be mapped Heavy tool reusability required Languages often change One dedicated editor and multiple views Incrementality is required to some degree Languages change only sometimes Bidirectional / Incremental synchronization is required Editing in both domains is required • Separated tooling provides enhanced UX Languages rarely change Works well when
  • 21. Final points A beta graphical editor will be available in Viatra 1.5 • Contributors: o IncQuery Labs, Thales Clarity project provided dedicated graphical tooling for (VIATRA) query specification • Within eClarity we plan to further this tooling  Your contributions (feedback, forum posts, ideas, patches) are very welcome! • To what direction should we enhance this approach? 22
  • 22. http://www.incquerylabs.com/ info@incquerylabs.com Tel: +36 70 633 3973 Email: akos.horvath@incquerylabs.com @IncQueryLabs https://www.facebook.com/incquerylabs/ https://www.linkedin.com/company/incquery-labs-ltd-

Editor's Notes

  1. Viewpoints Different view of the underlying model Abstraction  Hides complexity
  2. Incremental query engine for EMF Declarative language Incremental, live queries Highly scalable Advanced support for On-the-fly validation Custom views Traceability Derived features
  3. * Saving XText TypeResource instances * https://bugs.eclipse.org/bugs/show_bug.cgi?id=497559 * https://git.eclipse.org/r/84664 * Transaction issue with Resource loading and reloading (in case a reload there is only a read-only transaction) * https://www.eclipse.org/forums/index.php/t/1081796/ * Possible patch available in https://github.com/ujhelyiz/org.eclipse.sirius/commit/07fe8ef7217b0a5275b43dad11582e1f3211a3d9
  4. Xtext Stable URI: Default XMI like relative URI fragments (based on order like patterns/@.0 etc) Customize Xtext FragementProvider provider might be required (based on reference naming) Serilization: Custom serializer might be required to handle graphical editing Sirius: embedded Embedded Xtext editors * Virtual EMF resource * Xtext loads virtual resource -> text representation is displayed , editing as normal * On save changes are needed to be written back to the original model
  5. References between representation * syntax updates have to consider both syntaxes (not future proof) JVM inferred model elements support is problematic for Sirius
  6. Tool integration issues Graphical refer to textual representation (is this required) Qualified/Unqualified names vs URIs Custom code to Sirius based editors is required