Advertisement

Software & Systems Modeling

, Volume 5, Issue 3, pp 233–259 | Cite as

Definition and validation of model transformations

  • Jochen M. KüsterEmail author
Special Section Paper

Abstract

With model transformations becoming more widely used, there is an increasing need for approaches focussing on a systematic development of model transformations. Although a number of approaches for specifying model transformations exist, none of them focusses on systematically validating model transformations with respect to termination and confluence. Termination and confluence ensure that a model transformation always produces a unique result. Also called functionality, these properties are important requirements for practical applications of model transformations. In this paper, we introduce our approach to model transformation. Using and extending results from the theory of graph transformation, we investigate termination and confluence properties of model transformations specified in our approach. We establish a set of criteria for termination and confluence to be checked at design time by static analysis of the transformation rules and the underlying metamodels. Moreover, the criteria are formulated in such a way that they require less experience with the theory of graph transformation. Our concepts are illustrated by a running example of a model tranformation from statecharts to the process algebra Communicating Sequential Processes.

Keywords

Transformation Unit Critical Pair Control Expression Graph Grammar Communicate Sequential Process 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Akehurst, D., Kent, S.: A relational approach to defining transformations in a metamodel. In: Jezequel, J.-M., Hussmann, H., Cook, S. (eds.) UML 2002 - The Unified Modeling Language. 5th International Conference, Dresden, Germany, September 30 – October 4, 2002, Proceedings, volume 2460 of LNCS, pp 243–258. Springer, Berlin Heidelberg New York (2002)Google Scholar
  2. 2.
    Baader F., Nipkow T. (1998). Term rewriting and all that. Cambridge University Press, CambridgeGoogle Scholar
  3. 3.
    Bottoni, P., Schürr, A., Taentzer, G.: Efficient parsing of visual languages based on critical pair analysis and contextual layered graph transformation. In: Proceedings of the IEEE symposium on visual languages, September 2000. Long version available as technical report SI-2000-06, University of Rome, ItalyGoogle Scholar
  4. 4.
    Braun, P., Marschall, F.: BOTL—The bidirectional object-oriented transformation language. Technical report, Fakultät für Informatik, Technische Universität München, Technical Report TUM-I0307 (2003)Google Scholar
  5. 5.
    Corradini A., Montanari U., Rossi F., Ehrig H., Heckel R., Löwe M. (1997). Algebraic approaches to graph transformation part I: basic concepts and double pushout approach. In: Rozenberg G. (eds) Handbook of Graph Grammars and Computing by Graph Transformation, Vol. 1: Foundations. World Scientific, Singapore, pp. 163–245Google Scholar
  6. 6.
    Csertán, G., Huszerl, G., Majzik, I., Pap, Z., Pataricza, A., Varró, D.: VIATRA: visual automated transformations for formal verification and validation of UML models. In: Proceedings 17th IEEE international conference on automated software engineering (ASE 2002), pp. 267–270, Edinburgh, UK, September 2002Google Scholar
  7. 7.
    Czarnecki, K., Helsen, S.: Classification of model transformation approaches. In: Proceedings OOPSLA’03 workshop on generative techniques in the context of Model-Driven Architecture, (2003)Google Scholar
  8. 8.
    Ehrig, H., Prange, U., Taentzer, G.: Fundamental theory for typed attributed graph transformation. In: Parisi-Presicce, F., Bottoni, P., Engels, G. (eds.) Proceedings of the 2nd International conference on graph transformation (ICGT’04), vol 3256 of LNCS, pp. 161–177. Springer, Berlin Heidelberg New York October (2004)Google Scholar
  9. 9.
    Engels, G., Heckel, R., Küster, J.M.: Rule-based specification of behavioral consistency based on the UML meta-model. In: Gogolla, M., Kobryn, C. (eds.) UML 2001—the unified modeling language. Modeling languages, concepts, and tools., 4th International conference, Toronto, Canada, October 1–5, 2001, proceedings, vol 2185 of LNCS, pp. 272–287. Springer, Berlin Heidelberg New York (2001)Google Scholar
  10. 10.
    Engels, G., Heckel, R., Küster, J.M.: The Consistency Workbench—a tool for consistency management in UML-based development. In: Stevens, P., Whittle, J., Booch, G. (eds.) UML 2003—the Unified Modeling Language. Modeling languages and applications. 6th International conference, San Francisco, October 20–24, USA, proceedings, vol 2863 of LNCS, pp. 356–359. Springer, Berlin Heidelberg New York (2003)Google Scholar
  11. 11.
    Engels, G., Hücking, R., Sauer, S., Wagner, A.: UML collaboration diagrams and their transformation to Java. In: Rumpe, B., France, R. (eds.) UML 99 the Unified Modeling Language. Proceedings, vol 1723 of LNCS, pp 473–488. Springer, Berlin Heidelberg New York (1999)Google Scholar
  12. 12.
    Ermel C., Rudolf M., Taentzer G. (1999). The AGG-Approach: language and tool environment. In: Ehrig H., Engels G., Kreowski H.-J., Rozenberg G. (eds) Handbook of graph grammars and computing by graph transformation, vol 2: applications, languages and tools. World Scientific, Singapore, pp. 551–603 See also: http://tfs.cs.tu/berlin.de/aggGoogle Scholar
  13. 13.
    Gardner, T., Griffin, C., Koehler, J., Hauser, R.: A review of OMG MOF 2.0 Query / Views / Transformations Submissions and Recommendations towards the final Standard. IBM Submission to the OMG, document 03-08-02, (2003)Google Scholar
  14. 14.
    Hauser, R., Koehler, J.: Compiling Process Graphs into executable code. In: Proceedings of the 3rd International conference on generative programming and component engineering, vol 3286 of LNCS, pp. 317–336. Springer, Berlin Heidelberg New York October (2004)Google Scholar
  15. 15.
    Heckel, R., Küster, J.M., Bandener, N., Gueldali, B., Jahnich, I., Koepke, C., Weking, M.: Automatische Qualitätssicherung von UML Modellen. Bericht der Projektgruppe. Technical Report TR-RI-03-245, Universität Paderborn, December (2003)Google Scholar
  16. 16.
    Heckel R., Küster J.M., Taentzer G. (2002). Confluence of typed attributed graph transformation. In: Corradini A., Ehrig H., Kreowski H.-J., Rozenberg G. (eds) Proceedings of the 1st international conference of graph transformation, vol 2505 of LNCS. Springer, Berlin Heidelberg New York, pp. 161–176Google Scholar
  17. 17.
    Heckel, R., Küster, J.M., Taentzer, G.: Towards automatic translation of UML models into semantic domains. In: Kreowski, H.-J., Knirsch, P. (eds.) Proceedings of the appligraph workshop on applied graph transformation, pp. 11–22, March 2002Google Scholar
  18. 18.
    Hoare C.A.R. (1985). Communicating Sequential Processes. Prentice Hall, Englewood CliffszbMATHGoogle Scholar
  19. 19.
    Karsai G., Agrawal A., Shi F., Sprinkle J. (2003). On the use of graph transformation in the formal specification of model interpreters. J. Universal Comput. Sci. 9(11):1296–1321Google Scholar
  20. 20.
    Kreowski H.J., Kuske S. (1999). Graph transformation units and modules. In: Engels G., Kreowski H.-J., Rozenberg G. (eds) Handbook of graph grammars and computing by graph transformation, vol 2: applications, languages, and tools. World Scientific, SingaporeGoogle Scholar
  21. 21.
    Kuske S. (2000). Transformation units a structuring principle for graph transformation systems. Dissertation, Universität Bremen, GermanyGoogle Scholar
  22. 22.
    Küster, J.M.: Consistency management of object-oriented behavioral models. PhD thesis, University of Paderborn, Germany, March (2004)Google Scholar
  23. 23.
    Küster, J.M., Heckel, R., Engels, G.: Defining and validating transformations of UML models. In: Hosking, J., Cox, P. (eds.) IEEE Symposium on Human Centric Computing Languages and Environments (HCC 2003) Auckland, October 28 – October 31 2003, Auckland, New Zealand, proceedings, pp. 145–152. IEEE Computer Society, (2003)Google Scholar
  24. 24.
    Küster, J.M., Sendall, S., Wahler, M.: Comparison of model transformation approaches. In: Proceedings workshop OCL and model engineering, (2004)Google Scholar
  25. 25.
    McUmber, W., Cheng, B.: A general framework for formalizing UML with formal languages. In: Proceedings 23rd international conference on software engineering. IEEE Computer Society, May 2001Google Scholar
  26. 26.
    Object Management Group: Model driven architecture, 2001. http://www.omg.org/mdaGoogle Scholar
  27. 27.
    Object Management Group (OMG): OMG unified modeling language specification, Version 1.5. OMG document formal/03-03-01, March 2003Google Scholar
  28. 28.
    Object Management Group (OMG): QVT-merge group. MOF 2.0 query/views/transformations, revised submission. OMG document ad/2004-04-01, April (2004)Google Scholar
  29. 29.
    Object Modeling Group: Unified Modeling Language specification, version 1.4.2, July (2004)Google Scholar
  30. 30.
    Osterweil, L.: Software processes are software too. In: Proceedings of the 9th international conference on software engineering, pp. 2–13. IEEE Computer Society, March 1987Google Scholar
  31. 31.
    Plump D. (1993). Hypergraph rewriting: critical pairs and undecidability of confluence. In: Plasmeijer M., van Eekelen M.C. (eds) Term Graph Rewriting. Wiley, New York, pp. 201–214Google Scholar
  32. 32.
    Plump, D.: Termination of graph rewriting is undecidable. In: Fundamenta informaticae, vol 33(2), pp. 201–209. IOS Press, Amsterdam (1998)Google Scholar
  33. 33.
    Plump D. Term graph rewriting. In: Handbook of Graph Grammars and Computing by Graph Transformation, vol 2: Applications, languages and Tools, pp. 3–61. World Scientific, Singapore, (1999)Google Scholar
  34. 34.
    Pratt T.W. (1971). Pair grammars, graph languages and translations. J. Comput. Syst. Sci. 5:560–595MathSciNetzbMATHGoogle Scholar
  35. 35.
    Rekers J., Schürr A. (1997). Defining and parsing visual languages with layered graph grammars. J. Vis. Lang. Comput. 8(1):27–55CrossRefGoogle Scholar
  36. 36.
    Rozenberg G. (eds) (1997). Handbook of Graph Grammars and Computing by Graph Transformation, vol 1: Foundations. World Scientific, SingaporeGoogle Scholar
  37. 37.
    Schäfer T., Knapp A., Merz S. (2001). Model checking UML state machines and collaborations. Electron. Notes Theor. Comput. Sci. 55(3):357–369CrossRefGoogle Scholar
  38. 38.
    Schürr, A.: Specification of graph translators with triple graph grammars. In: Mayr, E., Schmidt, G., Tinhofer, G. (eds.) Proceedings WG’94 international workshop on graph-theoretic concepts in computer science, pp. 151–163. LNCS 903, Springer, Berlin Heidelberg New York (1994)Google Scholar
  39. 39.
    Schürr A., Winter A., Zündorf A. (1999). The PROGRES approach: language and environment. In: Engels G., Kroewski H.-J., Rozenberg G. (eds) Handbook of Graph Grammars and Computing by Graph Transformation, vol 2: Applications, Languages, and Tools. World Scientific, Singapore, pp. 487–550Google Scholar
  40. 40.
    Gorp, P.v., Stenten, H., Mens, T., Demeyer, S.: Towards automating source-consistent UML refactorings. In: Stevens, P., Whittle. J., Booch, G. (eds.), UML 2003 The unified modeling language. Modeling languages and applications. 6th International conference, San Francisco, October 20–24, USA, Proceedings, vol 2863 of LNCS, pp. 144–158. Springer, Berlin Heidelberg New York (2003)Google Scholar
  41. 41.
    Varró, D., Pataricza, A.: Automated formal verification of model transformations. In: Jürjens, J., Rumpe, B., France, R., Fernandez, E.B. (eds.) CSDUML 2003: critical systems development in UML; proceedings of the UML’03 workshop, Technical Report, pp. 63–78. Technische Universität München, September 2003Google Scholar
  42. 42.
    Varró D., Varró G., Pataricza A. (2002). Designing the automatic transformation of visual languages. Sci. of Comput. Programm 44(2):205–227CrossRefzbMATHGoogle Scholar
  43. 43.
    Whittle, J.: Transformations and software modeling languages: automating transformations in UML. In Jezequel, J.-M., Hussmann, H., Cook, S. (eds.), UML 2002—The Unified Modeling Language. 5th International Conference, Dresden, Germany, September 30 – October 4, 2002, proceedings, vol 2460 of LNCS, pp. 227–242. Springer, Berlin Heidelberg New York (2002)Google Scholar
  44. 44.
    Ed Willink. UMLX: a graphical transformation language for MDA. In: Rensink, A. (ed.) Proceedings of the workshop model driven architecture, CTIT Technical Report TR-CTIT-03-27, pp. 13–24. University of Twente (2003)Google Scholar
  45. 45.
    Zündorf, A.: PROgrammierte GRaphErsetzungs-Systeme: Spezifikation, Implementierung und Anwendung einer integrierten Entwicklungsumgebung. Dissertation, RWTH Aachen (1995)Google Scholar

Copyright information

© Springer-Verlag 2006

Authors and Affiliations

  1. 1.Services and Software DepartmentIBM Zurich Research LaboratoryRueschlikonSwitzerland

Personalised recommendations