From UML Activities to TAAL - Towards Behaviour-Preserving Model Transformations

  • Gregor Engels
  • Anneke Kleppe
  • Arend Rensink
  • Maria Semenyak
  • Christian Soltenborn
  • Heike Wehrheim
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5095)

Abstract

Model transformations support a model-driven design by providing an automatic translation of abstract models into more concrete ones, and eventually program code. Crucial to a successful application of model transformations is their correctness, in the sense that the meaning (semantics) of the models is preserved. This is especially important if the models not only describe the structure but also the intended behaviour of the systems. Reasoning about and showing correctness is, however, often impossible as the source and target models typically lack a precise definition of their semantics.

In this paper, we take a first step towards provably correct behavioural model transformations. In particular, we develop transformations from UML Activities (which are visual models) to programs in TAAL, which is a textual Java-like programming language. Both languages come equipped with formal behavioural semantics, which, moreover, have the same semantic domain. This sets the stage for showing correctness, which in this case comes down to showing that the behaviour of every (well-formed) UML Activity coincides with that of the corresponding TAAL program, in a well-defined sense.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Akehurst, D.H., Kent, S.: A Relational Approach to Defining Transformations in a Metamodel. In: Jézéquel, J.-M., Hussmann, H., Cook, S. (eds.) UML 2002. LNCS, vol. 2460, pp. 243–258. Springer, Heidelberg (2002)Google Scholar
  2. 2.
    Czarnecki, K., Helsen, S.: Classification of Model Transformation Approaches. In: Workshop on Generative Techniques in the Context of Model-Driven Architecture (2003)Google Scholar
  3. 3.
    Object Management Group: Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification (2007), http://www.omg.org/cgi-bin/doc?ptc/2007-07-07
  4. 4.
    Küster, J.M., Abd-El-Razik, M.: Validation of Model Transformations - First Experiences Using a White Box Approach. In: Kühne, T. (ed.) MoDELS 2006. LNCS, vol. 4364, pp. 193–204. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  5. 5.
    Ehrig, H., Ehrig, K., de Lara, J., Taentzer, G., Varró, D., Varró-Gyapay, S.: Termination Criteria for Model Transformation. In: Cerioli, M. (ed.) FASE 2005. LNCS, vol. 3442, pp. 49–63. Springer, Heidelberg (2005)Google Scholar
  6. 6.
    Lambers, L., Ehrig, H., Orejas, F.: Conflict Detection for Graph Transformation with Negative Application Conditions. In: Corradini, A., Ehrig, H., Montanari, U., Ribeiro, L., Rozenberg, G. (eds.) ICGT 2006. LNCS, vol. 4178, pp. 61–76. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  7. 7.
    Mens, T., Demeyer, S., Janssens, D.: Formalising Behaviour Preserving Program Transformations. In: Corradini, A., Ehrig, H., Kreowski, H.-J., Rozenberg, G. (eds.) ICGT 2002. LNCS, vol. 2505, pp. 286–301. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  8. 8.
    Ruhroth, T., Wehrheim, H.: Refactoring Object-Oriented Specifications with Data and Processes. In: Bonsangue, M.M., Johnsen, E.B. (eds.) FMOODS 2007. LNCS, vol. 4468, pp. 236–251. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  9. 9.
    Kastenberg, H., Kleppe, A., Rensink, A.: Defining Object-Oriented Execution Semantics Using Graph Transformations. In: Gorrieri, R., Wehrheim, H. (eds.) FMOODS 2006. LNCS, vol. 4037, pp. 186–201. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  10. 10.
    Object Management Group: Business Process Modeling Notation V1.1 (2008), http://www.omg.org/spec/BPMN/1.1/PDF
  11. 11.
    Rensink, A.: The GROOVE Simulator: A Tool for State Space Generation. In: Pfaltz, J.L., Nagl, M., Böhlen, B. (eds.) AGTIVE 2003. LNCS, vol. 3062, pp. 479–485. Springer, Heidelberg (2004)Google Scholar
  12. 12.
    Hausmann, J.H.: Dynamic Meta Modeling. PhD thesis, University of Paderborn (2005)Google Scholar
  13. 13.
    Karsai, G., Narayanan, A.: On the Correctness of Model Transformations in the Development of Embedded Systems. In: Kordon, F., Sokolsky, O. (eds.) Monterey Workshop. LNCS, vol. 4888, pp. 1–18. Springer, Heidelberg (2006)Google Scholar
  14. 14.
    Glesner, S.: Using Program Checking to Ensure the Correctness of Compiler Implementations. J. UCS 9(3), 191–222 (2003)Google Scholar
  15. 15.
    Denney, E., Fischer, B.: Certifiable Program Generation. In: Glück, R., Lowry, M. (eds.) GPCE 2005. LNCS, vol. 3676, pp. 17–28. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  16. 16.
    Peterson, W.W., Kasami, T., Tokura, N.: On the Capabilities of While, Repeat, and Exit Statements. Commun. ACM 16(8), 503–512 (1973)MATHCrossRefMathSciNetGoogle Scholar
  17. 17.
    Rozenberg, G. (ed.): Handbook of Graph Grammars and Computing by Graph Transformations. Foundations, vol. 1. World Scientific, Singapore (1997)MATHGoogle Scholar
  18. 18.
    Klar, F., Königs, A., Schürr, A.: Model Transformation in the Large. In: Crnkovic, I., Bertolino, A. (eds.) ESEC/SIGSOFT FSE, pp. 285–294. ACM, New York (2007)CrossRefGoogle Scholar
  19. 19.
    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)Google Scholar
  20. 20.
    Bergstra, J.A., Ponse, A., Smolka, S.A.: Handbook of Process Algebra. Elsevier, Amsterdam (2001)MATHGoogle Scholar
  21. 21.
    van Glabbeek, R.J.: The linear time – branching time spectrum I: The semantics of concrete, sequential processes. In: [20], pp. 3–100Google Scholar
  22. 22.
    Bock, C.: UML 2 Activity and Action Models, Part 4: Object Nodes. Journal of Object Technology 3(1), 27–41 (2004)Google Scholar
  23. 23.
    Eclipse Foundation, http://www.eclipse.org

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Gregor Engels
    • 1
  • Anneke Kleppe
    • 2
  • Arend Rensink
    • 2
  • Maria Semenyak
    • 1
  • Christian Soltenborn
    • 1
  • Heike Wehrheim
    • 1
  1. 1.Department of Computer ScienceUniversity of PaderbornPaderbornGermany
  2. 2.Department of Computer ScienceUniversity of TwenteEnschedeThe Netherlands

Personalised recommendations