Lossless compaction of model execution traces

Dynamic verification and validation (V&V) techniques are used to verify and validate the behavior of software systems early in the development process. In the context of model-driven engineering, such behaviors are usually defined using executable domain-specific modeling languages (xDSML). Many V&V techniques rely on execution traces to represent and analyze the behavior of executable models. Traces, however, tend to be overwhelmingly large, hindering effective and efficient analysis of their content. While there exist several trace metamodels to represent execution traces, most of them suffer from scalability problems. In this paper, we present a generic compact trace representation format called generic compact trace metamodel (CTM) that enables the construction and manipulation of compact execution traces of executable models. CTM is generic in the sense that it supports a wide range of xDSMLs. We evaluate CTM on traces obtained from real-world fUML models. Compared to existing trace metamodels, the results show a significant reduction in memory and disk consumption. Moreover, CTM offers a common structure with the aim to facilitate interoperability between existing trace analysis tools.

[1]  Benoît Combemale,et al.  Supporting efficient and advanced omniscient debugging for xDSMLs , 2015, SLE.

[2]  Abdelwahab Hamou-Lhadj,et al.  Model execution tracing: a systematic mapping study , 2019, Software and Systems Modeling.

[3]  Benoît Combemale,et al.  Advanced and efficient execution trace management for executable domain-specific modeling languages , 2017, Software & Systems Modeling.

