Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Incremental Evaluation of
Model Queries over
EMF Models
MODELS 2020 MIP Talk
The Authors (in 2010)
Gábor Bergmann
PhD student
Ákos Horváth
PhD student
István Ráth
PhD student
DánielVarró
Associate pr...
The Authors and Core Contributors (in 2020)
AndrásBalogh, PhD
CTO at ThyssenKrupp Presta HUN
AndrásÖkrös
Business Partner ...
Before The Paper
The IncQuery Timeline
2000:VIATRA
(v1)
• Prolog version
• Rules captured in
UML
• XMI compliant
2004:VIATRA2
• Java/Eclips...
Contributions of the Paper
Motivation: Early Validation of Design Rules
Similar challengesat: Thales, NASA JPL, CEA, Ericsson, ThyssenKrupp ...
7
AUT...
•Declarativegraphquery
language
•Transitiveclosure, Negation
cond., etc.
•Compositional, reusable
•Local + Global queries
...
Graph Patterns as Query Language
• Graph patterns as
declarative query language
• Algebraic attribute constraints
• Local ...
• Graph patterns as
declarative query language
• Algebraic attribute constraints
• Local + global queries
• Compositionali...
Graph Patterns as Query Language
pattern mappedSignal(S,M,P) = {
SignalIPdu(P);
signalToPduMapping(R3,P,M);
ISignalToIPduM...
Graph Patterns as Query Language
pattern mappedSignal(S,M,P) = {
SignalIPdu(P);
signalToPduMapping(R3,P,M);
ISignalToIPduM...
What is Measured?
• Sample AUTOSARmodels were generated (> 1,5 million elements)
• matches are scarce relative to overall ...
Initialization Time
Resource loading + first validation
• <1 sec for models below 50 000 elements
• Up to 40 seconds for t...
Recomputation Time
Recomputation time:
• Within error of measurement (=0)
• Independent of model size
• Retrieval of match...
Academic Impact and Industrial Applications
The Incremental
Query/Transformation
Landscape
Papers
Tools
Authors
Academic Use of IncrementalGraph Queries
•Automated recomputation
of derived features upon
model change
•Properly refreshe...
Secure Collaborative Model Management
Write-through
access control
checked at VCS
Context-dependent
fine-grained locks to
...
Industrial Applications of IncQuery / VIATRA
• HW/SW allocation of IMA
avionics system
• Advanced model validation
• Confi...
Selected Application –
Thyssenkrupp’s AUTOSAR toolchain
• Desktop: Extending the AUTOSARArchitectinternal IDE with
• On-th...
The Ongoing Future
The IncQuery Timeline (cont.d)
2010:EMF-IncQuery
• Incremental query evaluation
• Natively over EMF models
2013-14:
IncQue...
IncQuery Suite:
Analyze Your Digital Threads
Revolutionary analysis suite
for MBSE
• Efficiently extracts engineering
data...
IncQuery Suite
Features
Validationreports Analysis dashboard Engineering dataqueries Tool integrationplatform
Automaticall...
IncQuery Suite
Connects to…
IncQuery Suite Deployment
Authoring tools
IncQuery
Desktop
Repository
• Easy-to-usequery authoring tool
• Commercial add-o...
Screenshots
Summary
Upcoming SlideShare
Loading in …5
×

IncQuery Labs Models 2020 MIP Talk

Incremental Evaluation of Model Queries over EMF Models

  • Be the first to comment

  • Be the first to like this

IncQuery Labs Models 2020 MIP Talk

  1. 1. Incremental Evaluation of Model Queries over EMF Models MODELS 2020 MIP Talk
  2. 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. 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
  4. 4. Before The Paper
  5. 5. The IncQuery Timeline 2000:VIATRA (v1) • Prolog version • Rules captured in UML • XMI compliant 2004:VIATRA2 • Java/Eclipse • Custom modeling format • Graph patterns + ASM 2004-08:Incrementalgraph pattern matching • Database triggers (G. Varró) • Custom data structures • RETE algorithm (G. Bergmann) 2010:EMF-IncQuery • Incremental query evaluation • Natively over EMF models Past/Ongoing research lines: • Incremental graph transformation: Bunke, 1991 • Incremental OCL evalution: J. Cabot, A. Egyed • Incremental MT: Tefkat, Giese+Wagner, ATL
  6. 6. Contributions of the Paper
  7. 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. 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. 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. 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. 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. 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. 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. 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. 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
  16. 16. Academic Impact and Industrial Applications
  17. 17. The Incremental Query/Transformation Landscape Papers Tools Authors
  18. 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. 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. 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. 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)
  22. 22. The Ongoing Future
  23. 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. 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. 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
  26. 26. IncQuery Suite Connects to…
  27. 27. IncQuery Suite Deployment Authoring tools IncQuery Desktop Repository • Easy-to-usequery authoring tool • Commercial add-on for Cameo SystemModeler • Powerfulfeatures for validation, visualization, model comprehension IncQuery Server Web Console Cloud-based services • Enterprise-class application • Runs on-prem, or on Amazon / OpenShift/ Azure… • Containerized, elastic deployment • Integrated with enterprise identity management and access control Jupyter notebooks
  28. 28. Screenshots
  29. 29. Summary

×