Road to a reactive and incremental model transformation platform: three generations of the VIATRA framework

The current release of VIATRA provides open-source tool support for an event-driven, reactive model transformation engine built on top of highly scalable incremental graph queries for models with millions of elements and advanced features such as rule-based design space exploration complex event processing or model obfuscation. However, the history of the VIATRA model transformation framework dates back to over 16 years. Starting as an early academic research prototype as part of the M.Sc project of the the first author it first evolved into a Prolog-based engine followed by a family of open-source projects which by now matured into a component integrated into various industrial and open-source tools and deployed over multiple technologies. This invited paper briefly overviews the evolution of the VIATRA/IncQuery family by highlighting key features and illustrating main transformation concepts along an open case study influenced by an industrial project.

[1]  Dániel Varró,et al.  Derived Features for EMF by Integrating Advanced Model Queries , 2012, ECMFA.

[2]  Gordon S. Blair,et al.  Models@ run.time , 2009, Computer.

[3]  Anthony Rowe,et al.  The Swarm at the Edge of the Cloud , 2015, IEEE Design & Test.

[4]  Albert Zündorf,et al.  The PROGRES approach: language and environment , 1999 .

[5]  Samoel Mirachi,et al.  Hardware-software allocation specification of IMA systems for early simulation , 2014, 2014 IEEE/AIAA 33rd Digital Avionics Systems Conference (DASC).

[6]  Ákos Horváth,et al.  Dynamic constraint satisfaction problems over models , 2011, Software & Systems Modeling.

[7]  Dániel Varró,et al.  Incremental Graph Pattern Matching: Data Structures and Initial Experiments , 2006, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[8]  Ashish Tiwari,et al.  Invisible formal methods for embedded control systems , 2003, Proc. IEEE.

[9]  Frédéric Jouault,et al.  Towards Incremental Execution of ATL Transformations , 2010, ICMT@TOOLS.

[10]  Dániel Varró,et al.  Model Transformations for Performability Analysis of Service Configurations , 2008, MoDELS Workshops.

[11]  András Pataricza,et al.  Checking General Safety Criteria on UML Statecharts , 2001, SAFECOMP.

[12]  Jim Steel,et al.  Practical Declarative Model Transformation with Tefkat , 2005, MoDELS Satellite Events.

[13]  Hassan Charaf,et al.  A Systematic Approach to Metamodeling Environments and Model Transformation Systems in VMTS , 2005, GraBaTs.

[14]  Harald Störrle,et al.  Transparent Model Transformation: Turning Your Favourite Model Editor into a Transformation Tool , 2015, ICMT.

[15]  Ákos Horváth,et al.  Multi-objective optimization in rule-based design space exploration , 2014, ASE.

[16]  Manfred Broy,et al.  What is the Benefit of a Model-Based Design of Embedded Software Systems in the Car Industry? , 2012 .

[17]  César Muñoz,et al.  An Overview of SAL , 2000 .

[18]  Andy Schürr,et al.  An algorithm for generating model-sensitive search plans for pattern matching on EMF models , 2013, Software & Systems Modeling.

[19]  Ákos Horváth,et al.  Incremental evaluation of model queries over EMF models , 2010, MODELS'10.

[20]  Grzegorz Rozenberg,et al.  Handbook of Graph Grammars and Computing by Graph Transformations, Volume 1: Foundations , 1997 .

[21]  Dániel Varró,et al.  Metamodeling Mathematics: A Precise and Visual Framework for Describing Semantics Domains of UML Models , 2002, UML.

[22]  Dániel Varró,et al.  Incremental Queries and Transformations: From Concepts to Industrial Applications , 2016, SOFSEM.

[23]  Dániel Varró Patterns and Styles for Incremental Model Transformations , 2015, PAME@STAF.

[24]  Perdita Stevens,et al.  Bidirectional model transformations in QVT: semantic issues and open questions , 2007, MODELS'07.

[25]  Arend Rensink,et al.  Time and Space Issues in the Generation of Graph Transition Systems , 2005, Electron. Notes Theor. Comput. Sci..

[26]  Dániel Varró,et al.  Incremental Pattern Matching for the Efficient Computation of Transitive Closure , 2012, ICGT.

[27]  Peter Scheuermann,et al.  Active Database Systems , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[28]  Other Contributors Are Indicated Where They Contribute The Eclipse Foundation , 2017 .

[29]  Jordi Cabot,et al.  Incremental integrity checking of UML/OCL conceptual schemas , 2009, J. Syst. Softw..

[30]  Diego Latella,et al.  Automatic Verification of a Behavioural Subset of UML Statechart Diagrams Using the SPIN Model-checker , 1999, Formal Aspects of Computing.

