Software & Systems Modeling

, Volume 8, Issue 1, pp 21–43 | Cite as

From model transformation to incremental bidirectional model synchronization

Special Section Paper

Abstract

The model-driven software development paradigm requires that appropriate model transformations are applicable in different stages of the development process. The transformations have to consistently propagate changes between the different involved models and thus ensure a proper model synchronization. However, most approaches today do not fully support the requirements for model synchronization and focus only on classical one-way batch-oriented transformations. In this paper, we present our approach for an incremental model transformation which supports model synchronization. Our approach employs the visual, formal, and bidirectional transformation technique of triple graph grammars. Using this declarative specification formalism, we focus on the efficient execution of the transformation rules and how to achieve an incremental model transformation for synchronization purposes. We present an evaluation of our approach and demonstrate that due to the speedup for the incremental processing in the average case even larger models can be tackled.

Keywords

Model transformation Incremental model synchronization Triple graph grammars 

References

  1. 1.
    Antkiewicz, M., Czarnecki, K.: Framework-specific modeling languages with round-trip engineering. In: Proceedings of the 9th International Conference on Model-Driven Engineering Languages and Systems (MoDELS 2006), October 1–6, 2006, Genova, Italy. Lecture Notes in Computer Science (LNCS), vol. 4199, pp. 692–706. Springer, Berlin (2006)Google Scholar
  2. 2.
    Antkiewicz, M., Czarnecki, K.: Design space of heterogeneous synchronization. In: Draft submitted to post-proceedings of 2007 Summer School on Generative and Transformational Techniques in Software Engineering (GTTSE), 2–7 July, Braga, Portugal (2007)Google Scholar
  3. 3.
    Aßmann, U.: Automatic roundtrip engineering. Electron Notes Theor Comput Sci (ENTCS) 82(5), 1–9 (2003)CrossRefMathSciNetGoogle Scholar
  4. 4.
    Becker, S., Lohmann S., Westfechtel, B.: Rule execution in graph-based incremental interactive integration tools. In: Proceedings of the Intl. Conf. on Graph Transformations (ICGT 2004). Lecture Notes in Computer Science (LNCS), vol. 3256, pp. 22–38. Springer, Berlin (2004)Google Scholar
  5. 5.
    Borland. Together Architect 2006. http://www.borland.com/us/products/together/ (last visited on March 2007)
  6. 6.
    Czarnecki, K. Helsen S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), July (2006)Google Scholar
  7. 7.
    Darmstadt, T.U.: MOFLON. http://www.moflon.org (2007)
  8. 8.
    Demathieu, S., Griffin, C., Sendall, S: Model Transformation with the IBM Model Transformation Framework. http://www-128.ibm.com/developerworks (2005)
  9. 9.
    Egyed, A.: Instant consistency checking for the UML. In: Proceedings of the 28th International Conference on Software Engineering (ICSE), Shanghai, China, pp. 381–390. ACM Press (2006)Google Scholar
  10. 10.
    Egyed, A.: Fixing inconsistencies in UML design models. In: Proceedings of the 29th International Conference on Software Engineering (ICSE), Minneapolis, MN, USA, pp. 292–301. IEEE Computer Society, New York (2007)Google Scholar
  11. 11.
    Ehrig, H., Ehrig K., Ermel C., Hermann F., Taentzer G.: Information preserving bidirectional model transformations. In: Dwyer, M.B., Lopes, A. (eds.) Proceedings of 10th International Conference on Fundamental Approaches to Software Engineering (FASE 2007), March 24 - April 1, 2007, Braga, Portugal. Lecture Notes in Computer Science (LNCS), vol. 4422, pp. 72–86. Springer, Berlin (2007)Google Scholar
  12. 12.
    Engels, G., Heckel, R., Küster, J.M.: Rule-based specification of behavioral consistency based on the UML meta-model. In: Proceedings of the 4th International Conference on the Unified Modeling Language, UML 2001, 1–5 October, 2001, Toronto, Ontario, Canada. Lecture Notes in Computer Science (LNCS), vol 2185, pp. 272–286. Springer, Berlin (2001)Google Scholar
  13. 13.
    Ermel, C., Rudolf, M., Taentzer, G.: The AGG approach: language and environment. In: Ehrig, H., Engels, G., Kreowski, H., Rozenberg, G. (eds.) Handbook of Graph Grammars and Computing By Graph Transformation: Vol. 2: Applications, Languages, and Tools, pp. 551–603. World Scientific Publishing Co., River Edge, NJ (1999)Google Scholar
  14. 14.
    France Telecom. SmartQVT: An open source model transformation tool implementing the MOF 2.0 QVT-Operational language. http://smartqvt.elibel.tm.fr/ (last visited on March 2007)
  15. 15.
    Gardner, T., Griffin, C., Koehler, J., Hauser, R.: Review of OMG MOF 2.0 Query/Views/Transformations Submissions and Recommendations towards final Standard. OMG, 250 First Avenue, Needham, MA 02494, USA (2003)Google Scholar
  16. 16.
    Giese, H., Meyer, M., Wagner R.: A prototype for guideline checking and model transformation in Matlab/Simulink. In: Giese, H., Westfechtel, B. (eds.) Proc. of the 4 th International Fujaba Days 2006, Bayreuth, Germany, volume tr-ri-06-275 of Technical Report. University of Paderborn (2006)Google Scholar
  17. 17.
    Giese, H., Wagner, R.: Incremental model synchronization with triple graph grammars. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) Proceedings of the 9th International Conference on Model Driven Engineering Languages and Systems (MoDELS), Genova, Italy. Lecture Notes in Computer Science (LNCS), vol 4199, pp. 543–557. Springer, Berlin (2006)Google Scholar
  18. 18.
    Gray, J.G., Zhang, J., Lin, Y., Roychoudhury, S., Wu, H., Sudarsan, R., Gokhale, A.S., Neema, S., Shi, F., Bapty T.: Model-driven program transformation of a large avionics framework. In: Karsai, G., Visser, E. (eds.) Proceedings of the Third International Conferenc on Generative Programming and Component Engineering (GPCE 2004), October 24–28, Vancouver, Canada. Lecture Notes in Computer Science (LNCS), vol. 3286, pp. 361–378. Springer, Berlin (2004)Google Scholar
  19. 19.
    Greenyer, J., Kindler, E.: Reconciling TGGs with QVT. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil F. (eds.) Proceedings of the 10th International Conference on Model Driven Engineering Languages and Systems, MoDELS 2007, September 30–October 5, Nashville, USA, 2007. Lecture Notes in Computer Science (LNCS), vol. 4735, pp. 16–30. Springer, Berlin (2007)Google Scholar
  20. 20.
    Griffin, C.: Eclipse Model Transformatioin Framework (MTF), available at http://www.alphaworks.ibm.com/tech/mtf. IBM (2003)
  21. 21.
    Grundy, J.C., Hosking, J.G., Mugridge, W.B.: Inconsistency management for multiple-view software development environments. IEEE Trans. Softw. Eng. 24(11), 960–981 (1998)CrossRefGoogle Scholar
  22. 22.
    Guerra, E., de Lara, J.: Event-driven grammars: Towards the integration of meta-modelling and graph transformation. In Proceedings of the International Conference on Graph Transformation (ICGT’2004). Lecture Notes in Computer Science (LNCS), vol. 3265, pp. 54–69. Springer, Berlin (2004)Google Scholar
  23. 23.
    Hearnden, D., Lawley, M., Raymond, K.: Incremental model transformation for the evolution of model-driven systems. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.), In Proceedings of the 9th International Conference on Model Driven Engineering Languages and Systems (MoDELS 2006), Genova, Italy, October 1-6, 2006. Lecture Notes in Computer Science (LNCS), vol 4199, pp. 321–335. Springer, Berlin (2006)Google Scholar
  24. 24.
    Henriksson, A., Larsson, H.: A definition of round-trip engineering. Technical report, Linkopings Universitet, Sweden (2003)Google Scholar
  25. 25.
    Hwan, C., Kim, P., Czarnecki, K.: Synchronizing cardinality-based feature models and their specializations. In: Hartman A., Kreische, D. (eds.) In Proceedings of the First European Conference on Model Driven Architecture—Foundations and Applications (ECMDA-FA 2005), Nuremberg, Germany, November 7–10, 2005. Lecture Notes in Computer Science (LNCS), vol. 3748, pp. 331–348. Springer, Berlin (2005)Google Scholar
  26. 26.
    IBM. Rational Rose Developer for Java. http://www-306.ibm.com/software/awdtools/developer/rose/java/, March 2007
  27. 27.
    ikv++ technologies ag. medini QVT. http://www.ikv.de (2007)
  28. 28.
    International Telecommunication Union (ITU), Geneva. ITU-T Recommendation Z.100: Specification and Description Language (SDL), 1994 + Addendum 1996Google Scholar
  29. 29.
    Ivkovic, I., Kontogiannis, K.: Tracing evolution changes of software artifacts through model synchronization. In Proceedings of the 20th IEEE International Conference on Software Maintenance (ICSM 2004), September 11th–17th, 2004 Chicago Illinois, USA, pp. 252–261. IEEE Computer Society, New York (2004)Google Scholar
  30. 30.
    Johann, S., Egyed, A.: Instant and incremental transformation of models. In Proceedings of the 19th IEEE International Conference on Automated Software Engineering (ASE 2004), 20–25 September 2004, Linz, Austria, pp. 362–365. IEEE Computer Society, New York (2004)Google Scholar
  31. 31.
    Kindler, E., Rubin, V., Wagner, R.: An adaptable TGG interpreter for in-memory model transformation. In: Proceedings of the Fujaba Days 2004, pp. 35–38, Darmstadt, Germany (2004)Google Scholar
  32. 32.
    Königs, A., Schürr, A.: Tool integration with triple graph grammars—a survey. In: Heckel, R. (eds.) Proceedings of the SegraVis School on Foundations of Visual Modelling Techniques. Electronic Notes in Theoretical Computer Science (ENTCS), vol 148, pp. 113–150. Elsevier, Amsterdam (2006)Google Scholar
  33. 33.
    Lefering, M., Schürr, A.: Specification of integration tools. In: Nagl, M. (eds.) Building Tightly-Integrated (Software) Development Environments: The IPSEN Approach. Lecture Notes in Computer Science (LNCS), vol. 1170, pp. 324–334. Springer, Berlin (1996)Google Scholar
  34. 34.
    Marschall, F., Braun, P.: Model transformations for the MDA with BOTL. In Proceedings of the Workshop on Model Driven Architecture: Foundations and Applications, CTIT Technical Report TR-CTIT-03-27, Univeristy of Twente (2003)Google Scholar
  35. 35.
    Mens, T., Van Der Straeten, R., D’Hondt, M.: Detecting and resolving model inconsistencies using transformation dependency analysis. In: Proceedings of the 9th International Conference on Model-Driven Engineering Languages and Systems (MoDELS 2006); October 1–6, 2006, Genova, Italy. Lecture Notes in Computer Science (LNCS), vol. 4199, pp. 200–214. Springer, Berlin (2006)Google Scholar
  36. 36.
    Olsen, T., Grundy, J.: Supporting traceability and inconsistency management between software artefacts. In: Proceedings of the 2002 IASTED International Conference on Software Engineering and Applications, Boston, MA, USA. IASTED Press (2002)Google Scholar
  37. 37.
    OMG. MOF QVT Final Adopted Specification, OMG Document ptc/05-11-01. http://www.omg.org/
  38. 38.
    OMG, 250 First Avenue, Needham, MA 02494, USA. Unified Modeling Language Specification Version 1.5Google Scholar
  39. 39.
    OMG. MDA Guide Version 1.0.1, June 2003. Document—omg/03-06-01Google Scholar
  40. 40.
    OMG. OMG/RFP/QVT MOF 2.0 Query/Views/Transformations RFP. http://www.omg.org/mda/ (2003)
  41. 41.
    OMG. Meta Object Facility (MOF) 2.0 Core Specification. Object Management Group, 140 Kendrick Street, Needham, MA 02494, USA, Jan. 2006. Document ptc/06-11-01Google Scholar
  42. 42.
    Omondo. EclipseUML Free Edition. http://www.omondo.com/, February (2007)
  43. 43.
    Paesschen, E.V., Meuter, W.D., D’Hondt M.: SelfSync: A dynamic round-trip engineering environment. In: Briand, L.C., Williams, C. (eds.) Model Driven Engineering Languages and Systems, 8th International Conference (MoDELS 2005), Montego Bay, Jamaica, October 2–7, 2005. Lecture Notes in Computer Science (LNCS), vol. 3713, pp. 633–647. Springer, Berlin (2005)Google Scholar
  44. 44.
    Schäfer, W., Wagner, R., Gausemeier, J., Eckes, R.: An Engineer’s Workstation to support Integrated Development of Flexible Production Control Systems. In: Ehrig, H., Damm, W., Desel, J., Gros̈e-Rhode, M., Reif, W., Schnieder, E., Westkämper, E. (eds.) Integration of Software Specification Techniques for Applications in Engineering. Lecture Notes in Computer Science (LNCS), vol. 3147, pp. 48–68. Springer, Berlin (2004)Google Scholar
  45. 45.
    Schürr, A.: Specification of graph translators with triple graph grammars. In: Mayr, E.W., Schmidt, G., Tinhofer, G. (eds.) Proceedings of the 20th International Workshop on Graph-Theoretic Concepts in Computer Science (WG ’94), Herrsching, Germany. Lecture Notes in Computer Science (LNCS), vol. 903, pp. 151–163, Springer, Berlin (1994)Google Scholar
  46. 46.
    Schürr, A., Winter, A.J., Zündorf, A.: The PROGRES approach: language and environment. In: Ehrig, H., Engels, G., Kreowski, H., Rozenberg, G. (eds.) Handbook of Graph Grammars and Computing By Graph Transformation, vol. 2: Applications, Languages, and Tools, pp. 487–550. World Scientific Publishing Co., River Edge, NJ (1999)Google Scholar
  47. 47.
    Sendall, S., Küster, J.: Taming model round-trip engineering. In: Proceedings of Workshop on Best Practices for Model-Driven Software Development (part of 19th Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications), Vancouver, Canada, 25th October 2004Google Scholar
  48. 48.
    Tata Consultancy Services. ModelMorf. http://www.tcs-trddc.com/ModelMorf/index.htm (2007)
  49. 49.
    Tsiolakis, A., Ehrig, H.: Consistency analysis of UML class and sequence diagrams using attributed graph grammars. In: Ehrig, H., Taentzer, G. (eds.) Proceedings of Joint APPLIGRAPH/GETGRATS Workshop on Graph Transformation Systems, Berlin, March (2000)Google Scholar
  50. 50.
    University of Paderborn, Germany. Fujaba Tool Suite. Online at http://www.fujaba.de/
  51. 51.
    Varró, D., Varró, G., Pataricza, A.: Designing the automatic transformation of visual languages. Sci. Comput. Program. 44(2), 205–227 (2002)MATHCrossRefGoogle Scholar
  52. 52.
    Varró, G., Varró, D., Graph transformation with incremental updates. In: Heckel, R. (ed.) Proc. of the 4th Workshop on Graph Transformation and Visual Modeling Techniques (GT-VMT 2004). Electronic Notes in Theoretical Computer Science (ENTCS), vol. 109, pp. 71–83. Elsevier, Amsterdam (2004)Google Scholar
  53. 53.
    Vizhanyo, A., Agrawal, A., Shi, F., Towards generation of efficient transformations. In G. Karsai and E. Visser, editors, Generative Programming and Component Engineering: Proceedings of the Third International Conference (GPCE), Vancouver, Canada. Lecture Notes in Computer Science (LNCS), vol. 3286, pp. 298–316. Springer, Berlin (2004)Google Scholar
  54. 54.
    W3C. XSL Transformations (XSLT) Version 1.0, November (1999)Google Scholar
  55. 55.
    Wagner, R., Giese, H., Nickel, U.: A plug-in for flexible and incremental consistency management. In: Proceedings of the Workshop on Consistency Problems in UML-based Software Development II (UML 2003, Workshop 7), pp. 78–85. Blekinge Institute of Technology (2003)Google Scholar

Copyright information

© Springer-Verlag 2008

Authors and Affiliations

  1. 1.System Analysis and Modeling GroupHasso Plattner Institute at the University of PotsdamPotsdamGermany
  2. 2.Software Engineering Group, Department of Computer ScienceUniversity of PaderbornPaderbornGermany

Personalised recommendations