Advertisement

Lossless compaction of model execution traces

  • Fazilat Hojaji
  • Bahman ZamaniEmail author
  • Abdelwahab Hamou-Lhadj
  • Tanja Mayerhofer
  • Erwan Bousse
Regular Paper

Abstract

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.

Keywords

Execution trace Compaction Model execution Trace metamodel 

Notes

Acknowledgements

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.

References

  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 CrossRefGoogle 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)Google Scholar
  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)Google Scholar
  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
  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
  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 CrossRefGoogle 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)Google Scholar
  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)CrossRefGoogle 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)Google Scholar
  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)Google Scholar
  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 CrossRefGoogle 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 CrossRefGoogle 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)Google Scholar
  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)CrossRefGoogle 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)Google Scholar
  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 CrossRefGoogle 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)CrossRefGoogle 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
  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)Google Scholar
  27. 27.
    Object Management Group. Semantics of a Foundational Subset for Executable UML Models (fUML), Version 1.3, July (2017)Google Scholar
  28. 28.
    Object Management Group. Business Process Model and Notation (BPMN), Version 2.0, January (2011)Google Scholar
  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 CrossRefzbMATHGoogle 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
  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)Google Scholar
  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)Google Scholar
  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)MathSciNetCrossRefzbMATHGoogle 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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  44. 44.
    Crockford, D.: The application/JSON media type for javascript object notation (JSON). RFC 4627 (2006)Google Scholar
  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 CrossRefGoogle Scholar
  47. 47.
    Maoz, S., Harel, D.: On tracing reactive systems. Softw. Syst. Model. 10(4), 447–468 (2011)CrossRefGoogle 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 CrossRefGoogle Scholar
  49. 49.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, Boston (1994)zbMATHGoogle 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)Google Scholar
  51. 51.
    Valiente, G.: Simple and efficient tree pattern matching. Report, Technical University of Catalonia (2000)Google Scholar
  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)Google Scholar
  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)CrossRefGoogle 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)CrossRefGoogle 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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)CrossRefGoogle 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
  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 CrossRefGoogle 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)Google Scholar
  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)CrossRefGoogle 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 CrossRefGoogle 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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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 CrossRefGoogle 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
  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 CrossRefGoogle 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)Google Scholar
  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)Google Scholar
  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)Google Scholar

Copyright information

© Springer-Verlag GmbH Germany, part of Springer Nature 2019

Authors and Affiliations

  1. 1.MDSE Research Group, Department of Software EngineeringUniversity of IsfahanIsfahanIran
  2. 2.Department of Electrical and Computer EngineeringConcordia UniversityMontrealCanada
  3. 3.Business Informatics GroupTU WienViennaAustria

Personalised recommendations