International Conference on Model-Driven Engineering and Software Development

Model-Driven Engineering and Software Development pp 153-167 | Cite as

Towards Bidirectional Higher-Order Transformation for Model-Driven Co-evolution

Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 506)

Abstract

In model-driven development (MDD), numerous metamodels, models, and model transformations need to be taken into account. These MDD-based artifacts—although highly interdependent—are autonomously maintained. Changes in one artifact (e.g., in a model) are not automatically reflected in other dependent artifacts (e.g., in a model transformation). The barrier for a tight integration of MDD-based artifacts stems from two limitations of current approaches. On the one hand, model transformations are unidirectional and changes can be propagated in one direction only. On the other hand, changes can only be propagated into output artifacts of transformations, not into transformation definitions themselves. In order to overcome these co-evolution problems, our approach is based on establishing bidirectional transformations (BX) between modeling artifacts and on applying higher-order transformations (HOTs) on first-class model representations of transformation specifications. In this paper, we present a generic approach and provide initial prototypes for an integrated tool support which integrates BX into well-established Eclipse-based MDD frameworks, thereby neither being restricted to a specific modeling nor model transformation language.

Keywords

Model-driven development Model co-evolution Bidirectional transformation Higher-order transformation 

References

  1. 1.
    Hoisl, B., Hu, Z., Hidaka, S.: Towards co-evolution in model-driven development via bidirectional higher-order transformation. In: Proceedings of the 2nd International Conference on Model-Driven Engineering and Software Development, pp. 466–471. SciTePress (2014)Google Scholar
  2. 2.
    Mellor, S., Clark, A., Futagami, T.: Model-driven development - guest editor’s introduction. IEEE Softw. 20, 14–18 (2003)CrossRefGoogle Scholar
  3. 3.
    Stahl, T., Völter, M.: Model-Driven Software Development: Technology, Engineering, Management. Wiley, New York (2006)MATHGoogle Scholar
  4. 4.
    Sendall, S., Kozaczynski, W.: Model transformation: the heart and soul of model-driven software development. IEEE Softw. 20, 42–45 (2003)CrossRefGoogle Scholar
  5. 5.
    Schmidt, D.C.: Guest editor’s introduction: model-driven engineering. Computer 39, 25–31 (2006)CrossRefGoogle Scholar
  6. 6.
    Di Ruscio, D., Iovino, L., Pierantonio, A.: Coupled evolution in model-driven engineering. IEEE Softw. 29, 78–84 (2012)CrossRefMATHGoogle Scholar
  7. 7.
    Meyers, B., Vangheluwe, H.: A framework for evolution of modelling languages. Sci. Comput. Program. 76, 1223–1246 (2011)CrossRefGoogle Scholar
  8. 8.
    Stevens, P.: Bidirectional model transformations in QVT: semantic issues and open questions. Softw. Syst. Model. 9, 7–20 (2010)CrossRefGoogle Scholar
  9. 9.
    Di Ruscio, D., Iovino, L., Pierantonio, A.: What is needed for managing co-evolution in MDE? In: Proceedings of the 2nd International Workshop on Model Comparison in Practice, pp. 30–38. ACM (2011)Google Scholar
  10. 10.
    Czarnecki, K., Foster, J.N., Hu, Z., Lämmel, R., Schürr, A., Terwilliger, J.F.: Bidirectional transformations: a cross-discipline perspective. In: Paige, R.F. (ed.) ICMT 2009. LNCS, vol. 5563, pp. 260–283. Springer, Heidelberg (2009) CrossRefGoogle Scholar
  11. 11.
    Tisi, M., Jouault, F., Fraternali, P., Ceri, S., Bézivin, J.: On the use of higher-order model transformations. In: Paige, R.F., Hartman, A., Rensink, A. (eds.) ECMDA-FA 2009. LNCS, vol. 5562, pp. 18–33. Springer, Heidelberg (2009) CrossRefGoogle Scholar
  12. 12.
    Hidaka, S., Hu, Z., Kato, H., Nakano, K.: Towards a compositional approach to model transformation for software development. In: Proceedings of the 24th Symposium on Applied Computing, pp. 468–475. ACM (2009)Google Scholar
  13. 13.
    Hidaka, S., Hu, Z., Inaba, K., Kato, H., Nakano, K.: GRoundTram: an integrated framework for developing well-behaved bidirectional model transformations. In: Proceedings of the 26th International Conference on Automated Software Engineering, pp. 480–483. IEEE (2011)Google Scholar
  14. 14.
    Sasano, I., Hu, Z., Hidaka, S., Inaba, K., Kato, H., Nakano, K.: Toward bidirectionalization of ATL with GRoundTram. In: Cabot, J., Visser, E. (eds.) ICMT 2011. LNCS, vol. 6707, pp. 138–151. Springer, Heidelberg (2011) CrossRefGoogle Scholar
  15. 15.
    Hoisl, B., Sobernig, S., Strembeck, M.: Higher-order rewriting of model-to-text templates for integrating domain-specific modeling languages. In: Proceedings of the 1st International Conference on Model-Driven Engineering and Software Development, pp. 49–61. SciTePress (2013)Google Scholar
  16. 16.
    Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework, 2nd edn. Addison-Wesley, Reading (2008)Google Scholar
  17. 17.
    Jouault, F., Kurtev, I.: Transforming models with ATL. In: Bruel, J.-M. (ed.) MoDELS 2005. LNCS, vol. 3844, pp. 128–138. Springer, Heidelberg (2006) CrossRefGoogle Scholar
  18. 18.
    Kolovos, D., Rose, L., García-Domínguez, A., Paige, R.: The Epsilon book (2015). http://www.eclipse.org/epsilon/doc/book/
  19. 19.
    Object Management Group: OMG meta object facility (MOF) core specification (2015). http://www.omg.org/spec/MOF, version 2.5, formal/2015-06-05
  20. 20.
    Object Management Group: Meta object facility (MOF) 2.0 query/view/transformation specification (2015). http://www.omg.org/spec/QVT, version 1.2, formal/2015-02-01
  21. 21.
    Object Management Group: MOF model to text transformation language (2008). http://www.omg.org/spec/MOFM2T, version 1.0, formal/2008-01-16
  22. 22.
    Hu, Z., Schurr, A., Stevens, P., Terwilliger, J.F.: Dagstuhl seminar on bidirectional transformations (BX). SIGMOD Rec. 40, 35–39 (2011)CrossRefGoogle Scholar
  23. 23.
    Bézivin, J., Gerbé, O.: Towards a precise definition of the OMG/MDA framework. In: Proceedings of the 16th International Conference on Automated Software Engineering, pp. 273–280. IEEE (2001)Google Scholar
  24. 24.
    Object Management Group: MDA guide (2003). http://www.omg.org/cgi-bin/doc?omg/03-06-01, version 1.0.1, omg/2003-06-01
  25. 25.
    OMG unified modeling language (OMG UML), superstructure (2015). http://www.omg.org/spec/UML, version 2.5, formal/2015-03-01
  26. 26.
    Yu, Y., Lin, Y., Hu, Z., Hidaka, S., Kato, H., Montrieux, L.: Maintaining invariant traceability through bidirectional transformations. In: Proceedings of the 34th International Conference on Software Engineering, pp. 540–550. IEEE (2012)Google Scholar
  27. 27.
    Schürr, A.: Specification of graph translators with triple graph grammars. In: Mayr, E.W., Schmidt, G., Tinhofer, G. (eds.) WG 1994. LNCS, vol. 903, pp. 151–163. Springer, Heidelberg (1995) CrossRefGoogle Scholar
  28. 28.
    Giese, H., Wagner, R.: From model transformation to incremental bidirectional model synchronization. Softw. Syst. Model. 8, 21–43 (2009)CrossRefGoogle Scholar
  29. 29.
    Wachsmuth, G.: Metamodel adaptation and model co-adaptation. In: Ernst, E. (ed.) ECOOP 2007. LNCS, vol. 4609, pp. 600–624. Springer, Heidelberg (2007) CrossRefGoogle Scholar
  30. 30.
    Wimmer, M., Kusel, A., Schönböck, J., Retschitzegger, W., Schwinger, W., Kappel, G.: On using inplace transformations for model co-evolution. In: Proceedings of the 2nd International Workshop on Model Transformation with ATL, INRIA & Ecole des Mines de Nantes (2010)Google Scholar
  31. 31.
    Herrmannsdoerfer, M., Benz, S., Juergens, E.: COPE - automating coupled evolution of metamodels and models. In: Drossopoulou, S. (ed.) ECOOP 2009. LNCS, vol. 5653, pp. 52–76. Springer, Heidelberg (2009) CrossRefGoogle Scholar
  32. 32.
    Buneman, P., Fernandez, M., Suciu, D.: UnQL: a query language and algebra for semistructured data based on structural recursion. VLDB J. 9, 76–110 (2000)CrossRefGoogle Scholar
  33. 33.
    Hidaka, S., Hu, Z., Inaba, K., Kato, H., Nakano, K.: GRoundTram: an integrated framework for developing well-behaved bidirectional model transformations. Prog. Inf. 10, 131–148 (2013)CrossRefGoogle Scholar
  34. 34.
    Wei, W.: EpsilonLabs: Epsilon static analysis (2012). http://code.google.com/p/epsilonlabs/wiki/EpsilonStaticAnalysis
  35. 35.
    Sobernig, S., Hoisl, B., Strembeck, M.: Requirements-driven testing of domain-specific core language models using scenarios. In: Proceedings of the 13th International Conference on Quality Software, pp. 163–172. IEEE (2013)Google Scholar
  36. 36.
    Hoisl, B., Sobernig, S., Strembeck, M.: Natural-language scenario descriptions for testing core language models of domain-specific languages. In: Proceedings of the 2nd International Conference on Model-Driven Engineering and Software Development, pp. 356–367. SciTePress (2014)Google Scholar
  37. 37.
    Hoisl, B., Sobernig, S., Strembeck, M.: Comparing three notations for defining scenario-based model tests: a controlled experiment. In: Proceedings of the 9th International Conference on the Quality of Information and Communications Technology, pp. 95–104. IEEE (2014)Google Scholar
  38. 38.
    Hidaka, S., Tisi, M., Cabot, J., Hu, Z.: Feature-based classification of bidirectional transformation approaches. Softw. Syst. Model. (2015)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Bernhard Hoisl
    • 1
    • 2
  • Zhenjiang Hu
    • 3
  • Soichiro Hidaka
    • 3
  1. 1.Institute for Information Systems and New MediaVienna University of Economics and Business (WU Vienna)ViennaAustria
  2. 2.Secure Business Austria Research (SBA Research)ViennaAustria
  3. 3.National Institute of Informatics (NII)TokyoJapan

Personalised recommendations