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.

This is a preview of subscription content, log in to check access.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20


  1. 1.


  2. 2.


  3. 3.


  4. 4.


  5. 5.


  6. 6.


  7. 7.


  8. 8.


  9. 9.


  10. 10.


  11. 11.


  12. 12.


  13. 13.



  1. 1.

    Schmidt, D.C.: Guest Editor’s introduction: model-driven engineering. IEEE Comput. 39(2), 25–31 (2006). https://doi.org/10.1109/MC.2006.58

    Article  Google Scholar 

  2. 2.

    Brambilla, M., Cabot, J., Wimmer, M.: Model-Driven Software Engineering in Practice. Synthesis Lectures on Software Engineering. Morgan & Claypool Publishers, second edition (2017)

  3. 3.

    Combemale, B., Crégut, X., Pantel, M.: A design pattern to build executable DSMLs and associated V&V tools. In: Proceedings of the 19th Asia-Pacific on Software Engineering Conference (APSEC), vol. 1, pp. 282–287. IEEE (2012). https://doi.org/10.1109/APSEC.2012.79

  4. 4.

    Hegedüs, Á., Ráth, I., Varró, D.: Replaying execution trace models for dynamic modeling languages. Period. Polytech. Electr. Eng. Comput. Sci. 56(3), 71–82 (2013)

    Google Scholar 

  5. 5.

    Mayerhofer, T., Langer, P., Wimmer, M., Kappel, G.: xMOF: executable DSMLs based on fUML. In: Proceedings of the International Conference on Software Language Engineering, volume 8225 of Lecture Notes in Computer Science, pp. 56–75. Springer (2013)

  6. 6.

    Tatibouet, J., Cuccuru, A., Gérard, S., Terrier, F.: Formalizing execution semantics of UML profiles with fUML models. In: Proceedings of the 17th International Conference on Model-Driven Engineering Languages and Systems (MODELS’14), volume 8767 of Lecture Notes in Computer Science, pp. 133–148. Springer (2014). https://doi.org/10.1007/978-3-319-11653-2_9

    Google Scholar 

  7. 7.

    Bousse, E., Degueule, T., Vojtisek, D., Mayerhofer, T., DeAntoni, J., Combemale, B.: Execution framework of the GEMOC studio (tool demo). In: Proceedings of the 2016 ACM SIGPLAN International Conference on Software Language Engineering (SLE), pp. 84–89. ACM (2016). http://dl.acm.org/citation.cfm?id=2997384. Accessed 11 Dec 2017

  8. 8.

    Ciccozzi, F., Malavolta, I., Selic, B.: Execution of UML models: a systematic review of research and practice. Softw. Syst. Model. (2018). ISSN 1619-1374. https://doi.org/10.1007/s10270-018-0675-4

    Article  Google Scholar 

  9. 9.

    Jhala, R., Majumdar, R.: Software model checking. ACM Comput. Surv. 41(4), 21:1–21:54 (2009). https://doi.org/10.1145/1592434.1592438

    Article  Google Scholar 

  10. 10.

    Meyers, B., Deshayes, R., Lucio, L., Syriani, E., Vangheluwe, H., Wimmer, M.: ProMoBox: a framework for generating domain-specific property languages. In: Proceedings of the International Conference on Software Language Engineering (SLE), volume 8706 of Lecture Notes in Computer Science, pp. 1–20. Springer (2014)

  11. 11.

    Hilken, F., Gogolla, M.: Verifying linear temporal logic properties in UML/OCL class diagrams using filmstripping. In: Proceedings of the Euromicro Conference on Digital System Design (DSD), pp. 708–713. IEEE (2016). https://doi.org/10.1109/DSD.2016.42

  12. 12.

    Barr, E.T., Marron, M.: Tardis: affordable time-travel debugging in managed runtimes. In: Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications (OOPSLA’14), pp. 67–82. ACM (2014) ISBN 978-1-4503-2585-1. https://doi.org/10.1145/2660193.2660209

  13. 13.

    Bousse, E., Corley, J., Combemale, B., Gray, J., Baudry, B.: Supporting efficient and advanced omniscient debugging for xDSMLs. In: Proceedings of the ACM SIGPLAN International Conference on Software Language Engineering, pp. 137–148. ACM (2015a). https://doi.org/10.1145/2814251.2814262

  14. 14.

    Bousse, E., Leroy, D., Combemale, B., Wimmer, M., Baudry, B.: Omniscient debugging for executable DSLs. J. Syst. Softw. 137, 261–288 (2018)

    Article  Google Scholar 

  15. 15.

    Langer, P., Mayerhofer, T., Kappel, G.: Semantic model differencing utilizing behavioral semantics specifications. In: Proceedings of the International Conference on Model Driven Engineering Languages and Systems, volume 8767 of Lecture Notes in Computer Science, pp. 116–132. Springer (2014)

  16. 16.

    Maoz, S., Ringert, J.O., Rumpe, B.: ADDiff: semantic differencing for activity diagrams. In: Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, pp. 179–189. ACM (2011).https://doi.org/10.1145/2025113.2025140

  17. 17.

    Benelallam, A., Gómez, A., Sunyé, G., Tisi, M., Launay, D.: Neo4EMF, a scalable persistence layer for EMF models. In: Proceeding of the European Conference on Modelling Foundations and Applications, volume 8569 of Lecture Notes in Computer Science, pp. 230–241. Springer (2014)

  18. 18.

    Hamou-Lhadj, A., Lethbridge, T.C.: A metamodel for dynamic information generated from object-oriented systems. Electron. Notes Theor. Comput. Sci. 94, 59–69 (2004). https://doi.org/10.1016/j.entcs.2004.01.004

    Article  Google Scholar 

  19. 19.

    Hamou-Lhadj, A., Lethbridge, T.C.: A metamodel for the compact but lossless exchange of execution traces. Softw. Syst. Model. 11(1), 77–98 (2012). https://doi.org/10.1007/s10270-010-0180-x

    Article  Google Scholar 

  20. 20.

    Hartmann, T., Fouquet, F., Nain, G., Morin, B., Klein, J., Barais, O., Le Traon, Y.: A native versioning concept to support historized models at runtime. In: Proceedings of the International Conference on Model Driven Engineering Languages and Systems, volume 8767 of Lecture Notes in Computer Science, pp. 252–268. Springer (2014)

  21. 21.

    Bousse, E., Mayerhofer, T., Combemale, B., Baudry, B.: Advanced and efficient execution trace management for executable domain-specific modeling languages. Softw. Syst. Model. 18(1), 385–421 (2019)

    Article  Google Scholar 

  22. 22.

    Bousse, E., Mayerhofer, T., Combemale, B., Baudry, B.: A generative approach to define rich domain-specific trace metamodels. In: European Conference on Modelling Foundations and Applications, volume 9153 of Lecture Notes in Computer Science, pp. 45–61. Springer (2015b)

  23. 23.

    Peffers, K., Tuuanen, T., Rothenberger, M.A., Chatterjee, S.: A design science research methodology for information systems research. J. Manag. Inf. Syst. 24, 45–77 (2007). https://doi.org/10.2753/MIS0742-1222240302

    Article  Google Scholar 

  24. 24.

    Hevner, A.R., March, S.T., Park, J., Ram, S.: Design science in information systems research. MIS Q. 28(1), 75–105 (2004)

    Article  Google Scholar 

  25. 25.

    Hojaji, F., Mayerhofer, T., Zamani, B., Hamou-Lhadj, A., Bousse, E.: Model execution tracing: a systematic mapping study. Softw. Syst. Model. (2019). https://doi.org/10.1007/s10270-019-00724-1

    Article  Google Scholar 

  26. 26.

    Petri, C.A.: Fundamentals of a theory of asynchronous information flow. In: Proceedings of IFIP Congress, pp. 386–390. North Holland, Amsterdam (1962)

  27. 27.

    Object Management Group. Semantics of a Foundational Subset for Executable UML Models (fUML), Version 1.3, July (2017)

  28. 28.

    Object Management Group. Business Process Model and Notation (BPMN), Version 2.0, January (2011)

  29. 29.

    Damm, W., Harel, D.: LSCs: breathing life into message sequence charts. Form. Methods Syst. Des. 19(1), 45–80 (2001). https://doi.org/10.1023/A:1011227529550

    Article  MATH  Google Scholar 

  30. 30.

    Fischer, T., Niere, J., Torunski, L., Zündorf, A.: Story diagrams: a new graph rewrite language based on the unified modeling language and Java. In: Proceedings of the 6th International Workshop on the Theory and Application of Graph Transformations (TAGT’98), volume 1764 of Lecture Notes in Computer Science, pp. 296–309. Springer (1998). https://doi.org/10.1007/978-3-540-46464-8_21

    Google Scholar 

  31. 31.

    Alawneh, L., Hamou-Lhadj, A.: Execution traces: a new domain that requires the creation of a standard metamodel, volume 59 of Lecture Notes in Communications in Computer and Information Science book series, pp. 253–263. Springer (2009)

  32. 32.

    De Pauw, W., Lorenz, D.H., Vlissides, J.M., Wegman, M.N.: Execution patterns in object-oriented visualization. In: USENIX Conference on Object-Oriented Technologies and Systems (COOTS), vol. 98, pp. 1–17 (1998)

  33. 33.

    Dhamdhere, D.M., Gururaja, K., Ganu, P.G.: A compact execution history for dynamic slicing. Inf. Process. Lett. 85(3), 145–152 (2003)

    MathSciNet  Article  Google Scholar 

  34. 34.

    Hamou-Lhadj, A.: Techniques to simplify the analysis of execution traces for program comprehension. In Ph.D. Dissertation, University of Ottawa (2005)

  35. 35.

    Hamou-Lhadj, A., Lethbridge, T.: Summarizing the content of large traces to facilitate the understanding of the behaviour of a software system. In: Proceedings of the 14th International Conference on Program Comprehension, pp. 181–190. IEEE (2006)

  36. 36.

    Pirzadeh, H., Hamou-Lhadj, A.: A novel approach based on gestalt psychology for abstracting the content of large execution traces for program comprehension. In: Proceedings of the 16th IEEE International Conference on Engineering of Complex Computer Systems, pp. 221–230. IEEE (2011)

  37. 37.

    Smith, R., Korel, B.: Slicing Event Traces of Large Software Systems. arXiv:cs/0101005 (2001)

  38. 38.

    Hegedus, A., Bergmann, G., Ráth, I., Varró, D.: Back-annotation of simulation traces with change-driven model transformations. In: Proceedings of the 8th IEEE International Conference on Software Engineering and Formal Methods (SEFM), pp. 145–155. IEEE (2010). https://doi.org/10.1109/SEFM.2010.28

  39. 39.

    Stonebraker, M., Abadi, D.J., Batkin, A., Chen, X., Cherniack, M., Ferreira, M., Lau, E., Lin, A., Madden, S., O’Neil, E. et al.: C-store: a column-oriented DBMS. In: Proceedings of the 31st International Conference on Very Large Data Bases, pp. 553–564. VLDB Endowment (2005)

  40. 40.

    Abadi, D.: Teradata rainstor’s compression and performance technology. (2015). http://blogs.teradata.com/data-points/teradata-rainstors-compression-performance-technology/. Accessed 21 June 2015

  41. 41.

    Object Management Group (OMG) XML Metadata Interchange specification, version 2.5.1 (2011)

  42. 42.

    Isocpp.org. Serialization and unserialization. https://isocpp.org/wiki/faq/serialization#serialize-text-format. Accessed 25 Feb 2019

  43. 43.

    W3C. Efficient Extensible Markup Language (XML) Interchange (EXI), Format 1.0. Standard, IJIS Institute Technical Advisory Committee (2014)

  44. 44.

    Crockford, D.: The application/JSON media type for javascript object notation (JSON). RFC 4627 (2006)

  45. 45.

    Varda, K.: Google Protocol Buffers: Google’s data interchange format. Technical report (2008). http://code.google.com/p/protobuf/. Accessed 10 Apr 2019

  46. 46.

    Kemper, P., Tepper, C.: Automated trace analysis of discrete-event system models. IEEE Trans. Softw. Eng. 35(2), 195–208 (2009). https://doi.org/10.1109/TSE.2008.75

    Article  Google Scholar 

  47. 47.

    Maoz, S., Harel, D.: On tracing reactive systems. Softw. Syst. Model. 10(4), 447–468 (2011)

    Article  Google Scholar 

  48. 48.

    Maoz, S.: Using model-based traces as runtime models. IEEE Comput. Soc. 42, 28–36 (2009). https://doi.org/10.1109/MC.2009.336

    Article  Google Scholar 

  49. 49.

    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, Boston (1994)

    Google Scholar 

  50. 50.

    Taniguchi, K., Ishio, T., Kamiya, T., Kusumoto, S., Inoue, K.: Extracting sequence diagram from execution trace of Java program. In: Proceeding of the 8th International Workshop on Principles of Software Evolution, pp. 148–151. IEEE (2005)

  51. 51.

    Valiente, G.: Simple and efficient tree pattern matching. Report, Technical University of Catalonia (2000)

  52. 52.

    Uno, T., Asai, T., Uchida, Y., Arimura, H.: LCM: an efficient algorithm for enumerating frequent closed item sets. In: Proceedings of Workshop on Frequent Itemset Mining Implementations (FIMI’03), vol. 90 (2003)

  53. 53.

    Jézéquel, J.-M., Combemale, B., Barais, O., Monperrus, M., Fouquet, F.: Mashup of metalanguages and its implementation in the kermeta language workbench. Softw. Syst. Model. 14(2), 905–920 (2015)

    Article  Google Scholar 

  54. 54.

    Bittl, S., Gonzalez, A.A., Spähn, M., Heidrich, W.: Performance comparison of data serialization schemes for ETSIITS Car-to-X communication systems. Int. J. Adv. Telecommun. 8(1–2), 48–58 (2015)

    Google Scholar 

  55. 55.

    Hegedüs, Á., Horváth, Á., Ráth, I., Starr, R.R., Varró, D.: Query-driven soft traceability links for models. Softw. Syst. Model. 15(3), 733–756 (2016)

    Article  Google Scholar 

  56. 56.

    Hojaji, F., Zamani, B., Hamou-Lhadj, A.: Towards a tracing framework for model-driven software systems. In: Proceedings of the 6th International Conference on Computer and Knowledge Engineering (ICCKE), pp. 298–303. IEEE (2016)

  57. 57.

    Pirzadeh, H., Shanian, S., Hamou-Lhadj, A., Alawneh, L., Sharifee, A.: Stratified sampling of execution traces: execution phases serving as strata. Elsevier J. Sci. Comput. Program. Spec. Issue Softw. Evolut. Adapt. Maint. 78(8), 1099–1118 (2013)

    Google Scholar 

  58. 58.

    Combemale, B., Crégut, X., Giacometti, J.-P., Michel, P., Pantel, M.: Introducing simulation and model animation in the MDE Topcased toolkit. In: Proceedings of the 4th European Congress Embedded Real Time Software (ERTS) (2008)

  59. 59.

    Crégut, X., Combemale, B., Pantel, M., Faudoux, R., Pavei, J.: Generative technologies for model animation in the TopCASED platform. ECMFA 6138, 90–103 (2010)

    Google Scholar 

  60. 60.

    Gogolla, M., Hamann, L., Hilken, F., Kuhlmann, M., France, R.B.: From application models to filmstrip models: an approach to automatic validation of model dynamics. Modellierung 225, 273–288 (2014)

    Google Scholar 

  61. 61.

    Aljamaan, H., Lethbridge, T.C.: Towards tracing at the model level. In: Proceedings of the 19th Working Conference on Reverse Engineering (WCRE), pp. 495–498. IEEE (2012). https://doi.org/10.1109/WCRE.2012.59

  62. 62.

    Aljamaan, H., Lethbridge, T.C, Badreddin, O., Guest, G., Forward, A.: Specifying trace directives for UML attributes and state machines. In: Proceedings of the 2nd International Conference on Model-Driven Engineering and Software Development (MODELSWARD), pp. 79–86. IEEE (2014)

  63. 63.

    Aljamaan, H.I., Lethbridge, T., Garzón, M., Forward, A.: UmpleRun: a dynamic analysis tool for textually modeled state machines using Umple. In: Proceedings of the First International Workshop on Executable Modeling co-Located with Models 2015, pp. 16–20 (2015)

  64. 64.

    Fuentes, L., Manrique, J., Sánchez, P.: Execution and simulation of (profiled) UML models using Populo. In: Proceedings of the International Workshop on Models in Software Engineering, pp. 75–81. ACM (2008). https://doi.org/10.1145/1370731.1370749

  65. 65.

    Fuentes, L., Sánchez, P.: Dynamic weaving of aspect-oriented executable UML models. Trans. Asp. Oriented Softw. Dev. 5560, 1–38 (2009)

    Article  Google Scholar 

  66. 66.

    Mayerhofer, T., Langer, P., Kappel, G.: A runtime model for fUML. In: Proceedings of the 7th Workshop on Models@ run. time, pp. 53–58. ACM (2012). https://doi.org/10.1145/2422518.2422527

  67. 67.

    Hendriks, M., Verriet, J., Basten, T., Theelen, B., Brassé, M., Somers, L.: Analyzing execution traces: critical-path analysis and distance analysis. In: Proceedings of the International Journal on Software Tools for Technology Transfer, pp. 1–24, (2016a). https://doi.org/10.1007/s10009-016-0436-z. Export Date: 22 December 2016 Article in Press

    Article  Google Scholar 

  68. 68.

    Hendriks, M., Verriet, J., Basten, T., Theelen, B., Brassé, M.: Analyzing execution traces: critical-path analysis and distance analysis. Int. J. Softw. Tools Technol. Transf. 19(4), 487–512 (2016b). https://doi.org/10.1007/s10009-016-0436-z

    Article  Google Scholar 

  69. 69.

    Schivo, S., Yildiz, B.M., Ruijters, E., Gerking, C., Kumar, R., Dziwok, S., Rensink, A., Stoelinga, M.: How to efficiently build a front-end tool for UPPAAL: a model-driven approach. In: International Symposium on Dependable Software Engineering: Theories, Tools, and Applications, volume 10606 of Lecture Notes in Computer Science, pp. 319–336. Springer (2017)

  70. 70.

    Alawneh, L., Hamou-Lhadj, A.: An exchange format for representing dynamic information generated from high performance computing applications. Elsevier J. Future Gener. Comput. Syst. 27(4), 381–394 (2011)

    Article  Google Scholar 

  71. 71.

    Tax, N., Sidorova, N., van der Aalst, W.M.P.: Discovering more precise process models from event logs by filtering out chaotic activities. J. Intell. Inf. Syst. 52(1), 107–139 (2019). https://doi.org/10.1007/s10844-018-0507-6

    Article  Google Scholar 

  72. 72.

    Bose, R.P.J.C., van der Aalst, W.M.P.: Abstractions in process mining: a taxonomy of patterns. In Dayal, U., Eder, J., Koehler, J., Reijers, H.A. (eds.) Business Process Management, volume 5701 of Lecture Notes in Computer Science, pp. 159–175. Springer, Berlin (2009)

  73. 73.

    Song, M., Günther, C.W., Van der Aalst, W.M.P.: Trace clustering in process mining. In: International Conference on Business Process Management, volume 17 of Lecture Notes in Business Information Processing, pp. 109–120. Springer (2008)

  74. 74.

    Günther, C.W., Van Der Aalst, W.M.P.: Fuzzy mining—adaptive process simplification based on multi-perspective metrics. In: International Conference on Business Process Management, volume 4714 of Lecture Notes in Computer Science, pp. 328–343. Springer (2007)

  75. 75.

    Diamantini, C., Genga, L., Potena, D.: Behavioral process mining for unstructured processes. J. Intell. Inf. Syst. 47(1), 5–32 (2016). https://doi.org/10.1007/s10844-016-0394-7

    Article  Google Scholar 

  76. 76.

    Liesaputra, V., Yongchareon, S., Chaisiri, S.: Efficient process model discovery using maximal pattern mining. In: Motahari-Nezhad, H.R., Recker, J., Weidlich, M. (eds.) Business Process Management, volume 9253 of Lecture Notes in Computer Science, pp. 441–456. Springer, Cham (2015)

    Google Scholar 

  77. 77.

    Tax, N., Sidorova, N., Haakma, R., van der Aalst, W.M.P.: Event abstraction for process mining using supervised learning techniques. Lecture Notes in Networks and Systems, pp. 251–269 (2017). https://doi.org/10.1007/978-3-319-56994-9_18

    Google Scholar 

  78. 78.

    Schivo, S., Scholma, J., Wanders, B., Camacho, R.A.U., van der Vet, P.E., Karperien, M., Langerak, R., van de Pol, J., Post, J.N.: Modeling biological pathway dynamics with timed automata. IEEE J. Biomed. Health Inform. 18(3), 832–839 (2014). https://doi.org/10.1109/BIBE.2012.6399719

    Article  Google Scholar 

  79. 79.

    Barmpis, K., Kolovos, D.S: Comparative analysis of data persistence technologies for large-scale models. In: Proceedings of the 2012 Extreme Modeling Workshop, pp. 33–38. ACM (2012)

  80. 80.

    Domínguez, E., Pérez, B., Zapata, M.A.: A UML profile for dynamic execution persistence with monitoring purposes. In: Proceedings of the 5th International Workshop on Modeling in Software Engineering, pp. 55–61. IEEE. https://doi.org/10.1109/MiSE.2013.6595297

  81. 81.

    Pagán, J.E., Cuadrado, J.S., Molina, J.G.: Morsa: a scalable approach for persisting and accessing large models. In: International Conference on Model Driven Engineering Languages and Systems, volume 6981 of Lecture Notes in Computer Science, pp. 77–92. Springer (2011)

  82. 82.

    Hartmann, T., Fouquet, F., Jimenez, M., Rouvoy, R., Le Traon, Y.: Analyzing complex data in motion at scale with temporal graphs. In: The 29th International Conference on Software Engineering and Knowledge Engineering (SEKE’17), p. 6. KSI Research (2017)

Download references


The authors would like to acknowledge the financial sponsorship provided by co-founding of Kharazmi University and Ministry of Science, Research, and Technology (MSRT) of Islamic Republic of Iran under IMPULS Program. Lastly, the authors would like to thank Austria (OeAd) for supporting this research facilities through Contract No: 4/11937.

Author information



Corresponding author

Correspondence to Bahman Zamani.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Communicated by Dr. Jeff Gray.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Hojaji, F., Zamani, B., Hamou-Lhadj, A. et al. Lossless compaction of model execution traces. Softw Syst Model 19, 199–230 (2020). https://doi.org/10.1007/s10270-019-00737-w

Download citation


  • Execution trace
  • Compaction
  • Model execution
  • Trace metamodel