Skip to main content

Engineering Bidirectional Transformations

  • Chapter
  • First Online:
Book cover Bidirectional Transformations

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 9715))

  • 516 Accesses

Abstract

Bidirectional transformations, like software, need to be carefully engineered in order to provide guarantees about their correctness, completeness, acceptability and usability. This paper summarises a collection of lectures pertaining to engineering bidirectional transformations using Model-Driven Engineering techniques and technologies. It focuses on stages of a typical engineering lifecycle, starting with requirements and progressing to implementation and verification. It summarises Model-Driven Engineering approaches to capturing requirements, architectures and designs for bidirectional transformations, and suggests an approach for verification as well. It concludes by describing some challenges for future research into engineering bidirectional transformations.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    http://www.mades-project.org/.

  2. 2.

    http://projects.ikv.de/qvt/wiki.

  3. 3.

    Archived copy available at https://web.archive.org/web/20120323171429/http://www.tcs-trddc.com/trddc_website/ModelMorf/ModelMorf.htm.

  4. 4.

    https://sourceforge.net/projects/jqvt/.

  5. 5.

    http://haslab.github.io/echo/.

  6. 6.

    http://jtl.di.univaq.it/.

  7. 7.

    https://projects.eclipse.org/projects/modeling.mmt.

  8. 8.

    This is a sanitised version of a real problem encountered by the author.

  9. 9.

    http://www.mondo-project.org/.

  10. 10.

    http://groove.sourceforge.net/groove-index.html.

  11. 11.

    https://eclipse.org/epsilon/doc/eugenia/.

