Abstract
Model transformation is one of the pillars of model-driven engineering (MDE). The increasing complexity of systems and modelling languages has dramatically raised the complexity and size of model transformations as well. Even though many transformation languages and tools have been proposed in the last few years, most of them are directed to the implementation phase of transformation development. In this way, even though transformations should be built using sound engineering principles—just like any other kind of software—there is currently a lack of cohesive support for the other phases of the transformation development, like requirements, analysis, design and testing. In this paper, we propose a unified family of languages to cover the life cycle of transformation development enabling the engineering of transformations. Moreover, following an MDE approach, we provide tools to partially automate the progressive refinement of models between the different phases and the generation of code for several transformation implementation languages.
We’re sorry, something doesn't seem to be working properly.
Please try refreshing the page. If that doesn't work, please contact support so we can address the problem.
References
Agrawal A., Vizhanyo A., Kalmar Z., Shi F., Narayanan A., Karsai G.: Reusable idioms and patterns in graph transformation languages. Electron. Notes Theor. Comput. Sci. 127, 181–192 (2005)
Balogh, A., Bergmann, G., Csertán, G., Gönczy, L., Horváth, Á., Majzik, I., Pataricza, A., Polgár, B., Ráth, I., Varró, D. et al.: Workflow-driven tool integration using model transformations. In: Graph Transformations and Model-Driven Engineering, vol. 5765, LNCS, pp. 224–248. Springer, Berlin (2010)
Baudry B., Ghosh S., Fleurey F., France R.B., Traon Y.L., Mottu J.-M.: Barriers to systematic model transformation testing. Commun. ACM 53(6), 139–143 (2010)
Beck K.: Test Driven Development: By Example. Addison-Wesley, Boston (2003)
Bézivin, J., Farcet, N., Jézéquel, J.-M., Langlois, B., Pollet, D.: Reflective model driven engineering. In: UML, vol. 2863. LNCS, pp. 175–189. Springer, Berlin (2003)
Bézivin, J., Jouault, F., Paliès, J.: Towards model transformation design patterns. In: EWMT’05 (2005)
Bondavalli, A., Mura, I., Majzik, I.: Automatic dependability analysis for supporting design decisions in UML. In: HASE’99, pp. 64–72 (1999)
Boronat, A., Carsí, J.A., Ramos, I.: Algebraic specification of a model transformation engine. In: FASE’06, vol. 3922, LNCS, pp. 262–277. Springer, Berlin (2006)
Brottier, E., Fleurey, F., Steel, J., Baudry, B., Traon, Y.L.: Metamodel-based test generation for model transformations: an algorithm and a tool. In: ISSRE, pp. 85–94. IEEE CS (2006)
Cabot J., Clarisó R., Guerra E., de Lara J.: Verification and validation of declarative model-to-model transformations through invariants. J. Syst. Softw. 83(2), 283–302 (2010)
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. In: ASE’02, pp. 267–270. IEEE CS (2002)
Czarnecki K., Helsen S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–646 (2006)
Darabos A., Pataricza A., Varró D.: Towards testing the implementation of graph transformations. Electron. Notes Theor. Comput. Sci. 211, 75–85 (2008)
de Lara, J., Guerra, E.: Formal support for QVT-Relations with coloured Petri nets. In: MoDELS’09, vol. 5795, LNCS, pp. 256–270. Springer, Berlin (2009)
de Lara J., Vangheluwe H.: Automating the transformation-based analysis of visual languages. Formal Aspects Comput. 22, 297–326 (2010)
Ehrig H., Ehrig K., Prange U., Taentzer G.: Fundamentals of Algebraic Graph Transformation. Springer, Berlin (2006)
Ehrig, H., Prange, U.: Formal analysis of model transformations based on triple graph rules with kernels. In: ICGT’08, vol. 5214, LNCS, pp. 178–193. Springer, Berlin (2008)
Etien, A., Dumoulin, C., Renaux, E.: Towards a unified notation to represent model transformation. Technical Report RR-6187, INRIA (2007)
Favre J.-M., Nguyen T.: Towards a megamodel to model software evolution through transformations. Electron. Notes Theor. Comput. Sci. 127(3), 59–74 (2005)
Fischer, T., Niere, J., Torunski, L., Zündorf, A.: Story diagrams: A new graph rewrite language based on the unified modeling language and Java. In: TAGT’98, vol. 1764, LNCS, pp. 296–309. Springer, Berlin (2000)
Fleurey F., Baudry B., Muller P.-A., Traon Y.: Qualifying input test data for model transformations. Softw. Syst. Model. 8, 185–203 (2009)
Friedenthal, S., Moore, A., Steiner, R.: A Practical Guide to SysML: The Systems Modeling Language. Morgan Kaufmann. http://www.omg.org/spec/SysML/1.1/ (2009)
Fujaba. http://www.fujaba.de (2011)
Gardey, G., Lime, D., Magnin, M., Roux, O.H.: Romeo: A tool for analyzing time Petri nets. In: CAV, vol. 3576, LNCS, pp. 418–423. Springer, Berlin (2005)
Garlan, D., Monroe, R.T., Wile, D.: Acme: Architectural description of component-based systems. In: Foundations of Component-Based Systems, pp. 47–68. Cambridge University Press, Cambridge (2000)
Giner, P., Pelechano, V.: Test-driven development of model transformations. In: MoDELS’09, vol. 5795, LNCS, pp. 748–752. Springer, Berlin (2009)
Gorp, P.V., Keller, A., Janssens, D.: Transformation language integration based on profiles and higher order transformations. In: SLE, vol. 5452, LNCS, pp. 208–226. Springer, Berlin (2008)
Guerra, E., de Lara, J., Kolovos, D. S., Paige, R.F.: A visual specification language for model-to-model transformations. In: VLHCC’10, pp. 119–126. IEEE CS (2010)
Guerra, E., de Lara, J., Kolovos, D.S., Paige, R.F., dos Santos, O.M.: transML: a family of languages to model model transformations. In: MoDELS (1), vol. 6394, LNCS, pp. 106–120. Springer, Berlin (2010)
Guerra, E., de Lara, J., Orejas, F.: Inter-modelling with patterns. Softw. Syst. Model. (in press, 2011) doi:10.1007/s10270-011-0192-1
Habel, A., Pennemann, K.-H.: Nested constraints and application conditions for high-level structures. In: Formal Methods in Software and Systems Modeling, vol. 3393, LNCS, pp. 293–308. Springer, Berlin (2005)
Holzmann G.J.: The model checker SPIN. IEEE Trans. Softw. Eng. 23(5), 279–295 (1997)
Iacob, M., Steen, M., Heerink, L.: Reusable model transformation patterns. In: 3M4EC’08, pp. 1–10 (2008)
Insfrán, E., Gonzalez-Huerta, J., Abrah ao, S.: Design guidelines for the development of quality-driven model transformations. In: MoDELS-10, vol. 6395, LNCS, pp. 288–302. Springer, Berlin (2010)
Jackson D.: Software Abstractions: Logic, Language, and Analysis. The MIT Press, Cambridge (2006)
Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: A model transformation tool. Sci. Comput. Program. 72(1–2):31–39. http://www.emn.fr/z-info/atlanmod/index.php/Main_Page (2008). Accessed Nov 2010
Kleppe, A.: MCC: A model transformation environment. In: ECMDA-FA’06, vol. 4066, LNCS, pp. 173–187. Springer, Berlin (2006)
Kolovos, D.S., Paige, R.F., Polack, F.: The Epsilon Object Language (EOL). In: ECMDA-FA’06, vol. 4066, LNCS, pp. 128–142. Springer, Berlin (2006)
Kolovos, D.S., Paige, R.F., Polack, F.: Detecting and repairing inconsistencies across heterogeneous models. In: ICST’08, pp. 356–364. IEEE CS (2008)
Kolovos, D.S., Paige, R.F., Polack, F.: The Epsilon Transformation Language. In: ICMT’08, vol. 5063, LNCS, pp. 46–60. Springer, Berlin (2008)
Kolovos, D.S., Paige, R.F., Rose, L.M., Polack, F.A.: Unit testing model management operations. In: MoDeVVa’08, pp. 97–104. IEEE CS (2008)
Kusel, A.: TROPIC: a framework for building reusable transformation components. In: Doctoral Symposium at MODELS (2009)
Küster, J.M., Abd-El-Razik, M.: Validation of model transformations: first experiences using a white box approach. In: MoDELS Workshops, vol. 4364, LNCS, pp. 193–204. Springer, Berlin (2007)
Latella D., Majzik I., Massink M.: Automatic verification of a behavioural subset of uml statechart diagrams using the SPIN model-checker. Formal Asp. Comput. 11(6), 637–664 (1999)
Lilius, J., Paltor, I.: vUML: A tool for verifying UML models. In: ASE, pp. 255–258 (1999)
Lin, Y., Zhang, J., Gray, J.: A framework for testing model transformations. In: Model-driven Software Development—Research and Practice in Software Engineering. Springer, Berlin (2005)
Mellor S.J., Balcer M.J.: Executable UML: A Foundation for Model-Driven Architecture. Addison-Wesley Professional, Boston (2002)
Merilinna, J.: A tool for quality-driven architecture model transformation. Master’s thesis, Technical Research Centre of Finland (2005)
Merlin, P.M., Farber, D. J.: Recoverability of communication protocols. IEEE Trans. Comput. 24(9) (1976)
Meyer B.: Applying “design by contract”. Computer 25, 40–51 (1992)
Orejas F.: Symbolic graphs for attributed graph constraints. J. Symb. Comput. 46(3), 294–315 (2011)
QVT. http://www.omg.org/docs/ptc/05-11-01.pdf (2011)
Rahim, L.A., Mansoor, S.B.R.S.: Proposed design notation for model transformation. In: ASWEC’08, pp. 589–598. IEEE CS (2008)
Rensink, A.: Representing first-order logic using graphs. In: ICGT’04, vol. 3256, LNCS, pp. 319–335. Springer, Berlin (2004)
Rivera, J.E., Ruiz-Gonzalez, D., Lopez-Romero, F., Bautista, J., Vallecillo, A.: Orchestrating ATL model transformations. In: MtATL 2009, pp. 34–46 (2009)
Sampath P., Rajeev A.C., Shashidhar K.C., Ramesh S.: Verification of model processing tools. Int. J. Passeng. Cars Electron. Electr. Syst. 1, 45–52 (2009)
Schürr, A.: Specification of graph translators with triple graph grammars. In: WG’94, vol. 903, LNCS, pp. 151–163. Springer, Berlin (1994)
Sen, S., Baudry, B., Mottu, J.-M.: Automatic model generation strategies for model transformation testing. In: ICMT, vol. 5563, LNCS, pp. 148–164. Springer, Berlin (2009)
Siikarla, M., Laitkorpi, M., Selonen, P., Systä, T.: Transformations have to be developed ReST assured. In: ICMT’08, vol. 5063, LNCS, pp. 1–15. Springer, Berlin (2008)
Spivey J.M.: An introduction to Z and formal specifications. Softw. Eng. J. 4(1), 40–50 (1989)
Steel, J., Lawley, M.: Model-based test driven development of the Tefkat model-transformation engine. In: ISSRE’04, pp. 151–160 (2004)
Stürmer I., Conrad M., Dörr H., Pepper P.: Systematic testing of model-based code generators. IEEE Trans. Software Eng. 33(9), 622–634 (2007)
van Lamsweerde A.: Requirements Engineering. From System Goals to UML Models to Software Specifications. Wiley, New York (2009)
Vanhooff, B., Ayed, D., Baelen, S. V., Joosen, W., Berbers, Y.: Uniti: A unified transformation infrastructure. In: MODELS’07, vol. 4735, LNCS, pp. 31–45 (2007)
Varró, D.: Model transformation by example. In: MODELS’06, vol. 4199, LNCS, pp. 410–424 (2006)
Yie, A., Casallas, R., Deridder, D., Wagelaar, D.: Realizing model transformation chain interoperability. Softw. Syst. Model. (in press, 2011). doi:10.1007/s10270-010-0179-3
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Prof. Dorina Petriu.
Rights and permissions
About this article
Cite this article
Guerra, E., de Lara, J., Kolovos, D.S. et al. Engineering model transformations with transML. Softw Syst Model 12, 555–577 (2013). https://doi.org/10.1007/s10270-011-0211-2
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-011-0211-2