[4]  Shinji Kusumoto,et al.  Extracting sequence diagram from execution trace of Java program , 2005, Eighth International Workshop on Principles of Software Evolution (IWPSE'05).

[5]  Abdelwahab Hamou-Lhadj,et al.  A Novel Approach Based on Gestalt Psychology for Abstracting the Content of Large Execution Traces for Program Comprehension , 2011, 2011 16th IEEE International Conference on Engineering of Complex Computer Systems.

[6]  Alastair F. Donaldson,et al.  Software Model Checking , 2014, Computing Handbook, 3rd ed..

[7]  Sira Yongchareon,et al.  Efficient Process Model Discovery Using Maximal Pattern Mining , 2015, BPM.

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

[9]  Timothy Lethbridge,et al.  Specifying trace directives for UML attributes and state machines , 2014, 2014 2nd International Conference on Model-Driven Engineering and Software Development (MODELSWARD).

[10]  Jacques Klein,et al.  A Native Versioning Concept to Support Historized Models at Runtime , 2014, MoDELS.

[11]  Douglas C. Schmidt,et al.  Guest Editor's Introduction: Model-Driven Engineering , 2006, Computer.

[12]  Abdelwahab Hamou-Lhadj,et al.  Summarizing the Content of Large Traces to Facilitate the Understanding of the Behaviour of a Software System , 2006, 14th IEEE International Conference on Program Comprehension (ICPC'06).

[13]  Gerti Kappel,et al.  A runtime model for fUML , 2012, MRT '12.

[14]  Lidia Fuentes,et al.  Execution and simulation of (profiled) UML models using pópulo , 2008, MiSE '08.

[15]  Peter Kemper,et al.  Automated Trace Analysis of Discrete-Event System Models , 2009, IEEE Transactions on Software Engineering.

[16]  Wil M. P. van der Aalst,et al.  Trace Clustering in Process Mining , 2008, Business Process Management Workshops.

[17]  Abdelwahab Hamou-Lhadj,et al.  A Metamodel for Dynamic Information Generated from Object-Oriented Systems , 2004, Electron. Notes Theor. Comput. Sci..

[18]  Benoît Combemale,et al.  Omniscient debugging for executable DSLs , 2018, J. Syst. Softw..

[19]  Benoît Combemale,et al.  Execution framework of the GEMOC studio (tool demo) , 2016, SLE.

[20]  Gerti Kappel,et al.  xMOF: Executable DSMLs Based on fUML , 2013, SLE.

[21]  Jaco van de Pol,et al.  Modelling biological pathway dynamics with Timed Automata , 2012, 2012 IEEE 12th International Conference on Bioinformatics & Bioengineering (BIBE).

[22]  Wil M. P. van der Aalst,et al.  Abstractions in Process Mining: A Taxonomy of Patterns , 2009, BPM.

[23]  Samir Chatterjee,et al.  A Design Science Research Methodology for Information Systems Research , 2008 .

[24]  David Harel,et al.  On tracing reactive systems , 2011, Software & Systems Modeling.

[25]  Eladio Domínguez,et al.  A UML profile for dynamic execution persistence with monitoring purposes , 2013, 2013 5th International Workshop on Modeling in Software Engineering (MiSE).

[26]  Sébastien Gérard,et al.  Formalizing Execution Semantics of UML Profiles with fUML Models , 2014, MoDELS.

[27]  Martin Gogolla,et al.  From Application Models to Filmstrip Models: An Approach to Automatic Validation of Model Dynamics , 2014, Modellierung.

[28]  Abdelwahab Hamou-Lhadj,et al.  An exchange format for representing dynamic information generated from High Performance Computing applications , 2011, Future Gener. Comput. Syst..

[29]  Abdelwahab Hamou-Lhadj,et al.  Execution Traces: A New Domain That Requires the Creation of a Standard Metamodel , 2009, FGIT-ASEA.

[30]  Gerti Kappel,et al.  Semantic Model Differencing Utilizing Behavioral Semantics Specifications , 2014, MoDELS.

[31]  Timothy Lethbridge,et al.  Towards Tracing at the Model Level , 2012, 2012 19th Working Conference on Reverse Engineering.

[32]  Lidia Fuentes,et al.  Dynamic Weaving of Aspect-Oriented Executable UML Models , 2009, LNCS Trans. Aspect Oriented Softw. Dev..

[33]  Bogdan Korel,et al.  Slicing Event Traces of Large Software Systems , 2000, AADEBUG.

[34]  Earl T. Barr,et al.  Tardis: affordable time-travel debugging in managed runtimes , 2014, OOPSLA.

[35]  Dimitrios S. Kolovos,et al.  Comparative analysis of data persistence technologies for large-scale models , 2012, XM '12.

[36]  Bran Selic,et al.  Execution of UML models: a systematic review of research and practice , 2018, Software & Systems Modeling.

[37]  Dhananjay M. Dhamdhere,et al.  A compact execution history for dynamic slicing , 2003, Inf. Process. Lett..

[38]  Timothy Lethbridge,et al.  UmpleRun: a Dynamic Analysis Tool for Textually Modeled State Machines using Umple , 2015, EXE@MoDELS.

[39]  Abdelwahab Hamou-Lhadj Techniques to simplify the analysis of execution traces for program comprehension , 2006 .

[40]  Benoît Combemale,et al.  A Generative Approach to Define Rich Domain-Specific Trace Metamodels , 2015, ECMFA.

[41]  Martin Gogolla,et al.  Verifying Linear Temporal Logic Properties in UML/OCL Class Diagrams Using Filmstripping , 2016, 2016 Euromicro Conference on Digital System Design (DSD).

[42]  Xavier Crégut,et al.  Introducing Simulation and Model Animation in the MDE Topcased Toolkit , 2008 .

[43]  Shahar Maoz,et al.  Using Model-Based Traces as Runtime Models , 2009, Computer.

[44]  Douglas Crockford,et al.  The application/json Media Type for JavaScript Object Notation (JSON) , 2006, RFC.

[45]  Jaco van de Pol,et al.  Modeling Biological Pathway Dynamics With Timed Automata , 2014, IEEE Journal of Biomedical and Health Informatics.

[46]  C. A. Petri Fundamentals of a Theory of Asynchronous Information Flow , 1962, IFIP Congress.

[47]  Wil M. P. van der Aalst,et al.  Fuzzy Mining - Adaptive Process Simplification Based on Multi-perspective Metrics , 2007, BPM.

[48]  Albert Zündorf,et al.  Story Diagrams: A New Graph Rewrite Language Based on the Unified Modeling Language and Java , 1998, TAGT.

[49]  Hiroki Arimura,et al.  LCM: An Efficient Algorithm for Enumerating Frequent Closed Item Sets , 2003, FIMI.

[50]  Abdelwahab Hamou-Lhadj,et al.  Towards a tracing framework for Model-Driven software systems , 2016, 2016 6th International Conference on Computer and Knowledge Engineering (ICCKE).

[51]  Twan Basten,et al.  Analyzing execution traces: critical-path analysis and distance analysis , 2017, International Journal on Software Tools for Technology Transfer.

[52]  Arend Rensink,et al.  How to Efficiently Build a Front-End Tool for UPPAAL: A Model-Driven Approach , 2017, SETTA.

[53]  Gerson Sunyé,et al.  Neo4EMF, A Scalable Persistence Layer for EMF Models , 2014, ECMFA.

[54]  Benoît Combemale,et al.  Generative Technologies for Model Animation in the TopCased Platform , 2010, ECMFA.

[55]  Abdelwahab Hamou-Lhadj,et al.  Stratified sampling of execution traces: Execution phases serving as strata , 2013, Sci. Comput. Program..

[56]  Michael Stonebraker,et al.  C-Store: A Column-oriented DBMS , 2005, VLDB.

[57]  Martin Bichler,et al.  Design science in information systems research , 2006, Wirtschaftsinf..

[58]  Dániel Varró,et al.  Replaying Execution Trace Models for Dynamic Modeling Languages , 2012 .

[59]  Yves Le Traon,et al.  Analyzing Complex Data in Motion at Scale with Temporal Graphs , 2017, SEKE.

[60]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[61]  Mark N. Wegman,et al.  Execution Patterns in Object-Oriented Visualization , 1998, COOTS.

[62]  Abdelwahab Hamou-Lhadj,et al.  A metamodel for the compact but lossless exchange of execution traces , 2012, Software & Systems Modeling.

[63]  Benoît Combemale,et al.  A Design Pattern to Build Executable DSMLs and Associated V&V Tools , 2012, 2012 19th Asia-Pacific Software Engineering Conference.

[64]  Jesús Sánchez Cuadrado,et al.  Morsa: a scalable approach for persisting and accessing large models , 2011, MODELS'11.

[65]  Valiente Feruglio,et al.  Simple and efficient tree pattern matching , 2000 .

[66]  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.

[67]  Claudia Diamantini,et al.  Behavioral process mining for unstructured processes , 2016, Journal of Intelligent Information Systems.

[68]  Bernhard Rumpe,et al.  ADDiff: semantic differencing for activity diagrams , 2011, ESEC/FSE '11.

[69]  Wil M. P. van der Aalst,et al.  Event Abstraction for Process Mining using Supervised Learning Techniques , 2016, IntelliSys.

[70]  Jordi Cabot,et al.  Model-Driven Software Engineering in Practice , 2017, Synthesis Lectures on Software Engineering.

[71]  Bart Meyers,et al.  ProMoBox: A Framework for Generating Domain-Specific Property Languages , 2014, SLE.

[72]  Olivier Barais,et al.  Mashup of metalanguages and its implementation in the Kermeta language workbench , 2013, Software & Systems Modeling.

[73]  Wil M. P. van der Aalst,et al.  Discovering more precise process models from event logs by filtering out chaotic activities , 2017, Journal of Intelligent Information Systems.

[74]  David Harel,et al.  LSCs: Breathing Life into Message Sequence Charts , 1999, Formal Methods Syst. Des..