References

  1. Van Gorp, P., Engels, G. (eds.): ICMT 2016. LNCS, vol. 9765. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-42064-6

    Google Scholar 

  2. Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: a model transformation tool. Sci. Comput. Program. 72(1–2), 31–39 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  3. Kolovos, D.S., Paige, R.F., Polack, F.A.C.: The epsilon transformation language. In: Vallecillo, A., Gray, J., Pierantonio, A. (eds.) ICMT 2008. LNCS, vol. 5063, pp. 46–60. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-69927-9_4

    Chapter  Google Scholar 

  4. Kolovos, D.S., Paige, R.F., Polack, F.A.C., Rose, L.M.: Update transformations in the small with the epsilon wizard language. J. Object Technol. 6(9), 53–69 (2007)

    Article  Google Scholar 

  5. Diskin, Z., Xiong, Y., Czarnecki, K.: From state- to delta-based bidirectional model transformations. In: Tratt, L., Gogolla, M. (eds.) ICMT 2010. LNCS, vol. 6142, pp. 61–76. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-13688-7_5

    Chapter  Google Scholar 

  6. Anjorin, A.: An introduction to triple graph grammars as an implementation of the delta-lens framework. In: Gibbons, J., Stevens, P. (eds.) Bidirectional Transformations. LNCS, vol. 9715, pp. 29–72. Springer, Cham (2018)

    Chapter  Google Scholar 

  7. OMG. MOF 2.0 QVT V1.3. Object Management Group (2016)

    Google Scholar 

  8. Stevens, P.: A simple game-theoretic approach to checkonly QVT relations. Softw. Syst. Model. 12(1), 175–199 (2013)

    Article  MathSciNet  Google Scholar 

  9. Hoisl, B., Hu, Z., Hidaka, S.: Towards bidirectional higher-order transformation for model-driven co-evolution. In: Hammoudi, S., Pires, L.F., Filipe, J., das Neves, R.C. (eds.) MODELSWARD 2014. CCIS, vol. 506, pp. 153–167. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-25156-1_10

    Chapter  Google Scholar 

  10. 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). https://doi.org/10.1007/978-3-642-21732-6_10

    Chapter  Google Scholar 

  11. Hidaka, S., Tisi, M., Cabot, J., Zhenjiang, H.: Feature-based classification of bidirectional transformation approaches. Softw. Syst. Model. 15(3), 907–928 (2016)

    Article  Google Scholar 

  12. Tehrani, S.Y., Zschaler, S., Lano, K.: Requirements engineering in model-transformation development: an interview-based study. In: Van Gorp, P., Engels, G. (eds.) ICMT 2016. LNCS, vol. 9765, pp. 123–137. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-42064-6_9

    Chapter  Google Scholar 

  13. Nalchigar, S., Salay, R., Chechik, M.: Towards a catalog of non-functional requirements in model transformation languages. In: Proceedings of the Second Workshop on the Analysis of Model Transformations (AMT 2013), Miami, FL, USA, 29 September 2013

    Google Scholar 

  14. IEEE 29148–2011. Systems and software engineering lifecycle processes requirements engineering (2011)

    Google Scholar 

  15. Pescador, A., de Lara, J.: DSL-maps: from requirements to design of domain-specific languages. In: Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering, ASE 2016, Singapore, 3–7 September 2016, pp. 438–443 (2016)

    Google Scholar 

  16. Guerra, E., de Lara, J., Kolovos, D.S., Paige, R.F., dos Santos, O.M.: Engineering model transformations with transML. Softw. Syst. Model. 12(3), 555–577 (2013)

    Article  Google Scholar 

  17. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Boston (1995)

    MATH  Google Scholar 

  18. Lano, K., Kolahdouz-Rahimi, S.: Model transformation design patterns. IEEE Trans. Softw. Eng. 40(12), 1224–1259 (2014)

    Article  Google Scholar 

  19. Braun, P., Marschall, F.: Transforming object oriented models with BOTL. In: GT-VMT 2002. ENTCS, vol. 4066, pp. 103–117. Elsevier (2003)

    Google Scholar 

  20. Amelunxen, C., Königs, A., Rötschke, T., Schürr, A.: MOFLON: a standard-compliant metamodeling framework with graph transformations. In: Rensink, A., Warmer, J. (eds.) ECMDA-FA 2006. LNCS, vol. 4066, pp. 361–375. Springer, Heidelberg (2006). https://doi.org/10.1007/11787044_27

    Chapter  Google Scholar 

  21. Paige, R.F., Kolovos, D.S., Rose, L.M., Drivalos, N., Polack, F.A.C.: The design of a conceptual framework and technical infrastructure for model management language engineering. In: ICECCS 2009, pp. 162–171. IEEE Computer Society (2009)

    Google Scholar 

  22. Kolovos, D.S., Paige, R.F., Polack, F.A.C.: On the evolution of OCL for capturing structural constraints in modelling languages. In: Abrial, J.-R., Glässer, U. (eds.) Rigorous Methods for Software Construction and Analysis. LNCS, vol. 5115, pp. 204–218. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-11447-2_13

    Chapter  Google Scholar 

  23. Habel, A., Pennemann, K.-H.: Correctness of high-level transformation systems relative to nested conditions. Math. Struct. Comput. Sci. 19(2), 245–296 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  24. Habel, A., Pennemann, K.-H., Rensink, A.: Weakest preconditions for high-level programs. In: Corradini, A., Ehrig, H., Montanari, U., Ribeiro, L., Rozenberg, G. (eds.) ICGT 2006. LNCS, vol. 4178, pp. 445–460. Springer, Heidelberg (2006). https://doi.org/10.1007/11841883_31

    Chapter  Google Scholar 

  25. Poskitt, C.M.: Verification of graph programs. Ph.D. thesis, The University of York (2013)

    Google Scholar 

  26. Poskitt, C.M., Plump, D.: Hoare-style verification of graph programs. Fundamenta Informaticae 118(1–2), 135–175 (2012)

    MathSciNet  MATH  Google Scholar 

  27. Hermann, F., Ehrig, H., Orejas, F., Czarnecki, K., Diskin, Z., Xiong, Y., Gottmann, S., Engel, T.: Model synchronization based on triple graph grammars: correctness, completeness and invertibility. Softw. Syst. Model. 14(1), 241–269 (2015)

    Article  Google Scholar 

Download references

Acknowledgements

Parts of this work were supported by the European Commission’s 7th Framework Programme, through grant #611125 (MONDO). The author also acknowledges the support of Innovate UK and the Aerospace Technology via the SECT-AIR grant, and the EPSRC, for their support for the Summer School in Bidirectional Transformations. The author thanks Dimitris Kolovos, Chris Poskitt, Arend Rensink, Mike Dodds, Esther Guerra and Juan de Lara for many useful discussions and collaboration on the topics presented in this paper, and to the reviewers of this manuscript for the helpful suggestions and advice.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Richard F. Paige .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG, part of Springer Nature

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Paige, R.F. (2018). Engineering Bidirectional Transformations. In: Gibbons, J., Stevens, P. (eds) Bidirectional Transformations. Lecture Notes in Computer Science(), vol 9715. Springer, Cham. https://doi.org/10.1007/978-3-319-79108-1_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-79108-1_5

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-79107-4

  • Online ISBN: 978-3-319-79108-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics