Amalgamation of domain specific languages with behaviour. (English) Zbl 1353.68028

Summary: Domain-specific languages (DSLs) become more useful the more specific they are to a particular domain. The resulting need for developing a substantial number of DSLs can only be satisfied if DSL development can be made as efficient as possible. One way in which to address this challenge is by enabling the reuse of (partial) DSLs in the construction of new DSLs. Reuse of DSLs builds on two foundations: a notion of DSL composition and theoretical results ensuring the safeness of composing DSLs with respect to the semantics of the component DSLs.
Given a graph-grammar formalisation of DSLs, in this paper, we build on graph transformation system morphisms to define parameterised DSLs and their instantiation by an amalgamation construction. Results on the protection of the behaviour along the induced morphisms allow us to safely reuse and combine definitions of DSLs to build more complex ones. We illustrate our proposal in e-Motions for a DSL for production-line systems and three independent DSLs for describing non-functional properties, namely response time, throughput, and failure rate.


68N15 Theory of programming languages
68Q42 Grammars and rewriting systems


Full Text: DOI


[1] Boehm, P.; Fonio, H.-R.; Habel, A., Amalgamation of graph transformations with applications to synchronization, (Ehrig, H.; Floyd, C.; Nivat, M.; Thatcher, J. W., TAPSOFT, Lecture Notes in Computer Science, vol. 185, (1985), Springer), 267-283
[2] Bruce, K. B.; Petersen, L.; Fiech, A., Subtyping is not a good “match” for object-oriented languages, (Akşit, M.; Matsuoka, S., Proc. 11th European Conf. on Object-Oriented Programming (ECOOP’97), LNCS, vol. 1241, (1997), Springer), 104-127
[3] Chen, K.; Sztipanovits, J.; Abdelwalhed, S.; Jackson, E., Semantic anchoring with model transformations, (Proc. of the 1st European Conference on Model Driven Architecture: Fondations and Applications (ECMDA-FA’05), Lecture Notes in Computer Science, vol. 3748, (2005), Springer)
[4] Clarke, S.; Walker, R. J., Generic aspect-oriented design with theme/UML, (Aspect-Oriented Software Development, (2005), Addison-Wesley), 425-458
[5] Clavel, M.; Durán, F.; Eker, S.; Lincoln, P.; Martí-Oliet, N.; Meseguer, J.; Talcott, C. L., All about maude, LNCS, vol. 4350, (2007), Springer
[6] A. Corradini, H. Ehrig, M. Löwe, U. Montanari, J. Padberg, The category of typed graph grammars and its adjunctions with categories of derivations, in: Cuny et al. [7], pp. 56-74.
[7] (Cuny, J.; Ehrig, H.; Engels, G.; Rozenberg, G., Proc. 5th International Workshop on Graph Grammars and Their Applications to Computer Science, GraGra, 1994, Lecture Notes in Computer Science, vol. 1073, (1996), Springer)
[8] de Lara, J.; Bardohl, R.; Ehrig, H.; Ehrig, K.; Prange, U.; Taentzer, G., Attributed graph transformation with node type inheritance, Theor. Comput. Sci., 376, 3, 139-163, (2007) · Zbl 1116.68042
[9] de Lara, J.; Guerra, E., From types to type requirements: genericity for model-driven engineering, Softw. Syst. Model., 12, 3, 453-474, (2013)
[10] de Lara, J.; Guerra, E., Towards the flexible reuse of model transformations: a formal approach based on graph transformation, J. Log. Alg. Methods Program., 83, 5-6, 427-458, (2014) · Zbl 1371.68055
[11] de Lara, J.; Vangheluwe, H., Automating the transformation-based analysis of visual languages, Form. Asp. Comput., 22, 3-4, 297-326, (2010) · Zbl 1213.68412
[12] 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), Technical Report 06.02
[13] Durán, F.; Orejas, F.; Zschaler, S., Behaviour protection in modular rule-based system specifications, (Martí-Oliet, N.; Palomino, M., Recent Trends in Algebraic Development Techniques (WADT 2012), Lecture Notes in Computer Science, vol. 7841, (2013), Springer), 24-49 · Zbl 1394.68073
[14] Durán, F.; Zschaler, S.; Troya, J., On the reusable specification of non-functional properties in dsls, (Proc. 5th Int’l Conf. on Software Language Engineering (SLE 2012), (2012))
[15] Ehrig, H., Introduction to the algebraic theory of graph grammars, (Claus, V.; Ehrig, H.; Rozenberg, G., 1st Graph Grammar Workshop, Lecture Notes in Computer Science, vol. 73, (1979), Springer), 1-69
[16] Ehrig, H.; Ehrig, K.; Prange, U.; Taentzer, G., Fundamentals of algebraic graph transformation, (2005), Springer
[17] (Ehrig, H.; Engels, G.; Kreowski, H.-J.; Rozenberg, G., Applications, Languages and Tools, Handbook of Graph Grammars and Computing by Graph Transformation, vol. II, (1999), World Scientific) · Zbl 0998.68001
[18] Ehrig, H.; Habel, A.; Padberg, J.; Prange, U., Adhesive high-level replacement categories and systems, (Ehrig, H.; Engels, G.; Parisi-Presicce, F.; Rozenberg, G., ICGT, Lecture Notes in Computer Science, vol. 3256, (2004), Springer), 144-160 · Zbl 1116.68480
[19] Ehrig, H.; Mahr, B., Fundamentals of algebraic specification 2. module specifications and constraints, (1990), Springer · Zbl 0759.68013
[20] Ehrig, H.; Prange, U.; Taentzer, G., Fundamental theory for typed attributed graph transformation, (Ehrig, H.; Engels, G.; Parisi-Presicce, F.; Rozenberg, G., Graph Transformations, Proceedings of the Second International Conference, ICGT 2004, Lecture Notes in Computer Science, vol. 3256, (2004), Springer), 161-177 · Zbl 1116.68481
[21] Engels, G.; Hausmann, J. H.; Heckel, R.; Sauer, S., Dynamic meta modelling: a graphical approach to the operational semantics of behavioral diagrams in UML, (Proc. of the 3rd International Conference on the Unified Modeling Language: Modeling Languages and Applications (UML’00), Lecture Notes in Computer Science, vol. 1939, (2000), Springer), 323-337
[22] Engels, G.; Heckel, R.; Cherchago, A., Flexible interconnection of graph transformation modules, (Kreowski, H.-J.; Montanari, U.; Orejas, F.; Rozenberg, G.; Taentzer, G., Formal Methods in Software and Systems Modeling, Essays Dedicated to Hartmut Ehrig, on the Occasion of His 60th Birthday, Lecture Notes in Computer Science, vol. 3393, (2005), Springer), 38-63 · Zbl 1075.68568
[23] Engels, G.; Heckel, R.; Taentzer, G.; Ehrig, H., A combined reference model- and view-based approach to system specification, Int. J. Softw. Eng. Knowl. Eng., 7, 4, 457-477, (1997)
[24] Fabro, M. D.D.; Bezivin, J.; Jouault, F.; Breton, E.; Gueltas, G., AMW: A generic model weaver, (2005), 1ères Journées sur l’Ingénierie Dirigée par les Modèles
[25] Fischer, T.; Niere, J.; Torunski, L.; Zündorf, A., Story diagrams: a new graph rewrite language based on the unified modelling language, (Engels, G.; Rozenberg, G., Proc. of the 6th International Workshop on Theory and Application of Graph Transformation (TAGT’98), Lecture Notes in Computer Science, vol. 1764, (2000), Springer), 296-309 · Zbl 0971.68647
[26] Golas, U.; Habel, A.; Ehrig, H., Multi-amalgamation of rules with application conditions in adhesive categories, Math. Struct. Comput. Sci., 24, 4, (2014) · Zbl 1342.68178
[27] Golas, U.; Lambers, L.; Ehrig, H.; Orejas, F., Attributed graph transformation with inheritance: efficient conflict detection and local confluence analysis using abstract critical pairs, Theor. Comput. Sci., 424, 46-68, (2012) · Zbl 1284.68324
[28] Große-Rhode, M.; Parisi-Presicce, F.; Simeoni, M., Spatial and temporal refinement of typed graph transformation systems, (Brim, L.; Gruska, J.; Zlatuska, J., Mathematical Foundations of Computer Science 1998, Proceedings of the 23rd International Symposium, MFCS’98, Lecture Notes in Computer Science, vol. 1450, (1998), Springer), 553-561 · Zbl 0910.18001
[29] Große-Rhode, M.; Parisi-Presicce, F.; Simeoni, M., Formal software specification with refinements and modules of typed graph transformation systems, J. Comput. Syst. Sci., 64, 2, 171-218, (2002) · Zbl 1013.68066
[30] Guy, C.; Combemale, B.; Derrien, S.; Steel, J. R.; Jézéquel, J.-M., On model subtyping, (Vallecillo, A.; Tolvanen, J.-P.; Kindler, E.; Störrle, H.; Kolovos, D., Proc. 8th European Conf. on Modelling Foundations and Applications (ECMFA’12), LNCS, vol. 7349, (2012), Springer), 400-415
[31] Habel, A.; Pennemann, K.-H., Correctness of high-level transformation systems relative to nested conditions, Math. Struct. Comput. Sci., 19, 2, 245-296, (2009) · Zbl 1168.68022
[32] Heckel, R.; Cherchago, A., Structural and behavioural compatibility of graphical service specifications, J. Log. Algebr. Program., 70, 1, 15-33, (2007) · Zbl 1178.68033
[33] Heckel, R.; Corradini, A.; Ehrig, H.; Löwe, M., Horizontal and vertical structuring of typed graph transformation systems, Math. Struct. Comput. Sci., 6, 6, 613-648, (1996) · Zbl 0866.68056
[34] R. Heckel, G. Engels, H. Ehrig, G. Taentzer, Classification and comparison of modularity concepts for graph transformation systems, pp. 669-690, in: Ehrig et al. [17], Chapter 17.
[35] Hemel, Z.; Kats, L. C.L.; Groenewegen, D. M.; Visser, E., Code generation by model transformation: a case study in transformation modularity, Softw. Syst. Model., 9, 3, 375-402, (June 2010)
[36] 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
[37] Klein, J.; Hélouët, L.; Jézéquel, J.-M., Semantic-based weaving of scenarios, (Proc. 5th Int’l Conf. Aspect-Oriented Software Development (AOSD’06), (2006), ACM)
[38] Klein, J.; Kienzle, J., Reusable aspect models, (Aspect-Oriented Modeling Workshop at MODELS 2007, (2007))
[39] H. Kreowski, S. Kuske, Graph transformation units and modules, pp. 607-6380, in: Ehrig et al. [17], Chapter 15.
[40] Lack, S.; Sobocinski, P., Adhesive categories, (Walukiewicz, I., FoSSaCS, Lecture Notes in Computer Science, vol. 2987, (2004), Springer), 273-288 · Zbl 1126.68447
[41] Machado, R.; Foss, L.; Ribeiro, L., Aspects for graph grammars, ECEASST, 18, (2009)
[42] Manolios, P., Mechanical verification of reactive systems, (2001), University of Texas at Austin, PhD thesis
[43] Meseguer, J.; Palomino, M.; Martí-Oliet, N., Algebraic simulations, J. Log. Algebr. Program., 79, 2, 103-143, (2010) · Zbl 1184.68300
[44] Moreno-Delgado, A.; Durán, F.; Zschaler, S.; Troya, J., Modular DSLs for flexible analysis: an e-motions reimplementation of palladio, (Cabot, J.; Rubin, J., Proceedings 10th European Conference on Modelling Foundations and Applications (ECMFA 2014), Lecture Notes in Computer Science, vol. 8569, (2014), Springer), 132-147
[45] Metaobject facility, (2014)
[46] F. Parisi-Presicce, Transformations of graph grammars, in: Cuny et al. [7], pp. 428-442.
[47] Rivera, J. E.; Durán, F.; Vallecillo, A., Formal specification and analysis of domain specific models using maude, Simulation, 85, 11-12, 778-792, (Nov. 2009)
[48] Rivera, J. E.; Durán, F.; Vallecillo, A., A graphical approach for modelling time-dependent behavior of dsls, (IEEE Symposium on Visual Languages and Human-Centric Computing, Proceedings of the VL/HCC 2009, (2009), IEEE), 51-55
[49] Rivera, J. E.; Durán, F.; Vallecillo, A., On the behavioral semantics of real-time domain specific visual languages, (Ölveczky, P. C., Rewriting Logic and Its Applications - 8th International Workshop, WRLA 2010, Revised Selected Papers, Lecture Notes in Computer Science, vol. 6381, (2010), Springer), 174-190 · Zbl 1306.68086
[50] Rivera, J. E.; Guerra, E.; de Lara, J.; Vallecillo, A., Analyzing rule-based behavioral semantics of visual modelling languages with maude, (Proc. of the 1st Intl. Conf. on Software Language Engineering (SLE’08), Lecture Notes in Computer Science, vol. 5452, (2008)), 54-73
[51] Rose, L. M.; Guerra, E.; de Lara, J.; Etien, A.; Kolovos, D. S.; Paige, R. F., Genericity for model management operations, Softw. Syst. Model., 12, 1, 201-219, (2013)
[52] (Rozenberg, G., Handbook of Graph Grammars and Computing by Graph Transformations, Volume i: Foundations, (1997), World Scientific) · Zbl 0908.68095
[53] Schmidt, D. C., Model-driven engineering, IEEE Comput., 39, 2, 25-31, (Feb. 2006)
[54] A. Schürr, A. Winter, A. Zündorf, The PROGRES-approach: Language and environment, pp. 487-550, in: Ehrig et al. [17], Chapter 13.
[55] Taentzer, G.; Schürr DIEGO, A., Another step towards a module concept for graph transformation systems, Electron. Notes Theor. Comput. Sci., 2, 277-285, (1995)
[56] Tisi, M.; Jouault, F.; Fraternali, P.; Ceri, S.; Bézivin, J., On the use of higher-order model transformations, (Paige, R. F.; Hartman, A.; Rensink, A., Proc. 5th European Conf. on Model Driven Architecture - Foundations and Applications (ECMDA-FA’09), Lecture Notes in Computer Science, vol. 5562, (2009), Springer), 18-33
[57] Troya, J.; Rivera, J. E.; Vallecillo, A., Simulating domain specific visual models by observation, (Proc. 2010 Spring Simulation Multiconference (SpringSim ’10), (2010), ACM), 128:1-128:8
[58] Troya, J.; Vallecillo, A.; Durán, F.; Zschaler, S., Model-driven performance analysis of rule-based domain specific visual models, Inf. Softw. Technol., 55, 1, 88-110, (2013)
[59] van Deursen, A.; Klint, P.; Visser, J., Domain-specific languages: an annotated bibliography, SIGPLAN Not., 35, 6, 26-36, (2000)
[60] Whittle, J.; Jayaraman, P.; Elkhodary, A.; Moreira, A.; Araújo MATA, J., A unified approach for composing UML aspect models based on graph transformation, (Katz, S.; Ossher, H., Transactions on Aspect-Oriented Development (TAOSD VI), Special Issue on Aspects and MDE, LNCS, vol. 5560, (Oct. 2009), Springer), 191-237
[61] Zschaler, S., Formal specification of non-functional properties of component-based software systems: a semantic framework and some applications thereof, Softw. Syst. Model., 9, 161-201, (Apr. 2009)
[62] Zschaler, S., Towards constraint-based model types: a generalised formal foundation for model genericity, (Atkinson, C.; Burger, E.; Goldschmidt, T.; Reussner, R., Proc. 2nd Workshop on View-Based, Aspect-Oriented and Orthographic Software Modelling (VAO’14), (2014))
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.