On Verifying ATL Transformations Using ‘off-the-shelf’ SMT Solvers

  • Fabian Büttner
  • Marina Egea
  • Jordi Cabot
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7590)

Abstract

MDE is a software development process where models constitute pivotal elements of the software to be built. If models are well-specified, transformations can be employed for various purposes, e.g., to produce final code. However, transformations are only meaningful when they are ‘correct’: they must produce valid models from valid input models. A valid model has conformance to its meta-model and fulfils its constraints, usually written in OCL. In this paper, we propose a novel methodology to perform automatic, unbounded verification of ATL transformations. Its main component is a novel first-order semantics for ATL transformations, based on the interpretation of the corresponding rules and their execution semantics as first-order predicates. Although, our semantics is not complete, it does cover a significant subset of the ATL language. Using this semantics, transformation correctness can be automatically verified with respect to non-trivial OCL pre- and postconditions by using SMT solvers, e.g. Z3 and Yices.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Anastasakis, K., Bordbar, B., Küster, J.M.: Analysis of Model Transformations via Alloy. In: Proceedings of MoDeVVa 2007 (2007), http://www.modeva.org/2007/modevva07.pdf
  2. 2.
    Asztalos, M., Lengyel, L., Levendovszky, T.: Towards automated, formal verification of model transformations. In: Proceedings 3rd International Conference on Software Testing, Verification and Validation, ICST 2010, pp. 15–24. IEEE Computer Society (2010)Google Scholar
  3. 3.
  4. 4.
    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
  5. 5.
    Baudry, B., Ghosh, S., Fleurey, F., France, R.B., Traon, Y.L., Mottu, J.-M.: Barriers to systematic model transformation testing. Communications of ACM 53(6) (2010)Google Scholar
  6. 6.
    Becker, B., Lambers, L., Dyck, J., Birth, S., Giese, H.: Iterative Development of Consistency-Preserving Rule-Based Refactorings. In: Cabot, J., Visser, E. (eds.) ICMT 2011. LNCS, vol. 6707, pp. 123–137. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  7. 7.
    Boronat, A., Heckel, R., Meseguer, J.: Rewriting Logic Semantics and Verification of Model Transformations. In: Chechik, M., Wirsing, M. (eds.) FASE 2009. LNCS, vol. 5503, pp. 18–33. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  8. 8.
    Büttner, F., Egea, M., Cabot, J.: On verifying ATL transformations using ‘off-the-shelf’ SMT solvers: Examples (2012), http://www.emn.fr/z-info/atlanmod/index.php/MODELS_2012_SMT
  9. 9.
    Büttner, F., Egea, M., Cabot, J., Gogolla, M.: Verification of ATL transformations using transformation models and model finders. In: Proceedings of 14th International Conference on Formal Engineering Methods, ICFEM 2012, Kyoto, Japan, November 12-16. LNCS, Springer (in press, 2012)Google Scholar
  10. 10.
    Cabot, J., Clariso, R., Guerra, E., Lara, J.: Verification and validation of declarative model-to-model transformations through invariants. Journal of Systems and Software 83(2) (2010)Google Scholar
  11. 11.
    Clavel, M., Egea, M., de Dios, M.A.G.: Checking unsatisfiability for OCL constraints. Electronic Communications of the EASST 24 (2009)Google Scholar
  12. 12.
    de Moura, L.M., Bjørner, N.: Satisfiability modulo theories: Introduction and applications. Communications of ACM 54(9), 69–77 (2011)CrossRefGoogle Scholar
  13. 13.
    Dutertre, B., Moura, L.D.: The Yices SMT solver. Technical report, Computer Science Laboratory, SRI International (2006), http://yices.csl.sri.com/tool-paper.pdf
  14. 14.
    Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. Monographs in Theoretical Computer Science. An EATCS Series. Springer (2006)Google Scholar
  15. 15.
    Ge, Y., de Moura, L.M.: Complete Instantiation for Quantified Formulas in Satisfiabiliby Modulo Theories. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 306–320. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  16. 16.
    Inaba, K., Hidaka, S., Hu, Z., Kato, H., Nakano, K.: Graph-transformation verification using monadic second-order logic. In: Schneider-Kamp, P., Hanus, M. (eds.) Proceedings of ACM SIGPLAN Conference on Principles and Practice of Declarative Programming, PPDP 2011, pp. 17–28. ACM (2011)Google Scholar
  17. 17.
    Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: A model transformation tool. Science of Computer Programming 72(1-2) (2008)Google Scholar
  18. 18.
    Jouault, F., Kurtev, I.: Transforming Models with ATL. In: Bruel, J.-M. (ed.) MoDELS 2005. LNCS, vol. 3844, pp. 128–138. Springer, Heidelberg (2006), http://sosym.dcs.kcl.ac.uk/events/mtip05/submissions/jouault_kurtev__transforming_models_with_atl.pdf CrossRefGoogle Scholar
  19. 19.
    Lano, K., Kolahdouz-Rahimi, S.: Model-Driven Development of Model Transformations. In: Cabot, J., Visser, E. (eds.) ICMT 2011. LNCS, vol. 6707, pp. 47–61. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  20. 20.
    Lucio, L., Barroca, B., Amaral, V.: A Technique for Automatic Validation of Model Transformations. In: Petriu, D.C., Rouquette, N., Haugen, O. (eds.) MODELS 2010, Part I. LNCS, vol. 6394, pp. 136–150. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  21. 21.
    OMG. The Object Constraint Language Specification v. 2.2 (Document formal/2010-02-01). Object Management Group, Inc. (2010), http://www.omg.org/spec/OCL/2.2/
  22. 22.
    OMG. Meta Object Facility (MOF) Core Specification 2.4.1 (Document formal/2011-08-07). Object Management Group, Inc. (2011), http://www.omg.org
  23. 23.
    Poskitt, C.M., Plump, D.: Hoare-style verification of graph programs. Fundamenta Informaticae 118(1-2), 135–175 (2012)MATHGoogle Scholar
  24. 24.
    Rensink, A.: Explicit State Model Checking for Graph Grammars. In: Degano, P., De Nicola, R., Meseguer, J. (eds.) Concurrency, Graphs and Models. LNCS, vol. 5065, pp. 114–132. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  25. 25.
    Richters, M., Gogolla, M.: On Formalizing the UML Object Constraint Language OCL. In: Ling, T.-W., Ram, S., Li Lee, M. (eds.) ER 1998. LNCS, vol. 1507, pp. 449–464. Springer, Heidelberg (1998)Google Scholar
  26. 26.
    Troya, J., Vallecillo, A.: A Rewriting Logic Semantics for ATL. Journal of Object Technology 10 (2011)Google Scholar
  27. 27.
  28. 28.

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Fabian Büttner
    • 1
  • Marina Egea
    • 2
  • Jordi Cabot
    • 1
  1. 1.AtlanMod Research GroupINRIA / Ecole des Mines de NantesFrance
  2. 2.AtosMadridSpain

Personalised recommendations