An Invariant-Based Method for the Analysis of Declarative Model-to-Model Transformations

  • Jordi Cabot
  • Robert Clarisó
  • Esther Guerra
  • Juan de Lara
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5301)


In this paper we propose a method to derive OCL invariants from declarative specifications of model-to-model transformations. In particular we consider two of the most prominent approaches for specifying such transformations: Triple Graph Grammars and QVT. Once the specification is expressed in the form of invariants, the transformation developer can use such description to verify properties of the original transformation (e.g. whether it defines a total, surjective or injective function), and to validate the transformation by the automatic generation of valid pairs of source and target models.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Akehurst, D.H., Kent, S., Patrascoiu, O.: A relational approach to defining and implementing transformations between metamodels. Journal on Software and System Modeling 2(4), 215–239 (2003)CrossRefGoogle Scholar
  2. 2.
    Anastasakis, K., Bordbar, B., Georg, G., Ray, I.: UML2Alloy: A challenging model transformation. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 436–450. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  3. 3.
    Anastasakis, K., Bordbar, B., Kuster, J.M.: Analysis of model transformations via Alloy. In: ModeVVa 2007, pp. 47–56 (2007)Google Scholar
  4. 4.
    Baldan, P., Corradini, A., König, B.: A static analysis technique for graph transformation systems. In: Larsen, K.G., Nielsen, M. (eds.) CONCUR 2001. LNCS, vol. 2154, pp. 381–395. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  5. 5.
    Baresi, L., Spoletini, P.: On the use of Alloy to analyze graph transformation systems. In: Corradini, A., Ehrig, H., Montanari, U., Ribeiro, L., Rozenberg, G. (eds.) ICGT 2006. LNCS, vol. 4178, pp. 306–320. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  6. 6.
    Bézivin, J., Büttner, F., Gogolla, M., Jouault, F., Kurtev, I., Lindow, A.: Model transformations? Transformation models! In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 440–453. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  7. 7.
    Brucker, A.D., Wolff, B.: The HOL-OCL book. Technical Report 525, ETH Zurich (2006)Google Scholar
  8. 8.
    Cabot, J., Clarisó, R., Guerra, E., de Lara, J.: Analysing graph transformation rules through OCL. In: Vallecillo, A., Gray, J., Pierantonio, A. (eds.) ICMT 2008. LNCS, vol. 5063, pp. 225–239. Springer, Heidelberg (2008)Google Scholar
  9. 9.
    Cabot, J., Clarisó, R., Riera, D.: Verification of UML/OCL class diagrams using constraint programming. In: MoDeVVa 2008. ICST Workshop (2008)Google Scholar
  10. 10.
    Giese, H., Glesner, S., Leitner, J., Schfer, W., Wagner, R.: Towards verified model transformations. In: ModeVVa 2006 (2006)Google Scholar
  11. 11.
    Greenyer, J., Kindler, E.: Reconciling TGGs with QVT. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 16–30. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  12. 12.
    Guerra, E., de Lara, J.: Event-driven grammars: Relating abstract and concrete levels of visual languages. Journal on Software and System Modeling, special section on ICGT 2004, 317–347 (2007)Google Scholar
  13. 13.
    Heckel, R., Küster, J.M., Taentzer, G.: Confluence of typed attributed graph transformation systems. In: Corradini, A., Ehrig, H., Kreowski, H.-J., Rozenberg, G. (eds.) ICGT 2002. LNCS, vol. 2505, pp. 161–176. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  14. 14.
    Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I., Valduriez, P.: ATL: a QVT-like transformation language. In: OOPSLA Companion, pp. 719–720. ACM, New York (2006)Google Scholar
  15. 15.
    Küster, J.M.: Definition and validation of model transformations. Journal on Software and Systems Modeling 5(3), 233–259 (2006)CrossRefGoogle Scholar
  16. 16.
    Lin, Y., Zhang, J., Gray, J.: A framework for testing model transformations. In: Model-driven Software Development, pp. 219–236. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  17. 17.
    OMG. MOF 2.0 Query/View/Transformation specification (2007)Google Scholar
  18. 18.
    Rozenberg, G. (ed.): Handbook of Graph Grammars and Computing by Graph Transformations. Foundations, vol. 1. World Scientific, Singapore (1997)MATHGoogle 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.
    Sen, S., Baudry, B., Precup, D.: Partial model completion in model driven engineering using constraint logic programming. In: Proc. INAP 2007 (2007)Google Scholar
  21. 21.
    Straeten, R.V.D., Mens, T., Simmonds, J., Jonckers, V.: Using description logic to maintain consistency between UML models. In: Stevens, P., Whittle, J., Booch, G. (eds.) UML 2003. LNCS, vol. 2863, pp. 326–340. Springer, Heidelberg (2003)Google Scholar
  22. 22.
    Varró, D.: Automated formal verification of visual modeling languages by model checking. Journal on Software and System Modeling 3(2), 85–113 (2004)CrossRefGoogle Scholar
  23. 23.
    Wang, J., Kim, S.-K., Carrington, D.A.: Verifying metamodel coverage of model transformations. In: ASWEC 2006, pp. 270–282. IEEE Computer Society, Los Alamitos (2006)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Jordi Cabot
    • 1
  • Robert Clarisó
    • 1
  • Esther Guerra
    • 2
  • Juan de Lara
    • 3
  1. 1.Universitat Oberta de Catalunya(Spain)
  2. 2.Universidad Carlos III de Madrid(Spain)
  3. 3.Universidad Autónoma de Madrid(Spain)

Personalised recommendations