[31]  Hartmut Ehrig,et al.  Handbook of graph grammars and computing by graph transformation: vol. 3: concurrency, parallelism, and distribution , 1999 .

[32]  Ákos Horváth,et al.  Query-driven soft traceability links for models , 2016, Software & Systems Modeling.

[33]  Andrew J. Kornecki,et al.  The Qualification of Software Development Tools From the DO-178B Certification Perspective , 2006 .

[34]  Dániel Varró,et al.  Design-time simulation of domain-specific models by incremental pattern matching , 2008, 2008 IEEE Symposium on Visual Languages and Human-Centric Computing.

[35]  Dániel Varró,et al.  VPM: A visual, precise and multilevel metamodeling framework for describing mathematical domains and UML (The Mathematics of Metamodeling is Metamodeling Mathematics) , 2003, Software & Systems Modeling.

[36]  Manuel Wimmer,et al.  Search-Based Model Transformations with MOMoT , 2016, ICMT.

[37]  Dániel Varró,et al.  Property-Based Methods for Collaborative Model Development , 2015, GEMOC+MPM@MoDELS.

[38]  Juan de Lara,et al.  AToM3: A Tool for Multi-formalism and Meta-modelling , 2002, FASE.

[39]  Hans Vangheluwe,et al.  FTG+PM: An Integrated Framework for Investigating Model Transformation Chains , 2013, SDL Forum.

[40]  Tom Mens,et al.  Incremental Detection of Model Inconsistencies Based on Model Operations , 2009, CAiSE.

[41]  Hartmut Ehrig,et al.  Handbook of graph grammars and computing by graph transformation: vol. 2: applications, languages, and tools , 1999 .

[42]  Philippe Collet,et al.  SIGMA: Scala Internal Domain-Specific Languages for Model Manipulations , 2014, MoDELS.

[43]  The Interconnecting of Everything , .

[44]  Holger Giese,et al.  A Survey of Triple Graph Grammar Tools , 2013, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[45]  Dániel Varró,et al.  Non-functional properties in the model-driven development of service-oriented systems , 2010, Software & Systems Modeling.

[46]  Jean Bézivin,et al.  On the Use of Higher-Order Model Transformations , 2009, ECMDA-FA.

[47]  D. Varró,et al.  Recursive graph pattern matching: (With magic sets and global search plans) , 2008 .

[48]  Krzysztof Czarnecki,et al.  Feature-based survey of model transformation approaches , 2006, IBM Syst. J..

[49]  Dániel Varró,et al.  Back-annotation of Simulation Traces with Change-Driven Model Transformations , 2010, 2010 8th IEEE International Conference on Software Engineering and Formal Methods.

[50]  Holger Giese,et al.  From model transformation to incremental bidirectional model synchronization , 2009, Software & Systems Modeling.

[51]  Andy Schürr,et al.  Specification of Graph Translators with Triple Graph Grammars , 1994, WG.

[52]  Dániel Varró,et al.  An Eclipse-Based Framework for AIS Service Configurations , 2007, ISAS.

[53]  Á. Horváth,et al.  Formal validation of domain-specific languages with derived features and well-formedness constraints , 2017, Software & Systems Modeling.

[54]  Diego Latella,et al.  Dependability analysis in the early phases of UML-based system design , 2001, Comput. Syst. Sci. Eng..

[55]  Dániel Varró,et al.  Change-driven model transformations , 2011, Software & Systems Modeling.

[56]  Dániel Varró,et al.  Methodologies for Model-Driven Development and Deployment: An Overview , 2011, Results of the SENSORIA Project.

[57]  Dániel Varró,et al.  Streaming Model Transformations By Complex Event Processing , 2014, MoDELS.

[58]  Emilio Insfran,et al.  Model-Driven Engineering Languages and Systems , 2014, Lecture Notes in Computer Science.

[59]  Hans Vangheluwe,et al.  Search-Based Model Optimization Using Model Transformations , 2014, SAM.

[60]  Colin Atkinson,et al.  The Essence of Multilevel Metamodeling , 2001, UML.

[61]  Ákos Horváth,et al.  Local Search-Based Pattern Matching Features in EMF-IncQuery , 2015, ICGT.

[62]  Ákos Horváth,et al.  Query-driven incremental synchronization of view models , 2014, VAO '14.

[63]  Mario Dal Cin,et al.  Quantitative evaluation of dependability critical systems based on guarded Statechart models , 1999, Proceedings 4th IEEE International Symposium on High-Assurance Systems Engineering.

[64]  Dániel Varró,et al.  The model transformation language of the VIATRA2 framework , 2007, Sci. Comput. Program..

