Skip to main content
Log in

Simulation and analysis of MultEcore multilevel models based on rewriting logic

  • Theme Section Paper
  • Published:
Software and Systems Modeling Aims and scope Submit manuscript

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.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

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

Similar content being viewed by others

Notes

  1. 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.

  2. 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

  1. 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

  2. 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)

  3. 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)

  4. 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)

    Article  Google Scholar 

  5. 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

  6. Atkinson, C., Kühne, T.: Reducing accidental complexity in domain models. Softw. Syst. Model. 7(3), 345–359 (2008)

    Article  Google Scholar 

  7. 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

    Article  Google Scholar 

  8. Atkinson, C., Kühne, T.: On evaluating multi-level modeling. In: Proceedings of MULTI @ MODELS, pp. 274–277 (2017)

  9. 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

  10. 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

  11. 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

  12. 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

  13. Clark, T., Warmer, J.: Object Modeling With the OCL: The Rationale Behind the Object Constraint Language, vol. 2263, Springer (2003)

  14. 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)

    Article  MathSciNet  Google Scholar 

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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)

    Article  Google Scholar 

  20. 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)

  21. 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

    Article  MathSciNet  MATH  Google Scholar 

  22. 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

  23. 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

  24. Durán, F., Roldán, M.: Validating OCL constraints on Maude prototypes of UML models. Universidad de Málaga, Technical Report (2012)

  25. The Epsilon Object Language (EOL). https://www.eclipse.org/epsilon/doc/eol/

  26. 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

  27. 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

    Article  Google Scholar 

  28. 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

    Article  Google Scholar 

  29. Guerra, E., de Lara, J.: Adding recursion to graph transformation. ECEASST (2007). https://doi.org/10.14279/tuj.eceasst.6.56

  30. Halder, A., Venkateswarlu, A.: A study of petri nets modeling analysis and simulation. Department of Aerospace Engineering Indian Institute of Technology Kharagpur, India (2006)

  31. 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)

  32. 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

    Article  Google Scholar 

  33. Kelly, S., Tolvanen, J.: Domain-Specific Modeling: Enabling Full Code Generation. Wiley, New York (2008)

    Book  Google Scholar 

  34. 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

  35. Kühne, T.: A story of levels. In: Proceedings of MULTI @ MODELS, pp. 673–682 (2018)

  36. 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

  37. Lindqvist, J., Lundkvist, T., Porres, I.: A query language with the star operator. ECEASST (2007). https://doi.org/10.14279/tuj.eceasst.6.55

  38. Macías, F.: Multilevel modelling and domain-specific languages. PhD Thesis, Western Norway University of Applied Sciences and University of Oslo (2019)

  39. 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)

  40. 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

  41. 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

    Article  MathSciNet  MATH  Google Scholar 

  42. 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

    Article  MATH  Google Scholar 

  43. 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

    Article  MathSciNet  MATH  Google Scholar 

  44. 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

    Article  MathSciNet  MATH  Google Scholar 

  45. Meta Object Facility (MOF) specification 2.5.1. https://www.omg.org/spec/MOF

  46. 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)

    Article  Google Scholar 

  47. Murata, T.: Petri nets: properties, analysis and applications. Proc. IEEE 77(4), 541–580 (1989)

    Article  Google Scholar 

  48. Reisig, W.: Understanding Petri Nets—Modeling Techniques, Analysis Methods. Case Studies, Springer (2013). https://doi.org/10.1007/978-3-642-33278-4

  49. 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

  50. 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)

  51. 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

  52. 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)

  53. 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

    Article  Google Scholar 

  54. Rodríguez, A., Durán, F., Kristensen, L.M.: MultEcore webpage (2021). https://ict.hvl.no/multecore/

  55. 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

  56. 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

    Article  Google Scholar 

  57. 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

  58. 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

  59. 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

  60. Steinberg, D., Budinsky, F., Merks, E., Paternostro, M.: EMF: Eclipse Modeling Framework, Pearson Education (2008)

  61. 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

  62. 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)

  63. Ullman, J.D.: Elements of ML Programming, Prentice-Hall, Inc. (1994)

  64. The Unified Modelling Language (UML) specification 2.5.1. https://www.omg.org/spec/UML

  65. 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)

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

    Article  MathSciNet  MATH  Google Scholar 

  67. Warmer, J., Kleppe, A.: The Object Constraint Language Second Edition: Getting Your Models Ready for MDA, Addison-Wesley Educational Publishers (2003)

  68. 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)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alejandro Rodríguez.

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.

Fig. 18
figure 18

Petri nets multilevel hierarchy

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-021-00947-1

Keywords

Navigation