2. The Authors (in 2010)
Gábor Bergmann
PhD student
Ákos Horváth
PhD student
István Ráth
PhD student
DánielVarró
Associate prof.
AndrásBalogh
CTO
ZoltánBalogh
Software Engineer
AndrásÖkrös
Software Engineer
3. The Authors and Core Contributors (in 2020)
AndrásBalogh, PhD
CTO at ThyssenKrupp Presta HUN
AndrásÖkrös
Business Partner at
Escape Company Gmbh
ZoltánBalogh
Software Engineer
Management
Experts
Ákos Horváth, PhD
COO/CTO
István Ráth, PhD
CEO
Dániel Varró, DSc.
(external)
Professor at McGill
Gábor Bergmann, PhD Ábel Hegedüs, PhD Zoltán Ujhelyi, PhD
Dénes Harmath Péter Lunk Csaba Debreceni, PhD István Papp
Tamás Szabó
PhD cand. at JGU Mainz
Softw. Eng. at Workday
7. Motivation: Early Validation of Design Rules
Similar challengesat: Thales, NASA JPL, CEA, Ericsson, ThyssenKrupp ...
7
AUTOSAR:
• standardized SW architecture of the automotive industry
DesignRule/Well-formedness constraint:
• each valid supported by modern modeling tools
• car architecture needs to respect
• designers are immediately notified if violated
Challenge:
• >200 design rules in AUTOSAR tools
• >1 million elements in AUTOSAR models
• models constantly evolve by designers
8. •Declarativegraphquery
language
•Transitiveclosure, Negation
cond., etc.
•Compositional, reusable
•Local + Global queries
Definition
•Incremental evaluation
•Cache result set
(RETE networks)
•Maintain incrementally
upon model change
Execution
•View generation,
•Derived features,
•On-the-fly validation
•Works out-of-the-boxwith
EMF applications
Tooling
•AUTOSARcasestudy
•3 tools compared (Java,
MDT-OCL, IncQuery)
•Scalability measurements
•Load + query
•Manipulate + re-check
•Up to 1.5 million elements
Experiments
EMF-IncQuery: An Open Source Eclipse Project
9. Graph Patterns as Query Language
• Graph patterns as
declarative query language
• Algebraic attribute constraints
• Local + global queries
• Compositionality + Reusabilility
• „Arbitrary” Recursion, Negation
Original slide fromMODELS 2010 talk
10. • Graph patterns as
declarative query language
• Algebraic attribute constraints
• Local + global queries
• Compositionality + Reusabilility
• „Arbitrary” Recursion, Negation
Graph Patterns as Query Language
pattern mappedSignal(S,M,P) = {
SignalIPdu(P);
signalToPduMapping(R3,P,M);
ISignalToIPduMapping(M);
signal(R1,M,S);
ISignal(S);
}
Original slide fromMODELS 2010 talk
11. Graph Patterns as Query Language
pattern mappedSignal(S,M,P) = {
SignalIPdu(P);
signalToPduMapping(R3,P,M);
ISignalToIPduMapping(M);
signal(R1,M,S);
ISignal(S);
}
pattern systemSignal(S,SS) = {
ISignal(S);
systemSignal(R2,S,SS);
SystemSignal(SS);
}
• Graph patterns as
declarative query language
• Algebraic attribute constraints
• Local + global queries
• Compositionality + Reusabilility
• „Arbitrary” Recursion, Negation
Original slide fromMODELS 2010 talk
12. Graph Patterns as Query Language
pattern mappedSignal(S,M,P) = {
SignalIPdu(P);
signalToPduMapping(R3,P,M);
ISignalToIPduMapping(M);
signal(R1,M,S);
ISignal(S);
}
pattern systemSignal(S,SS) = {
ISignal(S);
systemSignal(R2,S,SS);
SystemSignal(SS);
}
pattern systemSignalGroup(P) = {
find mappedSignal(S_Child,M_Child,P);
find systemSignal(S_Child,SS_Child);
systemSignal(R7,SS_Parent,SS_Child);
find systemSignal(S_Parent,SS_Parent);
neg find mappedSignal(S_Child,M_Child,P);
}
• Graph patterns as
declarative query language
• Algebraic attribute constraints
• Local + global queries
• Compositionality + Reusabilility
• „Arbitrary” Recursion, Negation
Original slide fromMODELS 2010 talk
13. What is Measured?
• Sample AUTOSARmodels were generated (> 1,5 million elements)
• matches are scarce relative to overall model size
• On-the-fly validation is modeled as follows:
1. Compute initial validation results
2. Apply randomly distributed, small changes
3. Re-compute validation results
• Measured: execution times + memory overhead
• Initialization (model load + RETE construction)
• Model manipulation operations (negligible)
• Validation result (re)computation
• Compared technologies
• MDT-OCL
• Plain Java code that an average developer would write
• See for yourself: http://viatra.inf.mit.bme.hu/models10
Hardware:
normal desktop PC
(Core2, 4GB RAM)
Original slide fromMODELS 2010 talk
14. Initialization Time
Resource loading + first validation
• <1 sec for models below 50 000 elements
• Up to 40 seconds for the largest model
• Grows linearly with the model size
• Orders of magnitude faster
Original slide fromMODELS 2010 talk
15. Recomputation Time
Recomputation time:
• Within error of measurement (=0)
• Independent of model size
• Retrieval of matches AND complex changes
is instantaneous (wrt. size of result set)
Memory overhead
• <50 MB for model sizes below
50 000 elements
• Up to 1GB for the largest model
(grows linearly with model size)
Original slide fromMODELS 2010 talk
18. Academic Use of IncrementalGraph Queries
•Automated recomputation
of derived features upon
model change
•Properly refreshed UI
•Soft traceability links
•Notification awarederived
features
Derived Features
in EMF
•Quick IDEfeedback with
static programanalysis
•Evaluated incrementally
•Declaratively defined
customanalyses
Program analysis
(IncA)
•Find design candidates
•Rules for operations
•Queries for constraints
•Hints and guidance
•Potentially infinite state
space
Design Space
Exploration
•Automated synthesis of
domain-specific models
•Consistent, realistic,
diverse, scalable
•Using incremental queries
over partial models
Model
Generation
•Secureviews for
collaborativemodeling
•Model-level query-based
access control
•Hide model parts for IP
protection & export rules
MONDO
Collaboration
Framework
•Runtime detection /
verification
• Live models
(refreshed atvery fast
rate: 25 frame/sec)
• E.g. gesturerecognition,
event tracking
Complex Event
Processing
•Providesimpified
graphicalviews for
complex models
•Forward incrementalview
maintenance
•Chaining of views
•Sirius integration
View
Maintenance
•Reacting only to model
changes
•Graph query defined rule
activations
•Customizableactivation
life-cycle
• Chained rule execution
Reactive model
transformation
19. Secure Collaborative Model Management
Write-through
access control
checked at VCS
Context-dependent
fine-grained locks to
avoid write conflicts
Secure views with
filtered and
obfuscated model
3-way model merge
by design space
exploration
Support for both
online and offline
collaboration
Model-level
fine-grained access
control policies
Scalability by
incremental checks
and bidirectional MT
C. Debreceni, G. Bergmann, I. Ráth, D. Varró:
Secure Views for Collaborative Modeling. IEEE
Softw. 35(6): 32-38 (2018)
20. Industrial Applications of IncQuery / VIATRA
• HW/SW allocation of IMA
avionics system
• Advanced model validation
• Configurable visualization of
underlying models
• Soft traceability links
between modeling artifacts
Embraer: IMA
configuration
• Live synchronization between
Matlab Simulink and Eclipse
• Supports any Matlab Simulink
models and libraries
• Flow management based on
IncQuery queries
Massif:
MATLAB-EMF
Bridge
• Shorten development cycle
(Build + Linking > 8h)
• Code generation from UML to
optimized C++ code
• Complete incremental tool-
chain aligned with Ericsson
linking stack
Ericsson-EMDW:
Code generator
• Internal AUTOSAR IDE for ECU
configuration
• Continuous model validation
• Automated unit test
generation
• Change propagation along
tool-chain
Thyssenkrupp
AUTOSAR
toolchain
• Part of the official AUTOSAR
modeling backend, Artop
(2017)
• Supports faster model
indexing and querying
• Alternate proxy resolution
engine for fast model loading
AUTOSAR
model indexing
• Queries integrated to SysML
models
• Query editor for MD
• WF constraint library for
SysML
• Efficient query evaluation of
Nx TMT model
VIATRA 4
MagicDraw
•CERN
•Thales
•NASA
•CEA
•Tools: MagicDraw, Papyrus,
Capella
Additional
Known Users
21. Selected Application –
Thyssenkrupp’s AUTOSAR toolchain
• Desktop: Extending the AUTOSARArchitectinternal IDE with
• On-the-fly model validation defined by 250+standard compliant rules (<150ms)
• Reactive view model maintenance for better visualization
• Automatedtest generation from component models
• Traceability managementusing soft-links between loosely coupled modeling segments
• Server: Dynamic configuration management (DCM)
• Automatedchange propagationmanagement along the development tool-chain
• DOORS (req.) , AA (component modeling), parameter.xml(source code)
• Data and type validation based on custom requirements and AUTOSAR data constraints.
• Technology:
• : Scalable reactive model transformations (an official Eclipse project)
23. The IncQuery Timeline (cont.d)
2010:EMF-IncQuery
• Incremental query evaluation
• Natively over EMF models
2013-14:
IncQuery-D
• Distributed
execution
• Cloud enabled
scalability
2015:VIATRA Query
• EMF-IncQuery and VIATRA
merged
• VIATRA is the umbrella
project
2017:
IncQuery
Server
• A scalable server
version of the
core algorithms
2019:IncQuery Suite
• First full-fledged product
family
24. IncQuery Suite:
Analyze Your Digital Threads
Revolutionary analysis suite
for MBSE
• Efficiently extracts engineering
data from proprietary silos…
• to create a unified, searchable
and analysable representation
of your entire digital thread.
25. IncQuery Suite
Features
Validationreports Analysis dashboard Engineering dataqueries Tool integrationplatform
Automatically
validate
documents /
projects
Standards
(UML/SysML,
UPDM, UAF, …)
Custom rules
Jupyter ecosystem
In-depth,
interactive, visual
analysis reports
Integratinginto
documentation
management
platforms
Graph queries
(SPARQL, VQL)
Full-textsearch
Enterprise access
control
Connectto open
and proprietary
engineeringtools
Integrated
knowledge graph
for the entire
digital thread
Workflow
automation