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.
Similar content being viewed by others
Notes
References
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
Brambilla, M., Cabot, J., Wimmer, M.: Model-Driven Software Engineering in Practice. Synthesis Lectures on Software Engineering. Morgan & Claypool Publishers, second edition (2017)
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
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)
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)
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
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
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
Jhala, R., Majumdar, R.: Software model checking. ACM Comput. Surv. 41(4), 21:1–21:54 (2009). https://doi.org/10.1145/1592434.1592438
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)
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
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
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
Bousse, E., Leroy, D., Combemale, B., Wimmer, M., Baudry, B.: Omniscient debugging for executable DSLs. J. Syst. Softw. 137, 261–288 (2018)
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)
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
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)
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
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
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)
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)
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)
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
Hevner, A.R., March, S.T., Park, J., Ram, S.: Design science in information systems research. MIS Q. 28(1), 75–105 (2004)
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
Petri, C.A.: Fundamentals of a theory of asynchronous information flow. In: Proceedings of IFIP Congress, pp. 386–390. North Holland, Amsterdam (1962)
Object Management Group. Semantics of a Foundational Subset for Executable UML Models (fUML), Version 1.3, July (2017)
Object Management Group. Business Process Model and Notation (BPMN), Version 2.0, January (2011)
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
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
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)
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)
Dhamdhere, D.M., Gururaja, K., Ganu, P.G.: A compact execution history for dynamic slicing. Inf. Process. Lett. 85(3), 145–152 (2003)
Hamou-Lhadj, A.: Techniques to simplify the analysis of execution traces for program comprehension. In Ph.D. Dissertation, University of Ottawa (2005)
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)
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)
Smith, R., Korel, B.: Slicing Event Traces of Large Software Systems. arXiv:cs/0101005 (2001)
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
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)
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
Object Management Group (OMG) XML Metadata Interchange specification, version 2.5.1 (2011)
Isocpp.org. Serialization and unserialization. https://isocpp.org/wiki/faq/serialization#serialize-text-format. Accessed 25 Feb 2019
W3C. Efficient Extensible Markup Language (XML) Interchange (EXI), Format 1.0. Standard, IJIS Institute Technical Advisory Committee (2014)
Crockford, D.: The application/JSON media type for javascript object notation (JSON). RFC 4627 (2006)
Varda, K.: Google Protocol Buffers: Google’s data interchange format. Technical report (2008). http://code.google.com/p/protobuf/. Accessed 10 Apr 2019
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
Maoz, S., Harel, D.: On tracing reactive systems. Softw. Syst. Model. 10(4), 447–468 (2011)
Maoz, S.: Using model-based traces as runtime models. IEEE Comput. Soc. 42, 28–36 (2009). https://doi.org/10.1109/MC.2009.336
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, Boston (1994)
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)
Valiente, G.: Simple and efficient tree pattern matching. Report, Technical University of Catalonia (2000)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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
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)
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)
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
Fuentes, L., Sánchez, P.: Dynamic weaving of aspect-oriented executable UML models. Trans. Asp. Oriented Softw. Dev. 5560, 1–38 (2009)
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
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
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
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)
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)
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
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)
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)
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)
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
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)
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
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
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)
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
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)
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)
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.
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Dr. Jeff Gray.
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-019-00737-w