×

zbMATH — the first resource for mathematics

Multilevel coupled model transformations for precise and reusable definition of model behaviour. (English) Zbl 1423.68105
Summary: The use of Domain-Specific Languages (DSLs) is a promising field for the development of tools tailored to specific problem spaces, effectively diminishing the complexity of hand-made software. With the goal of making models as precise, simple and reusable as possible, we augment DSLs with concepts from multilevel modelling, where the number of abstraction levels are not limited. This is particularly useful for DSL definitions with behaviour, whose concepts inherently belong to different levels of abstraction. Here, models can represent the state of the modelled system and evolve using model transformations. These transformations can benefit from a multilevel setting, becoming a precise and reusable definition of the semantics for behavioural modelling languages. We present in this paper the concept of Multilevel Coupled Model Transformations, together with examples, formal definitions and tools to assess their conceptual soundness and practical value.

MSC:
68N30 Mathematical aspects of software engineering (specification, verification, metrics, requirements, etc.)
Software:
VIATRA2; AGG; GROOVE; Henshin; ATL
PDF BibTeX Cite
Full Text: DOI
References:
[1] Whittle, J.; Hutchinson, J.; Rouncefield, M.; Burden, H.; Heldal, R., Industrial adoption of model-driven engineering: are the tools really the problem?, (Moreira, A.; Schätz, B.; Gray, J.; Vallecillo, A.; Clarke, P., MODELS. MODELS, LNCS, vol. 8107, (2013), Springer), 1-17
[2] Whittle, J.; Hutchinson, J.; Rouncefield, M., The state of practice in model-driven engineering, IEEE Softw., 31, 3, 79-85, (2014)
[3] Burden, H.; Heldal, R.; Whittle, J., Comparing and contrasting model-driven engineering at three large companies, (Morisio, M.; Dybå, T.; Torchiano, M., ACM-IEEE Intl. Symposium on Empirical Software Engineering and Measurement. ACM-IEEE Intl. Symposium on Empirical Software Engineering and Measurement, ESEM, (2014)), 14:1-14:10
[4] Mohagheghi, P.; Gilani, W.; Stefanescu, A.; Fernández, M.; Nordmoen, B.; Fritzsche, M., Where does model-driven engineering help? Experiences from three industrial cases, Softw. Syst. Model., 12, 3, 619-639, (2013)
[5] Mohagheghi, P.; Gilani, W.; Stefanescu, A.; Fernández, M., An empirical study of the state of the practice and acceptance of model-driven engineering in four industrial cases, Empir. Softw. Eng., 18, 1, 89-116, (2013)
[6] Mohagheghi, P.; Fernández, M.; Martell, J.; Fritzsche, M.; Gilani, W., MDE adoption in industry: challenges and success criteria, (Chaudron, M. R.V., Workshops and Symposia at MODELS. Workshops and Symposia at MODELS, LNCS, vol. 5421, (2008), Springer), 54-59
[7] Tolvanen, J.; Kelly, S., Model-driven development challenges and solutions - experiences with domain-specific modelling in industry, (Hammoudi, S.; Pires, L. F.; Selic, B.; Desfray, P., Intl. Conference on Model-Driven Engineering and Software Development. Intl. Conference on Model-Driven Engineering and Software Development, MODELSWARD, (2016), SciTePress), 711-719
[8] Hutchinson, J.; Whittle, J.; Rouncefield, M.; Kristoffersen, S., Empirical assessment of MDE in industry, (Taylor, R.; Gall, H.; Medvidovic, N., Intl. Conference on Software Engineering. Intl. Conference on Software Engineering, ICSE, (2011), ACM), 471-480
[9] Petre, M., “No shit“ or “Oh, shit!”: responses to observations on the use of UML in professional practice, Softw. Syst. Model., 13, 4, 1225-1235, (2014)
[10] Petre, M., UML in practice, (Notkin, D.; Cheng, B.; Pohl, K., Intl. Conference on Software Engineering. Intl. Conference on Software Engineering, ICSE, (2013), IEEE), 722-731
[11] UML, (2017)
[12] de Lara, J.; Guerra, E.; Sánchez Cuadrado, J., Model-driven engineering with domain-specific meta-modelling languages, Softw. Syst. Model., 14, 1, 429-459, (2015)
[13] Mohagheghi, P.; Haugen, Ø., Evaluating domain-specific modelling solutions, (Trujillo, Juan; etal., ER Workshops. ER Workshops, LNCS, vol. 6413, (2010), Springer), 212-221
[14] Kelly, S.; Tolvanen, J., Domain-Specific Modeling - Enabling Full Code Generation, (2008), Wiley
[15] Fowler, M., Domain-Specific Languages, (2011), Addison-Wesley
[16] Eclipse Modeling Framework, Eclipse Modeling Framework
[17] UML, (2017)
[18] Atkinson, C.; Kühne, T., Reducing accidental complexity in domain models, Softw. Syst. Model., 7, 3, 345-359, (2008)
[19] de Lara, J.; Guerra, E.; Sánchez Cuadrado, J., When and how to use multilevel modelling, ACM Trans. Softw. Eng. Methodol., 24, 2, 12:1-12:46, (2014)
[20] Atkinson, C.; Gerbig, R., Flexible deep modeling with Melanee, (Betz, S.; Reimer, U., Modellierung, vol. 255, (2016)), 117-122
[21] (Atkinson, C.; Grossmann, G.; Kühne, T.; de Lara, J., Intl. Workshop on Multi-Level Modelling. Intl. Workshop on Multi-Level Modelling, CEUR Workshop Proc., vol. 1505, (2015))
[22] (Atkinson, C.; Grossmann, G.; Clark, T., Intl. Workshop on Multi-Level Modelling. Intl. Workshop on Multi-Level Modelling, CEUR Workshop Proc., vol. 1722, (2016))
[23] Macías, F.; Rutle, A.; Stolz, V., MultEcore: combining the best of fixed-level and multilevel metamodelling, (MULTI. MULTI, CEUR Workshop Proc., vol. 1722, (2016)), 1-10
[24] Brambilla, M.; Cabot, J.; Wimmer, M., Model-Driven Software Engineering in Practice, (2012), Morgan & Claypool Publishers
[25] (Mayerhofer, T.; Langer, P.; Seidewitz, E.; Gray, J., Intl. Workshop on Executable Modeling. Intl. Workshop on Executable Modeling, CEUR Workshop Proc., vol. 1560, (2016))
[26] Engels, G.; Hausmann, J.; Heckel, R.; Sauer, S., Dynamic meta modeling: a graphical approach to the operational semantics of behavioral diagrams in UML, (Unified Modeling Language: Modeling Languages and Applications. Unified Modeling Language: Modeling Languages and Applications, UML. Unified Modeling Language: Modeling Languages and Applications. Unified Modeling Language: Modeling Languages and Applications, UML, LNCS, vol. 1939, (2000)), 323-337
[27] Fischer, T.; Niere, J.; Torunski, L.; Zündorf, A., Story diagrams: a new graph rewrite language based on the unified modeling language, (Intl. Workshop on Theory and Application of Graph Transformation. Intl. Workshop on Theory and Application of Graph Transformation, TAGT, (1998)), 1-12
[28] Mayerhofer, T.; Langer, P.; Wimmer, M.; Kappel, G., xMOF: executable DSMLs Based on fUML, (Erwig, M.; Paige, R.; Van Wyk, E., Software Language Engineering. Software Language Engineering, SLE. Software Language Engineering. Software Language Engineering, SLE, LNCS, vol. 8225, (2013)), 56-75
[29] Di Ruscio, D.; Jouault, F.; Kurtev, I.; Bézivin, J.; Pierantonio, A., Extending AMMA for Supporting Dynamic Semantics Specifications of DSLs, (Apr. 2006), Laboratoire d’Informatique de Nantes-Atlantique (LINA): Laboratoire d’Informatique de Nantes-Atlantique (LINA) Nantes, France, Tech. Rep. 06.02
[30] Chen, K.; Sztipanovits, J.; Abdelwalhed, S.; Jackson, E., Semantic anchoring with model transformations, (Model Driven Architecture: Foundations and Applications. Model Driven Architecture: Foundations and Applications, ECMDA-FA. Model Driven Architecture: Foundations and Applications. Model Driven Architecture: Foundations and Applications, ECMDA-FA, LNCS, vol. 3748, (2005)), 115-129
[31] Muller, P.-A.; Fleurey, F.; Jézéquel, J.-M., Weaving executability into object-oriented meta-languages, (MODELS. MODELS, LNCS, vol. 3713, (2005)), 264-278
[32] (Rozenberg, G., Handbook of Graph Grammars and Computing by Graph Transformations, Vol. 1: Foundations, (1997), World Scientific) · Zbl 0908.68095
[33] Ehrig, H.; Ehrig, K.; Prange, U.; Taentzer, G., Fundamentals of Algebraic Graph Transformation, Monographs in Theoretical Computer Science, (2006), Springer · Zbl 1095.68047
[34] Csertán, G.; Huszerl, G.; Majzik, I.; Pap, Z.; Pataricza, A.; Varró, D., VIATRA - visual automated transformations for formal verification and validation of UML models, (Intl. Conf. on Automated Software Engineering. Intl. Conf. on Automated Software Engineering, ASE, (2002)), 267-270
[35] de Lara, J.; Vangheluwe, H., Atom^{3}: a tool for multi-formalism and meta-modelling, (Kutsche, R.; Weber, H., Fundamental Approaches to Software Engineering. Fundamental Approaches to Software Engineering, FASE. Fundamental Approaches to Software Engineering. Fundamental Approaches to Software Engineering, FASE, LNCS, vol. 2306, (2002), Springer), 174-188 · Zbl 1059.68561
[36] Taentzer, G., AGG: a graph transformation environment for modeling and validation of software, (Pfaltz, J.; Nagl, M.; Böhlen, B., Applications of Graph Transformations with Industrial Relevance. Applications of Graph Transformations with Industrial Relevance, AGTIVE. Applications of Graph Transformations with Industrial Relevance. Applications of Graph Transformations with Industrial Relevance, AGTIVE, LNCS, vol. 3062, (2004), Springer), 446-453
[37] Rensink, A., The GROOVE simulator: a tool for state space generation, (Pfaltz, J.; Nagl, M.; Böhlen, B., AGTIVE 2003. AGTIVE 2003, LNCS, vol. 3062, (2004)), 479-485
[38] Rivera, J.; Durán, F.; Vallecillo, A., A graphical approach for modeling time-dependent behavior of DSLs, (Symposium on Visual Languages and Human-Centric Computing. Symposium on Visual Languages and Human-Centric Computing, VL/HCC, (2009)), 51-55
[39] Schürr, A.; Rensink, A., Software and systems modeling with graph transformations, Softw. Syst. Model., 13, 1, 171-172, (2014)
[40] de Lara, J.; Vangheluwe, H., Defining visual notations and their manipulation through meta-modelling and graph transformation, J. Vis. Lang. Comput., 15, 3-4, 309-330, (2006)
[41] Sánchez Cuadrado, J.; García Molina, J., Approaches for model transformation reuse: factorization and composition, (Vallecillo, A.; Gray, J.; Pierantonio, A., Theory and Practice of Model Transformations. Theory and Practice of Model Transformations, ICMT, (2008), Springer), 168-182
[42] Sánchez Cuadrado, J.; Guerra, E.; de Lara, J., Generic model transformations: write once, reuse everywhere, (Cabot, J.; Visser, E., ICMT. ICMT, LNCS, vol. 6707, (2011), Springer), 62-77
[43] de Lara, J.; Guerra, E., Towards the flexible reuse of model transformations: a formal approach based on graph transformation, J. Log. Algebraic Methods Program., 83, 5-6, 427-458, (2014) · Zbl 1371.68055
[44] Durán, F.; Moreno-Delgado, A.; Orejas, F.; Zschaler, S., Amalgamation of domain specific languages with behaviour, J. Log. Algebraic Methods Program., 86, 1, 208-235, (2015) · Zbl 1353.68028
[45] Chechik, M.; Famelis, M.; Salay, R.; Strüber, D., Perspectives of model transformation reuse, (Ábrahám, E.; Huisman, M., Integrated Formal Methods. Integrated Formal Methods, IFM. Integrated Formal Methods. Integrated Formal Methods, IFM, LNCS, vol. 9681, (2016), Springer), 28-44
[46] Kusel, A.; Schönböck, J.; Wimmer, M.; Kappel, G.; Retschitzegger, W.; Schwinger, W., Reuse in model-to-model transformation languages: are we there yet?, Softw. Syst. Model., 14, 2, 537-572, (2015)
[47] Kusel, A.; Schönböck, J.; Wimmer, M.; Retschitzegger, W.; Schwinger, W.; Kappel, G., Reality check for model transformation reuse: the ATL transformation zoo case study, (Baudry, B.; Dingel, J.; Lucio, L.; Vangheluwe, H., Analysis of Model Transformations (AMT), vol. 1077, (2013))
[48] de Lara, J.; Guerra, E., Generic meta-modelling with concepts, templates and mixin layers, (Petriu, D.; Rouquette, N.; Haugen, Ø., MODELS, (2010), Springer), 16-30
[49] Rutle, A.; MacCaull, W.; Wang, H.; Lamo, Y., A metamodelling approach to behavioural modelling, (Proc. of BM-FA ’12, (2012), ACM), 5:1-5:10
[50] Atkinson, C.; Gerbig, R.; Tunjic, C., Enhancing classic transformation languages to support multi-level modeling, Softw. Syst. Model., 14, 2, 645-666, (2015)
[51] Atkinson, C.; Gerbig, R.; Tunjic, C., Towards multi-level aware model transformations, (Hu, Z.; de Lara, J., Theory and Practice of Model Transformations. Theory and Practice of Model Transformations, ICMT. Theory and Practice of Model Transformations. Theory and Practice of Model Transformations, ICMT, LNCS, vol. 7307, (2012)), 208-223
[52] Atkinson, C.; Gerbig, R.; Metzger, N., On the execution of deep models, (1st Intl. Workshop on Executable Modeling. 1st Intl. Workshop on Executable Modeling, CEUR Workshop Proc., vol. 1560, (2015))
[53] Ehrig, H.; Hermann, F.; Prange, U., Cospan DPO approach: an alternative for DPO graph transformations, Bull. Eur. Assoc. Theor. Comput. Sci., 98, 139-149, (2009) · Zbl 1191.68361
[54] Cabot, J.; Clarisó, R.; Guerra, E.; de Lara, J., Analysing graph transformation rules through OCL, (Vallecillo, A.; Gray, J.; Pierantonio, A., Theory and Practice of Model Transformations. Theory and Practice of Model Transformations, ICMT. Theory and Practice of Model Transformations. Theory and Practice of Model Transformations, ICMT, LNCS, vol. 5063, (2008)), 229-244
[55] Steinberg, D.; Budinsky, F.; Paternostro, M.; Merks, E., EMF: Eclipse Modeling Framework, (2008), Addison-Wesley
[56] Rutle, A.; Rossini, A.; Lamo, Y.; Wolter, U., A formal approach to the specification and transformation of constraints in MDE, J. Log. Algebraic Methods Program., 81, 4, 422-457, (2012) · Zbl 1246.68098
[57] Rossini, A.; de Lara, J.; Guerra, E.; Rutle, A.; Wolter, U., A formalisation of deep metamodelling, Form. Asp. Comput., 26, 6, 1115-1152, (2014) · Zbl 1342.68098
[58] Atkinson, C.; Kühne, T., Rearchitecting the UML infrastructure, ACM Trans. Model. Comput. Simul., 12, 4, 290-321, (2002)
[59] Herrmannsdörfer, M.; Wachsmuth, G., Coupled evolution of software metamodels and models, (Mens, T.; Serebrenik, A.; Cleve, A., Evolving Software Systems, (2014), Springer), 33-63
[60] Mantz, F.; Taentzer, G.; Lamo, Y.; Wolter, U., Co-evolving meta-models and their instance models: a formal approach based on graph transformation, Sci. Comput. Program., 104, 2-43, (2015)
[61] Macías, F.; Rutle, A.; Wolter, U., On the Category of Type Chains and Type Chain Morphisms, (March 2017), University of Bergen, Department of Informatics, Tech. Rep. 2017-416
[62] Xtext, (2017)
[63] Arendt, T.; Biermann, E.; Jurack, S.; Krause, C.; Taentzer, G., Henshin: advanced concepts and tools for in-place EMF model transformations, (Petriu, D. C.; Rouquette, N.; Haugen, Ø., MODELS. MODELS, LNCS, vol. 6394, (2010)), 121-135
[64] Ghamarian, A.; 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)
[65] Kolovos, D.; Paige, R.; Polack, F., The Epsilon transformation language, (Vallecillo, A.; Gray, J.; Pierantonio, A., Theory and Practice of Model Transformations. Theory and Practice of Model Transformations, ICMT. Theory and Practice of Model Transformations. Theory and Practice of Model Transformations, ICMT, LNCS, vol. 5063, (2008)), 46-60
[66] Jouault, F.; Allilaire, F.; Bézivin, J.; Kurtev, I., ATL: a model transformation tool, Sci. Comput. Program., 72, 1-2, 31-39, (2008) · Zbl 1154.68366
[67] Ullmann, J., An algorithm for subgraph isomorphism, J. ACM, 23, 1, 31-42, (1976) · Zbl 0323.05138
[68] Saltz, M.; Miller, J., A Fast Algorithm for Subgraph Pattern Matching on Large Labeled Graphs, (2013), UGA: UGA Athens, GA, USA, Master’s Thesis
[69] Atkinson, C., Meta-modelling for distributed object environments, (Enterprise Distributed Object Computing Workshop. Enterprise Distributed Object Computing Workshop, EDOC, (1997)), 90-101
[70] Atkinson, C.; Kühne, T., The essence of multilevel metamodeling, (Gogolla, M.; Kobryn, C., The Unified Modeling Language, Modeling Languages, Concepts, and Tools. The Unified Modeling Language, Modeling Languages, Concepts, and Tools, UML. The Unified Modeling Language, Modeling Languages, Concepts, and Tools. The Unified Modeling Language, Modeling Languages, Concepts, and Tools, UML, LNCS, vol. 2185, (2001)), 19-33 · Zbl 1024.68623
[71] de Lara, J.; Guerra, E., Deep meta-modelling with Metadepth, (Objects, Models, Components, Patterns. Objects, Models, Components, Patterns, LNCS, vol. 6141, (2010), Springer), 1-20
[72] Syriani, E.; Vangheluwe, H.; Mannadiar, R.; Hansen, C.; Van Mierlo, S.; Ergin, H., AToMPM: a web-based modeling environment, (Demos/Posters/StudentResearch@ MoDELS, (2013))
[73] Van Mierlo, S.; Barroca, B.; Vangheluwe, H.; Syriani, E.; Kühne, T., Multi-level modelling in the Modelverse, (MULTI@ MoDELS. MULTI@ MoDELS, CEUR Workshop Proc., vol. 1286, (2014))
[74] Mallet, F.; Lagarde, F.; André, C.; Gérard, S.; Terrier, F., An automated process for implementing multilevel domain models, (van den Brand, M.; Gašević, D.; Gray, J., Software Language Engineering. Software Language Engineering, LNCS, vol. 5969, (2010), Springer), 314-333
[75] Strüber, D.; Rubin, J.; Chechik, M.; Taentzer, G., A variability-based approach to reusable and efficient model transformations, (Egyed, A.; Schaefer, I., Fundamental Approaches to Software Engineering (FASE). Fundamental Approaches to Software Engineering (FASE), LNCS, vol. 9033, (2015), Springer), 283-298
[76] Sen, S.; Moha, N.; Mahé, V.; Barais, O.; Baudry, B.; Jézéquel, J.-M., Reusable model transformations, Softw. Syst. Model., 11, 1, 111-125, (2012)
[77] Jablonski, S.; Volz, B.; Dornstauder, S., A meta modeling framework for domain specific process management, (Intl. Computer Software and Applications Conference. Intl. Computer Software and Applications Conference, COMPSAC, (2008)), 1011-1016
[78] Zschaler, S.; Kolovos, D.; Drivalos, N.; Paige, R.; Rashid, A., Domain-specific metamodelling languages for software language engineering, (van den Brand, M.; Gasevic, D.; Gray, J., Software Language Engineering. Software Language Engineering, SLE. Software Language Engineering. Software Language Engineering, SLE, LNCS, vol. 5969, (2009), Springer), 334-353
[79] Herrmannsdörfer, M.; Hummel, B., Library concepts for model reuse, Electron. Notes Theor. Comput. Sci., 253, 7, 121-134, (2010)
[80] Atkinson, C.; Gutheil, M.; Kennel, B., A flexible infrastructure for multilevel language engineering, IEEE Trans. Softw. Eng., 35, 6, 742-755, (2009)
[81] Kühne, T.; Schreiber, D., Can programming be liberated from the two-level style: multi-level programming with DeepJava, (Gabriel, R.; Bacon, D.; Videira Lopes, C.; Steele, G., SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications. SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA, (2007)), 229-244
[82] Epsilon, (2012)
[83] Rensink, A., Explicit state model checking for graph grammars, (Concurrency, Graphs and Models. Concurrency, Graphs and Models, LNCS, vol. 5065, (2008), Springer), 114-132 · Zbl 1143.68462
[84] Biermann, E.; Ehrig, K.; Köhler, C.; Kuhns, G.; Taentzer, G.; Weiss, E., Graphical definition of in-place transformations in the Eclipse Modeling Framework, (MoDELS. MoDELS, LNCS, vol. 4199, (2006), Springer), 425-439
[85] Boronat, A.; Meseguer, J., MOMENT2: EMF model transformations in Maude, (Vallecillo, A.; Sagardui, G., XIV Jornadas de Ingeniería del Software y Bases de Datos. XIV Jornadas de Ingeniería del Software y Bases de Datos, JISBD, (2009)), 178-179
[86] Durán, F.; Moreno-Delgado, A.; Álvarez-Palomo, J., Statistical model checking of e-Motions domain-specific modeling languages, (Stevens, P.; Wasowski, A., Fundamental Approaches to Software Engineering. Fundamental Approaches to Software Engineering, FASE, (2016), Springer), 305-322
[87] Rivera, J.; Vallecillo, A.; Durán, F., Formal specification and analysis of domain specific languages using Maude, Simulation: Trans. Soc. Model. Simul. Intl., 85, 11/12, 778-792, (2009)
[88] Krause, C.; Tichy, M.; Giese, H., Implementing graph transformations in the bulk synchronous parallel model, (Fundamental Approaches to Software Engineering. Fundamental Approaches to Software Engineering, FASE, (2014), Springer), 325-339
[89] Fernández, M.; Kirchner, H.; Namet, O., A strategy language for graph rewriting, (International Symposium on Logic-Based Program Synthesis and Transformation, (2011), Springer), 173-188 · Zbl 1377.68098
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. It attempts to reflect the references listed in the original paper as accurately as possible without claiming the completeness or perfect precision of the matching.