Abstract
Multilevel modelling (MLM) approaches make it possible for designers and modellers to work with an unlimited number of abstraction levels when specifying domain-specific modelling languages (DSMLs). In this paper, we present a functional infrastructure that allows modellers to define the structure and the operational semantics of multilevel modelling hierarchies, enabling simulation and analysis. Using the MultEcore tool, one can design and distribute the models that compose the language family in a multilevel hierarchy, and specify their behaviour by means of multilevel transformation, so-called multilevel coupled model transformations. We give a rewrite logic semantics to MultEcore’s MLM, on which we have based our automated transformation from MultEcore to the rewriting logic language Maude. Then, we rely on Maude to execute MultEcore models and to support analysis techniques, like reachability analysis, bounded and unbounded model checking of invariants and LTL formulas on systems with both finite and infinite reachable state spaces using equational abstraction. We illustrate our developed techniques on a DSML family for Petri nets.
Similar content being viewed by others
Notes
OCL was chosen since it has been part of UML for several years, is one of the most used languages in EMF-based applications, and it is considered a standard in the MDSE community.
Note that the number of tokens may be calculated with the OCL expression rp.tokens->size(). The attribute is however used to speed up calculations and to illustrate the use of attributes.
References
Arendt, T., Biermann, E., Jurack, S., Krause, C., Taentzer, G.: Henshin: advanced concepts and tools for in-place EMF model transformations. In: 13th International Conference on Model Driven Engineering Languages and Systems (MODELS 2010), pp. 121–135 (2010). https://doi.org/10.1007/978-3-642-16145-2_9
Atkinson, C., Gerbig, R.: Flexible deep modeling with Melanee. In: Betz, S., Reimer, U. (eds.) Modellierung 2016, LNI, vol. 255, Gesellschaft für Informatik, Bonn, pp. 117–122 (2016)
Atkinson, C., Gerbig, R., Metzger, N.: On the execution of deep models. In: 1st International Workshop on Executable Modeling co-located with ACM/IEEE 18th International Conference on Model Driven Engineering Languages and Systems (MODELS 2015), pp. 28–33 (2015)
Atkinson, C., Kühne, T.: Processes and products in a multi-level metamodeling architecture. Int. J. Software Eng. Knowl. Eng. 11(06), 761–783 (2001)
Atkinson, C., Kühne, T.: The essence of multilevel metamodeling. In: UML 2001—The Unified Modeling Language, Modeling Languages, Concepts, and Tools, pp. 19–33 (2001). https://doi.org/10.1007/3-540-45441-1_3
Atkinson, C., Kühne, T.: Reducing accidental complexity in domain models. Softw. Syst. Model. 7(3), 345–359 (2008)
Atkinson, C., Kühne, T.: In defence of deep modelling. Inf. Softw. Technol. 64, 36–51 (2015). https://doi.org/10.1016/j.infsof.2015.03.010
Atkinson, C., Kühne, T.: On evaluating multi-level modeling. In: Proceedings of MULTI @ MODELS, pp. 274–277 (2017)
Bernardinello, L., de Cindio, F.: A survey of basic net models and modular net classes. In: Advances in Petri Nets 1992, The DEMON Project, Springer, pp. 304–351 (1992). https://doi.org/10.1007/3-540-55610-9_177
Bousse, E., Wimmer, M.: Domain-level observation and control for compiled executable dsls. In: Kessentini, M., Yue, T., Pretschner, A., Voss, S., Burgueño L. (eds.), 22nd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, MODELS 2019, Munich, Germany, September 15–20, 2019, IEEE, pp. 150–160 (2019). https://doi.org/10.1109/MODELS.2019.000-6
Brambilla, M., Cabot, J., Wimmer, M.: Model-Driven Software Engineering in Practice. Synthesis Lectures on Software Engineering. Morgan & Claypool Publishers (2012). https://doi.org/10.2200/S00441ED1V01Y201208SWE001
Cabot, J., Gogolla, M.: Object constraint language (OCL): a definitive guide. In: Bernardo, M., Cortellessa, V., Pierantonio, A. (eds.), Formal Methods for Model-Driven Engineering—12th International School on Formal Methods for the Design of Computer, Communication, and Software Systems, SFM 2012, Bertinoro, Italy, June 18–23, 2012. Advanced Lectures, Lecture Notes in Computer Science, vol. 7320, Springer, pp. 58–90 (2012). https://doi.org/10.1007/978-3-642-30982-3_3
Clark, T., Warmer, J.: Object Modeling With the OCL: The Rationale Behind the Object Constraint Language, vol. 2263, Springer (2003)
Clavel, M., Durán, F., Eker, S., Lincoln, P., Martı-Oliet, N., Meseguer, J., Quesada, J.F.: Maude: specification and programming in rewriting logic. Theoret. Comput. Sci. 285(2), 187–243 (2002)
Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C.L. (eds.) All About Maude—A High-Performance Logical Framework, How to Specify, Program and Verify Systems in Rewriting Logic. Lecture Notes in Computer Science, vol. 4350, Springer (2007). https://doi.org/10.1007/978-3-540-71999-1
Combemale, B., Barais, O., Wortmann, A.: Language engineering with the GEMOC studio. In: 2017 IEEE International Conference on Software Architecture Workshops, ICSA Workshops 2017, Gothenburg, Sweden, April 5–7, 2017, IEEE Computer Society, pp. 189–191 (2017). https://doi.org/10.1109/ICSAW.2017.61
de Lara, J., Guerra, E.: Deep meta-modelling with MetaDepth. In: Objects, Models, Components, Patterns, lncs, vol. 6141, Springer, pp. 1–20 (2010). https://doi.org/10.1007/978-3-642-13953-6_1
de Lara, J., Guerra, E.: Generic meta-modelling with concepts, templates and Mixin layers. In: Model Driven Engineering Languages and Systems—13th International Conference, MODELS, pp. 16–30 (2010). https://doi.org/10.1007/978-3-642-16145-2_2
de Lara, J., Guerra, E., Cuadrado, J.S.: When and how to use multilevel modelling. ACM Trans. Softw. Eng. Methodol. (TOSEM) 24(2), 12 (2014)
de Lara, J., Vangheluwe, H.: AToM 3: a tool for multi-formalism and meta-modelling. In: International Conference on Fundamental Approaches to Software Engineering, Springer, pp. 174–188 (2002)
Durán, F., Eker, S., Escobar, S., Martí-Oliet, N., Meseguer, J., Rubio, R., Talcott, C.L.: Programming and symbolic computation in Maude. J. Log. Algebraic Methods Program. (2020). https://doi.org/10.1016/j.jlamp.2019.100497
Durán, F., Garavel, H.: The rewrite engines competitions: a rectrospective. In: Beyer, D., Huisman, M., Kordon, F., Steffen, B. (eds.) Tools and Algorithms for the Construction and Analysis of Systems—25 Years of TACAS: TOOLympics, Held as Part of ETAPS 2019, Proceedings, Part III, Lecture Notes in Computer Science, vol. 11429, Springer, pp. 93–100 (2019). https://doi.org/10.1007/978-3-030-17502-3_6
Durán, F., Rocha, C., Álvarez, J.M.: Tool interoperability in the maude formal environment. In: Corradini, A., Klin, B., Cîrstea, C. (eds.) Algebra and Coalgebra in Computer Science—4th International Conference, CALCO 2011, Winchester, UK, August 30–September 2, 2011. Proceedings, Lecture Notes in Computer Science, vol. 6859, Springer, pp. 400–406 (2011). https://doi.org/10.1007/978-3-642-22944-2_30
Durán, F., Roldán, M.: Validating OCL constraints on Maude prototypes of UML models. Universidad de Málaga, Technical Report (2012)
The Epsilon Object Language (EOL). https://www.eclipse.org/epsilon/doc/eol/
Garavel, H., Tabikh, M., Arrada, I.: Benchmarking implementations of term rewriting and pattern matching in algebraic, functional, and object-oriented languages—the 4th rewrite engines competition. In: Rusu, V. (ed.) Rewriting Logic and Its Applications—12th International Workshop, WRLA 2018, Held as a Satellite Event of ETAPS, Proceedings, Lecture Notes in Computer Science, vol. 11152, Springer, pp. 1–25 (2018). https://doi.org/10.1007/978-3-319-99840-4_1
Ghamarian, A.H., de Mol, M., Rensink, A., Zambon, E., Zimakova, M.: Modelling and analysis using GROOVE. Int. J. Softw. Tools Technol. Transf. 14(1), 15–40 (2012). https://doi.org/10.1007/s10009-011-0186-x
Grønmo, R., Krogdahl, S., Møller-Pedersen, B.: A collection operator for graph transformation. Softw. Syst. Model. 12(1), 121–144 (2013). https://doi.org/10.1007/s10270-011-0190-3
Guerra, E., de Lara, J.: Adding recursion to graph transformation. ECEASST (2007). https://doi.org/10.14279/tuj.eceasst.6.56
Halder, A., Venkateswarlu, A.: A study of petri nets modeling analysis and simulation. Department of Aerospace Engineering Indian Institute of Technology Kharagpur, India (2006)
Hee, van, K., Leurs, M., Post, R.: Yasper : Yet another smart process editor (poster). In: 2005 Symposium on Verification and validation of software systems (VVSS 2005) (2005)
Jensen, K., Kristensen, L.M., Wells, L.: Coloured petri nets and CPN tools for modelling and validation of concurrent systems. Int. J. Softw. Tools Technol. Transf. 9(3), 213–254 (2007). https://doi.org/10.1007/s10009-007-0038-x
Kelly, S., Tolvanen, J.: Domain-Specific Modeling: Enabling Full Code Generation. Wiley, New York (2008)
Kühne, T.: Exploring potency. In: Proceedings of the 21th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, MODELS, pp. 2–12 (2018). https://doi.org/10.1145/3239372.3239411
Kühne, T.: A story of levels. In: Proceedings of MULTI @ MODELS, pp. 673–682 (2018)
Lange, A.: dACL: the deep constraint and action language for static and dynamic semantic definition in Melanee (2016). https://madoc.bib.uni-mannheim.de/43490/. Unpublished
Lindqvist, J., Lundkvist, T., Porres, I.: A query language with the star operator. ECEASST (2007). https://doi.org/10.14279/tuj.eceasst.6.55
Macías, F.: Multilevel modelling and domain-specific languages. PhD Thesis, Western Norway University of Applied Sciences and University of Oslo (2019)
Macías, F., Rutle, A., Stolz, V.: Multilevel modelling with MultEcore: a contribution to the MULTI 2017 challenge. In: Proceedings of MULTI @ MODELS, pp. 269–273 (2017)
Macías, F., Rutle, A., Stolz, V., Rodríguez-Echeverría, R., Wolter, U.: An approach to flexible multilevel modelling. Enterp. Model. Inf. Syst. Archit. Int. J. Concept. Model. 13, 10:1–10:35 (2018). https://doi.org/10.18417/emisa.13.10
Macías, F., Wolter, U., Rutle, A., Durán, F., Rodriguez-Echeverria, R.: Multilevel coupled model transformations for precise and reusable definition of model behaviour. J. Log. Algebraic Methods Program. 106, 167–195 (2019). https://doi.org/10.1016/j.jlamp.2018.12.005
Meseguer, J.: Conditioned rewriting logic as a united model of concurrency. Theor. Comput. Sci. 96(1), 73–155 (1992). https://doi.org/10.1016/0304-3975(92)90182-F
Meseguer, J.: Twenty years of rewriting logic. J. Log. Algebr. Program. 81(7–8), 721–781 (2012). https://doi.org/10.1016/j.jlap.2012.06.003
Meseguer, J., Palomino, M., Martí-Oliet, N.: Equational abstractions. Theor. Comput. Sci. 403(2–3), 239–264 (2008). https://doi.org/10.1016/j.tcs.2008.04.040
Meta Object Facility (MOF) specification 2.5.1. https://www.omg.org/spec/MOF
Mohagheghi, P., Gilani, W., Stefanescu, A., Fernández, M.A., Nordmoen, B., Fritzsche, M.: Where does model-driven engineering help? Experiences from three industrial cases. Softw. Syst. Model. 12(3), 619–639 (2013)
Murata, T.: Petri nets: properties, analysis and applications. Proc. IEEE 77(4), 541–580 (1989)
Reisig, W.: Understanding Petri Nets—Modeling Techniques, Analysis Methods. Case Studies, Springer (2013). https://doi.org/10.1007/978-3-642-33278-4
Rensink, A.: The GROOVE simulator: a tool for state space generation. In: Pfaltz, J.L., Nagl, M., öhlen, B.B. (eds.) Applications of Graph Transformations with Industrial Relevance, Second International Workshop, AGTIVE 2003, Charlottesville, VA, USA, September 27–October 1, 2003, Lecture Notes in Computer Science, vol. 3062, Springer, pp. 479–485 (2003). https://doi.org/10.1007/978-3-540-25959-6_40
Rensink, A.: The GROOVE simulator: a tool for state space generation. In: International Workshop on Applications of Graph Transformations with Industrial Relevance, Springer, pp. 479–485 (2003)
Rensink, A., Kuperus, J.: Repotting the geraniums: on nested graph transformation rules. In: Electronic Communication of the European Association of Software Science and Technology, vol. 18 (2009). https://doi.org/10.14279/tuj.eceasst.18.260
Rivera, J.E., Durán, F., Vallecillo, A.: A graphical approach for modeling time-dependent behavior of DSLs. In: Visual Languages and Human-Centric Computing, 2009. VL/HCC 2009. IEEE Symposium on, IEEE, pp. 51–55 (2009)
Rivera, J.E., Durán, F., Vallecillo, A.: Formal specification and analysis of domain specific models using Maude. Simulation 85(11–12), 778–792 (2009). https://doi.org/10.1177/0037549709341635
Rodríguez, A., Durán, F., Kristensen, L.M.: MultEcore webpage (2021). https://ict.hvl.no/multecore/
Rodríguez, A., Durán, F., Kristensen, L.M.: Petri nets experiment resources: MultEcore and Maude files (2021). https://bitbucket.org/phdalejandro/no.hvl.multecore.examples.sosym.petrinets
Rodríguez, A., Durán, F., Rutle, A., Kristensen, L.M.: Executing multilevel domain-specific models in maude. J. Object Technol. 18(2), 1–21 (2019). https://doi.org/10.5381/jot.2019.18.2.a4
Rodríguez, A., Macías, F.: Multilevel modelling with MultEcore: a contribution to the MULTI process challenge. In: Proceedings of MULTI @ MODELS, pp. 152–163 (2019). https://doi.org/10.1109/MODELS-C.2019.00026
Rodríguez, A., Rutle, A., Kristensen, L.M., Durán, F.: A foundation for the composition of multilevel domain-specific languages. In: MULTI@ MoDELS, pp. 88–97 (2019). https://doi.org/10.1109/MODELS-C.2019.00018
Roldán, M., Durán, F.: Dynamic validation of OCL constraints with mOdCL. Electron. Commun. Eur. Assoc. Softw. Sci. Technol. (2011). https://doi.org/10.14279/tuj.eceasst.44.625
Steinberg, D., Budinsky, F., Merks, E., Paternostro, M.: EMF: Eclipse Modeling Framework, Pearson Education (2008)
Strüber, D., Born, K., Gill, K.D., Groner, R., Kehrer, T., Ohrndorf, M., Tichy, M.: Henshin: A usability-focused framework for EMF model transformation development. In: 10th International Conference, ICGT 2017, pp. 196–208 (2017). https://doi.org/10.1007/978-3-319-61470-0_12
Syriani, E., Vangheluwe, H., Mannadiar, R., Hansen, C., Van Mierlo, S., Ergin, H.: AToMPM: a web-based modeling environment. In: MODELS-JP 2013, CEUR Workshop Proceedings, vol. 1115, pp. 21–25 (2013)
Ullman, J.D.: Elements of ML Programming, Prentice-Hall, Inc. (1994)
The Unified Modelling Language (UML) specification 2.5.1. https://www.omg.org/spec/UML
Van Mierlo, S., Barroca, B., Vangheluwe, H., Syriani, E., Kühne, T.: Multi-level modelling in the Modelverse. In: MULTI@ MoDELS, CEUR Workshop Proceedings, vol. 1286, pp. 83–92 (2014)
Verbeek, H.M.W., Wynn, M.T., van der Aalst, W.M.P., ter Hofstede, A.H.M.: Reduction rules for reset/inhibitor nets. J. Comput. Syst. Sci. 76(2), 125–143 (2010). https://doi.org/10.1016/j.jcss.2009.06.003
Warmer, J., Kleppe, A.: The Object Constraint Language Second Edition: Getting Your Models Ready for MDA, Addison-Wesley Educational Publishers (2003)
Wolter, U., Macías, F., Rutle, A.: The Category of Typing Chains as a Foundation of Multilevel Typed Model Transformations. Technical Report 2019-417, University of Bergen, Department of Informatics (2019)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Adrian Rutle and Manuel Wimmer.
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Supported by SFI Smart Ocean NFR Project 309612/F40.
Petri nets multilevel hierarchy
Petri nets multilevel hierarchy
See Fig. 18.
Rights and permissions
About this article
Cite this article
Rodríguez, A., Durán, F. & Kristensen, L.M. Simulation and analysis of MultEcore multilevel models based on rewriting logic. Softw Syst Model 21, 561–586 (2022). https://doi.org/10.1007/s10270-021-00947-1
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-021-00947-1