[65]  Akos Horvath,et al.  Model-driven development of ARINC 653 configuration tables , 2010, 29th Digital Avionics Systems Conference.

[66]  Dániel Varró,et al.  Adaptive Graph Pattern Matching for Model Transformations using Model-sensitive Search Plans , 2006, GRaMoT@GPCE.

[67]  Jean Bézivin,et al.  ATL: A model transformation tool , 2008, Sci. Comput. Program..

[68]  Jordi Cabot,et al.  Feature-based classification of bidirectional transformation approaches , 2014, Software & Systems Modeling.

[69]  BeckerChristian,et al.  A survey on engineering approaches for self-adaptive systems , 2015 .

[70]  Dániel Varró,et al.  A research roadmap towards achieving scalability in model driven engineering , 2013, BigMDE '13.

[71]  Sebastian VanSyckel,et al.  A survey on engineering approaches for self-adaptive systems , 2015, Pervasive Mob. Comput..

[72]  Reiko Heckel,et al.  Stochastic Simulation of Graph Transformation Systems , 2010, FASE.

[73]  Andrea Bondavalli,et al.  Automatic dependability analysis for supporting design decisions in UML , 1999, Proceedings 4th IEEE International Symposium on High-Assurance Systems Engineering.

[74]  Hans Vangheluwe,et al.  T-Core: a framework for custom-built model transformation engines , 2013, Software & Systems Modeling.

[75]  Xavier Leroy,et al.  Formal verification of a realistic compiler , 2009, CACM.

[76]  Dániel Varró,et al.  Formal modeling of BPEL workflows including fault and compensation handling , 2007, EFTS '07.

[77]  Daniel Varro Automated Program Generation for and by Model Transformation Systems , 2002 .

[78]  Arend Rensink,et al.  Knowledge-Based Graph Exploration Analysis , 2011, AGTIVE.

[79]  Dániel Varró,et al.  Formal analysis of BPEL. workflows with compensation by model checking , 2008, Comput. Syst. Sci. Eng..

[80]  Oszkár Semeráth,et al.  Validation of Derived Features and Well-Formedness Constraints in DSLs - By Mapping Graph Queries to an SMT-Solver , 2013, MoDELS.

[81]  Barbara König,et al.  Augur 2 - A New Version of a Tool for the Analysis of Graph Transformation Systems , 2008, GT-VMT@ETAPS.

[82]  Gabor Karsai,et al.  The Graph Rewriting and Transformation Language: GReAT , 2007, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[83]  Gabor Karsai,et al.  Toward a Science of Cyber–Physical System Integration , 2012, Proceedings of the IEEE.

[84]  Gabriele Taentzer,et al.  Henshin: advanced concepts and tools for in-place EMF model transformations , 2010, MODELS'10.

[85]  Brice Morin,et al.  Kevoree Modeling Framework (KMF): Efficient modeling techniques for runtime use , 2014, ArXiv.

[86]  Andy Schürr,et al.  Generic and reflective graph transformations for the checking and enforcement of modeling guidelines , 2008, 2008 IEEE Symposium on Visual Languages and Human-Centric Computing.

[87]  Gergely Varró,et al.  Implementing an EJB3-Specific Graph Transformation Plugin by Using Database Independent Queries , 2008, GT-VMT@ETAPS.

[88]  Ákos Horváth,et al.  EMF-IncQuery: An integrated development environment for live model queries , 2015, Sci. Comput. Program..

[89]  Dániel Varró,et al.  Implementing a Graph Transformation Engine in Relational Databases , 2006, Software & Systems Modeling.

[90]  Mark Rouncefield,et al.  The State of Practice in Model-Driven Engineering , 2014, IEEE Software.

[91]  Michael Lawley,et al.  Incremental model transformation for the evolution of model-driven systems , 2006, MoDELS'06.

[92]  Axel Uhl,et al.  Using an OCL Impact Analysis Algorithm for View-Based Textual Modelling , 2011, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[93]  David Luckham,et al.  The power of events - an introduction to complex event processing in distributed enterprise systems , 2002, RuleML.

[94]  Dániel Varró,et al.  Compiling model transformations to EJB3-specific transformer plugins , 2006, SAC.

[95]  Twan Basten,et al.  Motrusca : interactive model transformation use case repository , 2014 .

[96]  Jesús Manuel Almendros-Jiménez,et al.  A Model Transformation Language Based on Logic Programming , 2013, SOFSEM.

[97]  Dániel Varró,et al.  Live Model Transformations Driven by Incremental Pattern Matching , 2008, ICMT@TOOLS.

[98]  Colin Atkinson,et al.  Reducing accidental complexity in domain models , 2008, Software & Systems Modeling.

[99]  Alexander Egyed,et al.  Incremental Consistency Checking of Dynamic Constraints , 2010, FASE.

