Bidirectional Transformations with QVT-R: A Case Study in Round-trip Engineering UML Class Models and Java Source Code

Sandra Greiner, Thomas Buchmann, Bernhard Westfechtel

2016

Abstract

Model-driven software engineering has become more and more important during the last few years. Model transformations constitute the core essence of model-driven development. Throughout the years, the concept of unidirectional model transformations and corresponding tool support has become mature and usable. Transformations of this kind are widely used in model-driven development, for forward or reverse engineering or mainly for code generation. Bidirectional transformations, on the other hand, aim to provide support for (incrementally) transforming one or more source models to one or more target models and vice versa from only one transformation description. However, they seem to be rarely used in model-driven software development although modelers need round-trip support between the different stages of development models. In this paper we present a QVT implementation of a bidirectional model transformation. Our case study keeps UML class diagrams consistent with a Java model during round-trip engineering and thereby shows a real world application. The results and experiences gained in this case study are discussed in detail.

References

  1. (2015). Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification . Needham, MA, formal/2015- 02-01 edition.
  2. Angyal, L., Lengyel, L., and Charaf, H. (2008). A synchronizing technique for syntactic model-code round-trip engineering. In Proceedings of the 15th International Conference on the Engineering of Computer Based Systems (ECBS 2008), pages 463-472.
  3. Antkiewicz, M. and Czarnecki, K. (2006). Frameworkspecific modeling languages with round-trip engineering. In Proceedings of the 9th International Conference on Model Driven Engineering Languages and Systems (MoDELS 2006), LNCS 4199, pages 692- 706, Genova, Italy.
  4. Bork, M., Geiger, L., Schneider, C., and Zündorf, A. (2008). Towards roundtrip engineering - a template-based reverse engineering approach. In Schieferdecker, I. and Hartman, A., editors, ECMDA-FA, volume 5095 of Lecture Notes in Computer Science, pages 33-47. Springer.
  5. Bradfield, J. and Stevens, P. (2013). Enforcing QVT-R with mu-Calculus and Games. In Cortellessa, Vittorio and Varr, Dniel, editor, Fundamental Approaches to Software Engineering, volume 7793 of Lecture Notes in Computer Science, pages 282-296. Springer Berlin Heidelberg.
  6. Bruneliere, H., Cabot, J., Jouault, F., and Madiot, F. (2010). Modisco: a generic and extensible framework for model driven reverse engineering. In Proceedings of the IEEE/ACM international conference on Automated software engineering, ASE 7810, pages 173- 174, New York, NY, USA. ACM.
  7. Buchmann, T. (2012). Valkyrie: A UML-Based ModelDriven Environment for Model-Driven Software Engineering. In Proceedings of the 7th International Conference on Software Paradigm Trends (ICSOFT 2012). INSTICC.
  8. Czarnecki, K. and Helsen, S. (2006). Feature-based survey of model transformation approaches. IBM Systems Journal, 45(3):621-645.
  9. Hettel, T., Lawley, M., and Raymond, K. (2009). Towards model round-trip engineering: An abductive approach. In Proceedings of the 2nd International Conference on Theory and Practice of Model Transformations (ICMT 2009), LNCS 5563, pages 100- 115, Zurich, Switzerland.
  10. Jouault, F., Allilaire, F., Bézivin, J., and Kurtev, I. (2008). Atl: A model transformation tool. Science of Computer Programming, 72:31 - 39. Special Issue on Second issue of experimental software and toolkits (EST).
  11. Leblebici, E., Anjorin, A., Schürr, A., Hildebrandt, S., Rieke, J., and Greenyer, J. (2014). A comparison of incremental triple graph grammar tools. ECEASST, 67.
  12. Li, D., Li, X., and Stolz, V. (2011). QVT-based Model Transformation Using XSLT. SIGSOFT Softw. Eng. Notes, 36(1):1-8.
  13. Macedo, N. and Cunha, A. (2014). Least-change bidirectional model transformation with QVT-R and ATL. Software Systems Modeling, pages 1-28.
  14. Mellor, S. J., Kendall, S., Uhl, A., and Weise, D. (2004). MDA Distilled. Addison Wesley Longman Publishing Co., Inc., Redwood City, CA, USA.
  15. OMG (2011a). Meta Object Facility (MOF) Core. Object Management Group, Needham, MA, formal/2011-08- 07 edition.
  16. OMG (2011b). UML Infrastructure. Object Management Group, Needham, MA, formal/2011-08-05 edition.
  17. OMG (2011c). UML Superstructure. Object Management Group, Needham, MA, formal/2011-08-06 edition.
  18. OMG (2012). Object Constraint Language. Object Management Group, Needham, MA, formal/2012-01-01 edition.
  19. Schürr, A. (1994). Specification of Graph Translators with Triple Graph Grammars. In Proceedings of the 20th International Workshop on Graph-Theoretic Concepts in Computer Science (WG 1994), volume 903 of LNCS 903, pages 151-163, Herrsching, Germany.
  20. Steinberg, D., Budinsky, F., Paternostro, M., and Merks, E. (2009). EMF Eclipse Modeling Framework. The Eclipse Series. Boston, MA, 2nd edition.
  21. Stevens, P. (2007). Bidirectional Model Transformations in QVT: Semantic Issues and Open Questions. In Proceedings of the 10th International Conference on Model Driven Engineering Languages and Systems (MoDELS 2007), LNCS 4735, pages 1-15, Nashville, USA.
Download


Paper Citation


in Harvard Style

Greiner S., Buchmann T. and Westfechtel B. (2016). Bidirectional Transformations with QVT-R: A Case Study in Round-trip Engineering UML Class Models and Java Source Code . In Proceedings of the 4th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD, ISBN 978-989-758-168-7, pages 15-27. DOI: 10.5220/0005644700150027


in Bibtex Style

@conference{modelsward16,
author={Sandra Greiner and Thomas Buchmann and Bernhard Westfechtel},
title={Bidirectional Transformations with QVT-R: A Case Study in Round-trip Engineering UML Class Models and Java Source Code},
booktitle={Proceedings of the 4th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,},
year={2016},
pages={15-27},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005644700150027},
isbn={978-989-758-168-7},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 4th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,
TI - Bidirectional Transformations with QVT-R: A Case Study in Round-trip Engineering UML Class Models and Java Source Code
SN - 978-989-758-168-7
AU - Greiner S.
AU - Buchmann T.
AU - Westfechtel B.
PY - 2016
SP - 15
EP - 27
DO - 10.5220/0005644700150027