Abstract
Inter-modelling is the activity of modelling relations between two or more modelling languages. The result of this activity is a model that describes the way in which model instances of these languages can be related. Many tasks in model-driven development can be classified as inter-modelling, for example designing model-to-model transformations, defining model matching and traceability relations, specifying model merging and model weaving, as well as describing mechanisms for inter-model consistency management and model synchronization. This paper presents our approach to inter-modelling in a declarative, relational, visual, and formal style. The approach relies on declarative patterns describing allowed or forbidden relations between two modelling languages. Such specification is then compiled into different operational mechanisms that are tailor-made for concrete inter-modelling scenarios. Up to now, we have used the approach to generate forward and backward transformations from a pattern specification. In this paper we demonstrate that the same specification can be used to derive mechanisms for other inter-modelling tasks, such as model matching and model traceability. In these scenarios the goals are generating the traces between two existing models, checking whether two models are correctly traced, and modifying the traces between two models if they are incorrect.
Similar content being viewed by others
References
Akehurst, D.H., Kent, S.: A relational approach to defining transformations in a metamodel. In: UML’02, LNCS, vol. 2460, pp. 243–258. Springer, New York (2002)
Aleksy, M., Hildenbrand, T., Obergfell, C., Schwind, M.: A pragmatic approach to traceability in model-driven development. In: PRIMIUM’08, volume 328 of CEUR. http://CEUR-WS.org (2008)
Bézivin, J., Büttner, F., Gogolla, M., Jouault, F., Kurtev, I., Lindow~A.: Model transformations? Transformation models! In: MoDELS’06. LNCS, vol. 4199, pp. 440–453. Springer, New York (2006)
Boronat, A., Carsí, J.A., Ramos, I.: Exogenous model merging by means of model management operators. In: SeTra’06, vol. 3. ECEASST (2006)
Braun P., Marschall F.: Transforming object oriented models with BOTL. Electron. Notes Theor. Comput. Sci. 72(3), 103–117 (2003)
Brunet, G., Chechik, M., Easterbrook, S., Nejati, S., Niu, N., Sabetzadeh, M.: A manifesto for model merging. In: GaMMa’06, pp. 5–12. ACM Press (2006)
Cabot J., Clariso R., Guerra E., de Lara J.: Verification and validation of declarative model-to-model transformations through invariants. J. Syst. Softw. 83, 283–302 (2010)
Cleland-Huang, J., Hayes, J.H., Domel, J.M.: Model-based traceability. In: TEFSE’09 (2009)
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)
de Lara, J., Guerra, E.: Pattern-based model-to-model transformation. In: ICGT’08. LNCS, vol. 5214, pp. 426–441. Springer, New York (2008)
de Lara, J., Guerra, E.: Formal support for QVT-relations with coloured petri nets. In: MoDELS’09. LNCS, vol. 5795, pp. 256–270. Springer, New York (2009)
Dehayni, M., Féraud, L.: An approach of model transformation based on attribute grammars. In: OOIS, LNCS, vol. 2817, pp. 412–424. Springer, New York (2003)
Drivalos, N., Kolovos, D., Paige, R., Fernandes, K.: Engineering a DSL for software traceability. In: SLE’08. LNCS, vol. 5452, pp. 151–167. Springer, New York (2008)
Ehrig, H., Ehrig, K., Ermel, C., Hermann, F., Taentzer, G.: Information preserving bidirectional model transformations. In: FASE’07. LNCS, vol. 4422, pp. 72–86. Springer, New York (2007)
Ehrig H., Ehrig K., Prange U., Taentzer G.: Fundamentals of Algebraic Graph Transformation. Springer-Verlag, New York (2006)
Ehrig, H., Ermel, C., Hermann, F., Prange, U.: On-the-fly construction, correctness and completeness of model transformations based on triple graph grammars. In: MoDELS’09. LNCS, vol. 5795, pp. 241–255. Springer, New York (2009)
Ehrig, H., Hermann, F., Sartorius, C.: Completeness and correctness of model transformations based on triple graph grammars with negative application conditions. In: GT-VMT’09, vol. 18. ECEASST (2009)
Espinoza, A., Alarcón, P.P., Garbajosa, J.: Analyzing and systematizing current traceability schemas. In: SEW’06, pp. 21–32. IEEE CS (2006)
Foster, J.N., Greenwald, M.B., Moore, J.T., Pierce, B.C., Schmitt, A.: Combinators for bidirectional tree transformations: a linguistic approach to the view-update problem. ACM Trans. Program. Lang. Syst. 29(3) (2007)
Giese H., Wagner R.: From model transformation to incremental bidirectional model synchronization. Softw. Syst. Model. 8(1), 21–43 (2009)
Goedicke, M., Enders, B., Meyer, T., Taentzer, G.: Towards integration of multiple perspectives by distributed graph transformation. In: AGTIVE’99. LNCS, vol. 1779, pp. 369–377. Springer, New York (1999)
Guerra E., de Lara J.: Event-driven grammars: relating abstract and concrete levels of visual languages. Softw. Syst. Model. 6(3), 317–347 (2007)
Guerra, E., de Lara, J., Kolovos, D.S., Paige, R.F.: Inter-modelling: from theory to practice. In: MoDELS’10. LNCS, vol. 6394, pp. 376–391. Springer, New York (2010)
Guerra, E., de Lara, J., Kolovos, D.S., Paige, R.F.: A visual specification language for model-to-model transformations. In: Proc. IEEE VL/HCC’10, pp. 119–126. IEEE CS Press (2010)
Guerra, E., de Lara, J., Orejas, F.: Pattern-based model-to-model transformation: handling attribute conditions. In: ICMT’09. LNCS, vol. 5563, pp. 83–99. Springer, New York (2009)
Guerra, E., de Lara, J., Orejas, F.: Controlling reuse in pattern-based model-to-model transformations. In: Graph Transformations and Model Driven Engineering—Essays Dedicated to Manfred Nagl on the Occasion of his 65th Birthday. LNCS, vol. 5765, pp. 178–204. Springer, New York (2010)
Ivkovic, I., Kontogiannis, K.: Tracing evolution changes of software artifacts through model synchronization. In: ICSM’04, pp. 252–261. IEEE CS (2004)
Kolovos, D., Di Ruscio, D., Pierantonio, A., Paige, R.: Different models for model matching: an analysis of approaches to support model differencing. In: CVSM’09, pp. 1–6 (2009)
Kolovos, D.S.: Establishing correspondences between models with the Epsilon Comparison Language. In: ECMDA-FA’09. LNCS, vol. 5562, pp. 146–157. Springer, New York (2009)
Kolovos, D.S., Paige, R.F., Polack, F.: The Epsilon Object Language (EOL). In: ECMDA-FA’06. LNCS, vol. 4066, pp. 128–142. Springer, New York (2006)
Kolovos, D.S., Paige, R.F., Polack, F.: The Epsilon Transformation Language. In: ICMT’08. LNCS, vol. 5063, pp. 46–60. Springer, New York (2008)
Königs A., Schürr A.: Tool integration with triple graph grammars—a survey. Electron. Notes Theor. Comput. Sci. 148(1), 113–150 (2006)
Lawley, M., Steel, J.: Practical declarative model transformation with Tefkat. In: MoDELS Satellite Events. LNCS, vol. 3844, pp. 139–150. Springer, New York (2005)
Mäder, P., Gotel, O., Philippow I.: Rule-based maintenance of post-requirements traceability relations. In: RE’08, pp. 23–32. IEEE CS (2008)
Mu S.-C., Hu Z., Takeichi M.: Bidirectionalizing tree transformation languages: a case study. JSSST Comput. Softw. 23(2), 129–141 (2006)
Nejati, S., Sabetzadeh, M., Chechik, M., Easterbrook, S., Zave, P.: Matching and merging of statecharts specifications. In: ICSE’07, pp. 54–64. IEEE CS (2007)
Orejas, F., Guerra, E., de Lara, J., Ehrig, H.: Correctness, completeness and termination of pattern-based model-to-model transformation. In: CALCO’09. LNCS, vol. 5728, pp. 383–397. Springer, New York (2009)
Orejas, F., Wirsing, M.: On the specification and verification of model transformations. In: Semantics and Algebraic Specification. LNCS, vol. 5700, pp. 140–161 (2009)
Rebout, M., Féraud, L., Soloviev, S.: A unified categorical approach for attributed graph rewriting. In: CSR’08. LNCS, vol. 5010, pp. 398–409. Springer, New York (2008)
Sánchez, J., García, J., Menárguez, M.: RubyTL: a practical, extensible transformation language. In: ECMDA-FA’06. LNCS, vol. 4066, pp. 158–172. Springer, New York (2006)
Schürr, A.: Specification of graph translators with triple graph grammars. In: WG’94. LNCS, vol. 903, pp. 151–163. Springer, New York (1994)
Schürr, A., Klar, F.: 15 years of triple graph grammars. In: ICGT’08. LNCS, vol. 5214, pp. 411–425. Springer, New York (2008)
SmartQVT. http://smartqvt.elibel.tm.fr/
Stevens, P.: Bidirectional model transformations in QVT: semantic issues and open questions. In: MoDELS’07. LNCS, vol. 4735, pp. 1–15. Springer, New York (2007)
Winkelmann J., Taentzer G., Ehrig K., Küster J.M.: Translation of restricted OCL constraints into graph constraints for generating meta model instances by graph grammars. Electron. Notes Theor. Comput. Sci. 211, 159–170 (2008)
Xing, Z., Stroulia, E.: UMLDiff: an algorithm for object oriented design differencing. In: ASE’05, pp. 54–65. ACM (2005)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Richard Paige and Jeff Gray.
Rights and permissions
About this article
Cite this article
Guerra, E., de Lara, J. & Orejas, F. Inter-modelling with patterns. Softw Syst Model 12, 145–174 (2013). https://doi.org/10.1007/s10270-011-0192-1
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-011-0192-1