Advertisement

Reusing Model Transformations While Preserving Properties

  • Ethan K. Jackson
  • Wolfram Schulte
  • Daniel Balasubramanian
  • Gabor Karsai
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6013)

Abstract

Model transformations are indispensable to model-based development (MBD) where they act as translators between domain-specific languages (DSLs). As a result, transformations must be verified to ensure they behave as desired. Simultaneously, transformations may be reused as requirements evolve. In this paper we present novel algorithms to determine if a reused transformation preserves the same properties as the original, without expensive re-verification. We define a type of behavioral equivalence, called lifting equivalence, relating an original transformation to its reused version. A reused transformation that is equivalent to the original will preserve all compatible universally quantified properties. We describe efficient algorithms for verifying lifting equivalence, which we have implemented in our FORMULA [1, 2] framework.

Keywords

Model Transformation Graph Transformation Abstract Syntax Tree Automaton Compatible Property 
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.

References

  1. 1.
    Jackson, E.K., Sztipanovits, J.: Formalizing the structural semantics of domain-specific modeling languages. Software and Systems Modeling (2008) 5634Google Scholar
  2. 2.
    Jackson, E.K., Seifert, D., Dahlweid, M., Santen, T., Bjørner, N., Schulte, W.: Specifying and composing non-functional requirements in model-based development. In: Bergel, A., Fabry, J. (eds.) Software Composition. LNCS, vol. 5634, pp. 72–89. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  3. 3.
    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
  4. 4.
    Varró, D., Balogh, A.: The model transformation language of the VIATRA2 framework. Science of Computer Programming 68(3), 214–234 (2007)zbMATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    Mens, T., Gorp, P.V.: A taxonomy of model transformation. Electr. Notes Theor. Comput. Sci. 152, 125–142 (2006)CrossRefGoogle Scholar
  6. 6.
    Taentzer, G.: AGG: A tool environment for algebraic graph transformation. In: Münch, M., Nagl, M. (eds.) AGTIVE 1999. LNCS, vol. 1779, pp. 481–488. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  7. 7.
    Schmidt, D.C.: Guest editor’s introduction: Model-driven engineering. IEEE Computer 39(2), 25–31 (2006)Google Scholar
  8. 8.
    de Lara, J., Vangheluwe, H.: Defining visual notations and their manipulation through meta-modelling and graph transformation. J. Vis. Lang. Comput. 15(3-4), 309–330 (2004)CrossRefGoogle Scholar
  9. 9.
    Ehrig, H., Ehrig, K., Ermel, C.: Evolution of model transformations by model refactoring. In: Proceedings of the Eighth International Workshop on Graph Transformation and Visual Modeling Techniques, GT-VMT 2009 (2009)Google Scholar
  10. 10.
    Levendovszky, T., Balasubramanian, D., Narayanan, A., Karsai, G.: A novel approach to semi-automated evolution of dsml model transformation. In: 2nd International Conference on Software Language Engineering, SLE (2009)Google Scholar
  11. 11.
    Meertens, L.: Paramorphisms. Formal Aspects of Computing 4, 413–424 (1992)zbMATHCrossRefGoogle Scholar
  12. 12.
    Meijer, E., Fokkinga, M.M., Paterson, R.: Functional programming with bananas, lenses, envelopes and barbed wire. In: FPCA, pp. 124–144 (1991)Google Scholar
  13. 13.
    Achatz, K., Schulte, W.: Massive parallelization of divide-and-conquer algorithms over powerlists. Sci. Comput. Program. 26(1-3), 59–78 (1996)zbMATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    Narayanan, A., Karsai, G.: Towards verifying model transformations. Electr. Notes Theor. Comput. Sci. 211, 191–200 (2008)CrossRefGoogle Scholar
  15. 15.
    Varró, D.: Automated formal verification of visual modeling languages by model checking. Journal of Software and Systems Modeling 3(2), 85–113 (2004)CrossRefGoogle Scholar
  16. 16.
    Ehrig, H., Ermel, C.: Semantical correctness and completeness of model transformations using graph and rule transformation. In: Ehrig, H., Heckel, R., Rozenberg, G., Taentzer, G. (eds.) ICGT 2008. LNCS, vol. 5214, pp. 194–210. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  17. 17.
    Bisztray, D., Heckel, R., Ehrig, H.: Verification of architectural refactorings by rule extraction. In: Fiadeiro, J.L., Inverardi, P. (eds.) FASE 2008. LNCS, vol. 4961, pp. 347–361. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  18. 18.
    Bisztray, D., Heckel, R., Ehrig, H.: Compositionality of model transformations. Electr. Notes Theor. Comput. Sci. 236, 5–19 (2009)CrossRefGoogle Scholar
  19. 19.
    Balasubramanian, D., Narayanan, A., van Buskirk, C.P., Karsai, G.: The Graph Rewriting and Transformation Language: GReAT. ECEASST 1 (2006)Google Scholar
  20. 20.
    de Lara, J., Guerra, E.: Pattern-based model-to-model transformation. In: Ehrig, H., Heckel, R., Rozenberg, G., Taentzer, G. (eds.) ICGT 2008. LNCS, vol. 5214, pp. 426–441. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  21. 21.
    Rivera, J.E., Guerra, E., de Lara, J., Vallecillo, A.: Analyzing rule-based behavioral semantics of visual modeling languages with maude. In: Gašević, D., Lämmel, R., Van Wyk, E. (eds.) SLE 2008. LNCS, vol. 5452, pp. 54–73. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  22. 22.
    Cortellessa, V., Gregorio, S.D., Marco, A.D.: Using atl for transformations in software performance engineering: a step ahead of java-based transformations? In: WOSP, pp. 127–132 (2008)Google Scholar
  23. 23.
    Grönniger, H., Krahn, H., Rumpe, B., Schindler, M., Völkel, S.: Monticore: a framework for the development of textual domain specific languages. In: ICSE Companion, pp. 925–926 (2008)Google Scholar
  24. 24.
    Comon, H., Dauchet, M., Gilleron, R., Löding, C., Jacquemard, F., Lugiez, D., Tison, S., Tommasi, M.: Tree automata techniques and applications, http://www.grappa.univ-lille3.fr/tata (2007) (release October 12, 2007)
  25. 25.
    Hopcroft, J.E., Karp, R.M.: An n5/2 algorithm for maximum matchings in bipartite graphs. SIAM J. Comput. 2(4), 225–231 (1973)zbMATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Ethan K. Jackson
    • 1
  • Wolfram Schulte
    • 1
  • Daniel Balasubramanian
    • 2
  • Gabor Karsai
    • 2
  1. 1.Microsoft Research 
  2. 2.Vanderbilt University 

Personalised recommendations