[100]  Ákos Horváth,et al.  Efficient Model Transformations by Combining Pattern Matching Strategies , 2009, ICMT@TOOLS.

[101]  Andrew J. Kornecki,et al.  Certification of software for real-time safety-critical systems: state of the art , 2009, Innovations in Systems and Software Engineering.

[102]  Ákos Horváth,et al.  Recursive Graph Pattern Matching , 2008, AGTIVE.

[103]  Arend Rensink,et al.  A survey and comparison of transformation tools based on the transformation tool contest , 2014, Sci. Comput. Program..

[104]  Ákos Horváth,et al.  CSP(M): Constraint Satisfaction Problem over Models , 2009, MoDELS.

[105]  J. Troya,et al.  Marrying Search-based Optimization and Model Transformation Technology , 2015 .

[106]  Sherif Abdelwahed,et al.  Semantic Anchoring with Model Transformations , 2005, ECMDA-FA.

[107]  Rudolf Ferenc,et al.  Performance comparison of query-based techniques for anti-pattern detection , 2015, Inf. Softw. Technol..

[108]  Jordi Cabot,et al.  Towards a general composition semantics for rule-based model transformation , 2011, MODELS'11.

[109]  Axel Uhl,et al.  Incremental Updates for View-Based Textual Modelling , 2011, ECMFA.

[110]  Gabriele Taentzer,et al.  The AGG approach: language and environment , 1999 .

[111]  Manuel Wimmer,et al.  Theory and Practice of Model Transformations , 2015, Lecture Notes in Computer Science.

[112]  Ákos Horváth,et al.  A model-driven framework for guided design space exploration , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

[113]  Dániel Varró,et al.  Designing the automatic transformation of visual languages , 2002, Sci. Comput. Program..

[114]  Ákos Horváth,et al.  Viatra 3: A Reactive Model Transformation Platform , 2015, ICMT.

[115]  Arend Rensink,et al.  Canonical Graph Shapes , 2004, ESOP.

[116]  Francisco Curbera,et al.  Web Services Business Process Execution Language Version 2.0 , 2007 .

[117]  Daniel Grund,et al.  GrGen: A Fast SPO-Based Graph Rewriting Tool , 2006, ICGT.

[118]  Dániel Varró,et al.  Generic and Meta-transformations for Model Transformation Engineering , 2004, UML.

[119]  Dániel Varró,et al.  A Graph Query Language for EMF Models , 2011, ICMT@TOOLS.

[120]  Bernhard Schätz,et al.  Formalization and Rule-Based Transformation of EMF Ecore-Based Models , 2009, SLE.

[121]  Wolfgang De Meuter,et al.  A survey on reactive programming , 2013, CSUR.

[122]  Ulrich Nickel,et al.  The FUJABA environment , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[123]  U. Assmann OPTIMIX—a tool for rewriting and optimizing programs , 1999 .

[124]  Dániel Varró,et al.  VIATRA - visual automated transformations for formal verification and validation of UML models , 2002, Proceedings 17th IEEE International Conference on Automated Software Engineering,.

[125]  Charles L. Forgy,et al.  Rete: a fast algorithm for the many pattern/many object pattern match problem , 1991 .

[126]  Martin Leucker,et al.  A brief account of runtime verification , 2009, J. Log. Algebraic Methods Program..

[127]  Dániel Varró,et al.  Change-driven model transformations - Change (in) the rule to rule the change , 2012, Softw. Syst. Model..

[128]  Luciano Baresi,et al.  The disappearing boundary between development-time and run-time , 2010, FoSER '10.

[129]  Reiko Heckel,et al.  Dynamic Meta Modeling: A Graphical Approach to the Operational Semantics of Behavioral Diagrams in UML , 2000, UML.

[130]  Audris Kalnins,et al.  Model Transformation Language MOLA , 2003, MDAFA.

[131]  Stephen Gilmore,et al.  The PEPA Workbench: A Tool to Support a Process Algebra-based Approach to Performance Modelling , 1994, Computer Performance Evaluation.

[132]  Dániel Varró,et al.  IncQuery-D: A Distributed Incremental Model Query Framework in the Cloud , 2014, MoDELS.

[133]  Tobias Rötschke,et al.  MOFLON: A Standard-Compliant Metamodeling Framework with Graph Transformations , 2006, ECMDA-FA.

[134]  Neeraj Suri,et al.  Model-Based Development of Distributed Embedded Real-Time Systems with the DECOS Tool-Chain , 2007 .

[135]  Ákos Horváth,et al.  Workflow-Driven Tool Integration Using Model Transformations , 2010, Graph Transformations and Model-Driven Engineering.