skip to main content
research-article

Automated Reuse of Model Transformations through Typing Requirements Models

Published:02 September 2019Publication History
Skip Abstract Section

Abstract

Model transformations are key elements of model-driven engineering, where they are used to automate the manipulation of models. However, they are typed with respect to concrete source and target meta-models, making their reuse for other (even similar) meta-models challenging.

To improve this situation, we propose capturing the typing requirements for reusing a transformation with other meta-models by the notion of a typing requirements model (TRM). A TRM describes the prerequisites that a model transformation imposes on the source and target meta-models to obtain a correct typing. The key observation is that any meta-model pair that satisfies the TRM is a valid reuse context for the transformation at hand.

A TRM is made of two domain requirement models (DRMs) describing the requirements for the source and target meta-models, and a compatibility model expressing dependencies between them. We define a notion of refinement between DRMs and see meta-models as a special case of DRM. We provide a catalogue of valid refinements and describe how to automatically extract a TRM from an ATL transformation. The approach is supported by our tool TOTEM. We report on two experiments—based on transformations developed by third parties and meta-model mutation techniques—validating the correctness and completeness of our TRM extraction procedure and confirming the power of TRMs to encode variability and support flexible reuse.

References

  1. Colin Atkinson and Thomas Kühne. 2002. Rearchitecting the UML infrastructure. ACM Trans. Model. Comput. Simul. 12, 4 (2002), 290--321. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Francesco Basciani, Davide Di Ruscio, Ludovico Iovino, and Alfonso Pierantonio. 2014. Automated chaining of model transformations with incompatible metamodels. In Proceedings of the MoDELS (LNCS), Vol. 8767. Springer International Publishing, 602--618.Google ScholarGoogle Scholar
  3. Artur Boronat. 2017. Structural model subtyping with OCL constraints. In Proceedings of the SLE. ACM, 194--205. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Jean-Michel Bruel, Benoit Combemale, Esther Guerra, Jean-Marc Jezequel, Joerg Kienzle, Juan de Lara, Gunter Mussbacher, Eugene Syriani, and Hans Vangheluwe. 2018. Model transformation reuse across metamodels: A classification and comparison of approaches. In Proceedings of the ICMT (LNCS), Vol. 10888. Springer, 92--109.Google ScholarGoogle Scholar
  5. Loli Burgueño, Javier Troya, Manuel Wimmer, and Antonio Vallecillo. 2015. Static fault localization in model transformations. IEEE Trans. Softw. Eng. 41, 5 (2015), 490--506.Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Marsha Chechik, Michalis Famelis, Rick Salay, and Daniel Strüber. 2016. Perspectives of model transformation reuse. In Proceedings of the IFM (LNCS), Vol. 9681. Springer, 28--44. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Zheng Cheng, Rosemary Monahan, and James F. Power. 2018. Formalised EMFTVM bytecode language for sound verification of model transformations. Softw. Syst. Model. 17, 4 (2018), 1197--1225. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Antonio Cicchetti, Davide Di Ruscio, Romina Eramo, and Alfonso Pierantonio. 2008. Automating co-evolution in model-driven engineering. In Proceedings of the EDOC. IEEE Computer Society, 222--231. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Dave Clarke, Michiel Helvensteijn, and Ina Schaefer. 2015. Abstract delta modelling. Math. Struct. Comput. Sci. 25, 3 (2015), 482--527.Google ScholarGoogle ScholarCross RefCross Ref
  10. Juan de Lara and Esther Guerra. 2011. From types to type requirements: Genericity for model-driven engineering. Softw. Syst. Model. 12, 3 (2011), 453--474. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Juan de Lara and Esther Guerra. 2017. A posteriori typing for model-driven engineering: Concepts, analysis, and applications. ACM Trans. Softw. Eng. Methodol. 25, 4 (2017), 31:1--31:60. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Juan de Lara and Esther Guerra. 2018. Refactoring multi-level models. ACM Trans. Softw. Eng. Methodol. 27, 4 (2018), 17:1--17:56. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Juan de Lara, Esther Guerra, and Jesús Sánchez Cuadrado. 2014. When and how to use multilevel modelling. ACM Trans. Softw. Eng. Methodol. 24, 2 (2014), 12:1--12:46. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Juan de Lara, Esther Guerra, Joerg Kienzle, and Yanis Hattab. 2018. Facet-oriented modelling: Open objects for model-driven engineering. In Proceedings of the SLE. ACM, 147--159. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Juan de Lara, Esther Guerra, and Jesús Sánchez Cuadrado. 2015. Model-driven engineering with domain-specific meta-modelling languages. Softw. Syst. Model. 14, 1 (2015), 429--459. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Juan de Lara, Juri Di Rocco, Davide Di Ruscio, Esther Guerra, Ludovico Iovino, Alfonso Pierantonio, and Jesús Sánchez Cuadrado. 2017. Reusing model transformations through typing requirements models. In Proceedings of the FASE (LNCS), Vol. 10202. Springer, 264--282. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Juri Di Rocco, Davide Di Ruscio, Alfonso Pierantonio, Jesús Sánchez Cuadrado, Juan de Lara, and Esther Guerra. 2016. Using ATL transformation services in the MDEForge collaborative modeling platform. In Proceedings of the ICMT (LNCS), Vol. 9765. Springer, 70--78. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Davide Di Ruscio, Ludovico Iovino, and Alfonso Pierantonio. 2012. Evolutionary togetherness: How to manage coupled evolution in metamodeling ecosystems. In Proceedings of the ICGT (LNCS), Vol. 7562. Springer, 20--37. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Hartmut Ehrig, Karsten Ehrig, Ulrike Prange, and Gabriele Taentzer. 2006. Fundamentals of Algebraic Graph Transformation. Springer. Google ScholarGoogle Scholar
  20. Huseyin Ergin, Eugene Syriani, and Jeff Gray. 2016. Design pattern oriented development of model transformations. Comput. Lang. Syst. Struct. 46, C (2016), 106--139. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Anne Etien, Alexis Muller, Thomas Legrand, and Richard F. Paige. 2015. Localized model transformations for building large-scale transformations. Softw. Syst. Model. 14, 3 (2015), 1189--1213. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. David Faitelson and Shmuel S. Tyszberowicz. 2017. UML diagram refinement (focusing on class- and use case diagrams). In Proceedings of the ICSE. IEEE/ACM, 735--745. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Michalis Famelis and Marsha Chechik. 2019. Managing design-time uncertainty. Softw. Syst. Model. 18, 2 (2019), 1249--1284. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Douglas P. Gregor, Jaakko Järvi, Jeremy G. Siek, Bjarne Stroustrup, Gabriel Dos Reis, and Andrew Lumsdaine. 2006. Concepts: Linguistic support for generic programming in C++. In Proceedings of the OOPSLA. ACM, 291--310. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Clement Guy, Benoît Combemale, Steven Derrien, Jim Steel, and Jean-Marc Jézéquel. 2012. On model subtyping. In Proceedings of the ECMFA (LNCS), Vol. 7349. Springer, 400--415. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Robert M. Hierons, Miqing Li, Xiaohui Liu, Sergio Segura, and Wei Zheng. 2016. SIP: Optimal product selection from feature models using many-objective evolutionary optimization. ACM Trans. Softw. Eng. Methodol. 25, 2 (2016), 17:1--17:39. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Daniel Jackson. 2006. Software Abstractions—Logic, Language, and Analysis. The MIT Press. Retrieved from: http://alloytools.org/. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Cédric Jeanneret, Martin Glinz, and Benoit Baudry. 2011. Estimating footprints of model operations. In Proceedings of the ICSE. ACM, 601--610. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Frédéric Jouault, Freddy Allilaire, Jean Bézivin, and Ivan Kurtev. 2008. ATL: A model transformation tool. Sci. Comput. Prog. 72, 1--2 (2008), 31--39. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Frédéric Jouault and Jean Bézivin. 2006. KM3: A DSL for metamodel specification. In Proceedings of the 8th IFIP WG 6.1 International Conference on Formal Methods for Open Object-Based Distributed Systems (FMOODS’06). Springer-Verlag, 171--185. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Kyo Kang, Sholom Cohen, James Hess, William Novak, and A. Peterson. 1990. Feature-oriented Domain Analysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-021. Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA.Google ScholarGoogle Scholar
  32. Andreas Kästner, Martin Gogolla, and Bran Selic. 2018. From (imperfect) object diagrams to (imperfect) class diagrams: New ideas and vision paper. In Proceedings of the 21st ACM/IEEE International Conference on Model Driven Engineering Languages and Systems (MoDELS’18). ACM, 13--22. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Anneke Kleppe. 2006. MCC: A model transformation environment. In Proceedings of the ECMDA-FA (LNCS), Vol. 4066. 173--187. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Dimitrios S. Kolovos, Richard F. Paige, and Fiona Polack. 2006. The Epsilon Object Language (EOL). In ECMDA-FA (LNCS), Vol. 4066. Springer, 128--142. Retrieved from: https://www.eclipse.org/epsilon/doc/eol/. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Dimitrios S. Kolovos, Richard F. Paige, and Fiona Polack. 2008. The epsilon transformation language. In Proceedings of the ICMT (LNCS), Vol. 5063. Springer, 46--60. Retrieved from: https://www.eclipse.org/epsilon/doc/etl/. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Angelika Kusel, Johannes Schönböck, Manuel Wimmer, Gerti Kappel, Werner Retschitzegger, and Wieland Schwinger. 2015. Reuse in model-to-model transformation languages: Are we there yet? Softw. Syst. Model. 14, 2 (2015), 537--572. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Kevin Lano and Shekoufeh Kolahdouz Rahimi. 2014. Model-transformation design patterns. IEEE Trans. Softw. Eng. 40, 12 (2014), 1224--1259.Google ScholarGoogle ScholarCross RefCross Ref
  38. Kevin Lano, Shekoufeh Kolahdouz Rahimi, Iman Poernomo, Jeffrey Terrell, and Steffen Zschaler. 2014. Correct-by-construction synthesis of model transformations using transformation patterns. Softw. Syst. Model. 13, 2 (2014), 873--907. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Jesús J. López-Fernández, Jesús Sánchez Cuadrado, Esther Guerra, and Juan de Lara. 2015. Example-driven meta-model development. Softw. Syst. Model. 14, 4 (2015), 1323--1347. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Levi Lúcio, Moussa Amrani, Juergen Dingel, Leen Lambers, Rick Salay, Gehan M. K. Selim, Eugene Syriani, and Manuel Wimmer. 2016. Model transformation intents and their properties. Softw. Syst. Model. 15, 3 (2016), 647--684. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, and Gunter Saake. 2017. Mastering Software Variability with FeatureIDE. Springer. Retrieved from: https://featureide.github.io/. Google ScholarGoogle Scholar
  42. Object Management Group. 2005. UML 2.0 OCL Specification. Retrieved from: https://www.omg.org/spec/UML/2.0/.Google ScholarGoogle Scholar
  43. Object Management Group. 2016. MOF Query/View/Transformation (QVT). Retrieved from: https://www.omg.org/spec/QVT/.Google ScholarGoogle Scholar
  44. Ana Pescador, Antonio Garmendia, Esther Guerra, Jesús Sánchez Cuadrado, and Juan de Lara. 2015. Pattern-based development of domain-specific modelling languages. In Proceedings of the MoDELS. IEEE, 166--175. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Rick Salay, Steffen Zschaler, and Marsha Chechik. 2016. Correct reuse of transformations is hard to guarantee. In Proceedings of the ICMT (LNCS), Vol. 9765. Springer, 107--122. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Jesús Sánchez Cuadrado, Esther Guerra, and Juan de Lara. 2014a. A component model for model transformations. IEEE Trans. Softw. Eng. 40, 11 (2014), 1042--1060.Google ScholarGoogle ScholarCross RefCross Ref
  47. Jesús Sánchez Cuadrado, Esther Guerra, and Juan de Lara. 2014b. Reverse engineering of model transformations for reusability. In Proceedings of the ICMT (LNCS), Vol. 8568. Springer, 186--201.Google ScholarGoogle Scholar
  48. Jesús Sánchez Cuadrado, Esther Guerra, and Juan de Lara. 2015. Reusable model transformation components with bentō. In Proceedings of the ICMT (LNCS), Vol. 9152. Springer, 59--65. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Jesús Sánchez Cuadrado, Esther Guerra, and Juan de Lara. 2017. Static analysis of model transformations. IEEE Trans. Softw. Eng. 43, 9 (2017), 868--897.Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Jesús Sánchez Cuadrado, Esther Guerra, and Juan de Lara. 2018. Quick fixing ATL transformations with speculative analysis. Softw. Syst. Model. 17, 3 (2018), 779--813. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. Jesús Sánchez Cuadrado and Jesús García Molina. 2008. Approaches for model transformation reuse: Factorization and composition. In Proceedings of the ICMT (LNCS), Vol. 5063. Springer, 168--182. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. Jesús Sánchez Cuadrado and Jesús García Molina. 2009. Modularization of model transformations through a phasing mechanism. Softw. Syst. Model. 8, 3 (2009), 325--345.Google ScholarGoogle ScholarCross RefCross Ref
  53. Douglas C. Schmidt. 2006. Guest editor’s introduction: Model-driven engineering. Computer 39, 2 (2006), 25--31. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Gehan M. K. Selim, James R. Cordy, and Juergen Dingel. 2017. How is ATL really used? Language feature use in the ATL zoo. In Proceedings of the MoDELS. IEEE Computer Society, 34--44. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. Sagar Sen, Naouel Moha, Benoit Baudry, and Jean-Marc Jézéquel. 2009. Meta-model pruning. In Proceedings of the MoDELS (LNCS), Vol. 5795. Springer, 32--46. Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. Shane Sendall and Wojtek Kozaczynski. 2003. Model transformation: The heart and soul of model-driven software development. IEEE Software 20, 5 (2003), 42--45. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. Sirius. last accessed in 2018. Retrieved from: https://eclipse.org/sirius/.Google ScholarGoogle Scholar
  58. Kenneth Slonneger and Barry L. Kurtz. 1995. Formal Syntax and Semantics of Programming Languages. Vol. 340. Addison-Wesley Reading. Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. Jim Steel and Jean-Marc Jézéquel. 2007. On model typing. Softw. Syst. Model. 6, 4 (2007), 401--413.Google ScholarGoogle ScholarCross RefCross Ref
  60. Dave Steinberg, Frank Budinsky, Marcelo Paternostro, and Ed Merks. 2008. EMF: Eclipse Modeling Framework, 2<sup>nd</sup> Edition. Addison-Wesley Professional. Retrieved from: http://www.eclipse.org/modeling/emf/. Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. Daniel Strüber, Julia Rubin, Thorsten Arendt, Marsha Chechik, Gabriele Taentzer, and Jennifer Plöger. 2018. Variability-based model transformation: Formal foundation and application. Formal Asp. Comput. 30, 1 (2018), 133--162. Google ScholarGoogle ScholarCross RefCross Ref
  62. Javier Troya, Sergio Segura, José Antonio Parejo, and Antonio Ruiz Cortés. 2018. Spectrum-based fault localization in model transformations. ACM Trans. Softw. Eng. Methodol. 27, 3 (2018), 13:1--13:50. Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. Javier Troya and Antonio Vallecillo. 2011. A rewriting logic semantics for ATL. J. Obj. Technol. 10 (2011), 5: 1--29.Google ScholarGoogle ScholarCross RefCross Ref
  64. Antonio Vallecillo and Martin Gogolla. 2012. Typing model transformations using tracts. In Proceedings of the ICMT (Lecture Notes in Computer Science), Vol. 7307. Springer, 56--71. Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. Arie van Deursen, Paul Klint, and Joost Visser. 2000. Domain-specific languages: An annotated bibliography. SIGPLAN Notices 35, 6 (2000), 26--36. Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. Andrés Vignaga, Frédéric Jouault, María Cecilia Bastarrica, and Hugo Brunelière. 2013. Typing artifacts in megamodeling. Softw. Syst. Model. 12, 1 (2013), 105--119. Google ScholarGoogle ScholarDigital LibraryDigital Library
  67. Dennis Wagelaar, Ragnhild Van Der Straeten, and Dirk Deridder. 2010. Module superimposition: A composition technique for rule-based model transformation languages. Softw. Syst. Model. 9, 3 (2010), 285--309.Google ScholarGoogle ScholarCross RefCross Ref
  68. Jon Whittle, John Edward Hutchinson, and Mark Rouncefield. 2014. The state of practice in model-driven engineering. IEEE Software 31, 3 (2014), 79--85.Google ScholarGoogle ScholarCross RefCross Ref
  69. Manuel Wimmer, Gerti Kappel, Angelika Kusel, Werner Retschitzegger, Johannes Schönböck, Wieland Schwinger, Dimitris S. Kolovos, Richard F. Paige, Marius Lauder, Andy Schürr, and Dennis Wagelaar. 2012. Surveying rule inheritance in model-to-model transformation languages. J. Obj. Technol. 11, 2 (2012), 3: 1--46.Google ScholarGoogle Scholar
  70. Steffen Zschaler. 2014. Towards constraint-based model types: A generalised formal foundation for model genericity. In Proceedings of the VAO. ACM, New York, NY, Article 11, 8 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Automated Reuse of Model Transformations through Typing Requirements Models

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • Published in

            cover image ACM Transactions on Software Engineering and Methodology
            ACM Transactions on Software Engineering and Methodology  Volume 28, Issue 4
            October 2019
            231 pages
            ISSN:1049-331X
            EISSN:1557-7392
            DOI:10.1145/3360049
            • Editor:
            • Mauro Pezzè
            Issue’s Table of Contents

            Copyright © 2019 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 2 September 2019
            • Accepted: 1 June 2019
            • Revised: 1 April 2019
            • Received: 1 December 2018
            Published in tosem Volume 28, Issue 4

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article
            • Research
            • Refereed

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader

          HTML Format

          View this article in HTML Format .

          View HTML Format