eclipse neon democamp budapest - viatra 1.3 release
TRANSCRIPT
DR. ÁBEL HEGEDÜSSOFTWARE R&D ENGINEER,MODEL-DRIVEN ENGINEERING EXPERT
VIATRA 1.3 RELEASEECLIPSE NEON DEMOCAMP BUDAPEST
About me
Software Engineer, PhD (2009, 2015)Model-driven Engineering Expert (IncQuery Labs)VIATRA co-lead
https://hu.linkedin.com/in/abelhegedus
Models, models, models!Eclipse e4
Incremental query engine for EMF• Declarative language• Incremental, live
queries• Highly scalableAdvanced support for• On-the-fly validation• Custom views• Traceability• Derived features
Model transformation framework• Event-based + reactive
execution platform• Xtend based API• Scalable M2M & M2THigh-level features• Complex event
processing• Design space
exploration• Incremental transform.
VIATRA query and transformation framework
Transformation
Official Eclipse member4 Project co-leads 14 Eclipse committers
Tool integration with: Papyrus UML, Sirius, RMF, Capella, ARTOP, mbeddr
Query
History
HistoryFurther detailshttps://wiki.eclipse.org/VIATRA/History
New and noteworthy in VIATRA 1.3
New in VIATRA 1.3Compatible with Neon, Xtext 2.10New functionality• Transformation debugger• Query-by-example• Transformation development perspectiveLong overdue improvements• New type inferrer (since 2012)• New query development UI (since 2013)• Lazy loading of registered queriesSearch based query evaluationDesign space exploration• Improve overall memory and runtime characteristics• Migration to common transformation API
Transformation debugger
Transformation debuggerStack trace for transformation rules
Transformation debuggerStack trace for transformation rules
Model state view
Transformation debuggerStack trace for transformation rules
Model state view
Transformation state view
Query-by-example
Query-by-exampleSelect model elements in editor
Start exploration to generate query candidates
Configure details and export query definition
Transformation development perspective
Transformation development perspectiveExplore all workspace and registered queries Evaluate selected
queries on models during development
Both views provide additional details in the Properties view
Under the hood improvementsType inferrer• New, future-proof rule-based approachLazy loading of query specifications• Avoid expensive class loadingSearch based query evaluation• Lots of bug fixes• Identified performance bottlenecks• Significant improvements prototyped for
1.4.0
Tutorials, applications,benchmarks, other platforms
TutorialComplete, step-by-step guide for VIATRA• Query development• Batch and incremental transformations• Advanced featureshttp://static.incquerylabs.com/projects/viatra/viatra-docs/ViatraDocs.html
EMDWIncremental code-generation for xUML-RT• Executable modeling in UML• Complex transformation workflow• Built on VIATRAModel compiler
https://github.com/IncQueryLabs/EMDW-MC Out of the box compatibility with CDTSimulatorhttp://modelexecution.eltesoft.hu/
MassifMatlab Simulink Integration Framework• Convert models
o Simulink EMF o EMF Simulink
• Bridge simulators with Eclipse modeling toolsHigh-level features• Multiple import modes (shallow, deep, flatten)• Access models via API• Traceability links
https://github.com/IncQueryLabs/massif
MoDeS3 - Model-based Demonstrator for Smart and Safe Systems
A technology demonstrator for education• Development methodologies for
safety-critical systems• Internet-of-Things technology stack
Blog:http://modes3.tumblr.com/ Source GitHub repo:https://github.com/FTSRG/BME-MODES3
23
MoDeS3 - Model-based Demonstrator for Smart and Safe Systems
MoDeS3 - Model-based Demonstrator for Smart and Safe Systems
A technology demonstrator for education• Development methodologies for
safety-critical systems• Internet-of-Things technology stackBuilt with VIATRA• Validation• Model transformation• Code generationRuns on VIATRA• Complex event processing
Blog:http://modes3.tumblr.com/ Source GitHub repo:https://github.com/FTSRG/BME-MODES3
CPS benchmarkPerformance evaluation of transformations• Model-to-model• Model-to-text (code generation)https://github.com/viatra/viatra-cps-benchmark
Comparison of batch and incremental M2M transformations
Other platformsIncQuery-D• Distributed + Incremental graph query engine• Deployed over cloud, highly scalable (100M+)• Powered by Spark+Hadoop• RDF, Property graphs, relational databasesIncA• Program analysis framework• Integrated with MPS, mbeddrC++• Efficient local search over object models• Generated from VIATRA query definitions• Soon to be contributed to VIATRA
https://szabta89.github.io/projects/inca.html
https://github.com/viatra/incqueryd
https://github.com/doczir/EMFIncQuery-CPP
SummaryVIATRA• Query and transformation framework
o Complex event processingo Design space explorationo Addons and integrations
• 1.3 release readyo Neon compatibilityo New featureso Over 70 issues resolved
• Many related tools and applications@IncQueryLabs
https://www.facebook.com/incquerylabs/
https://www.linkedin.com/company/incquery-labs-ltd-
http://www.incquerylabs.com/[email protected] Tel: +36 70 633 3973
http://www.eclipse.org/viatra/