skip to main content
10.1145/2351676.2351756acmconferencesArticle/Chapter ViewAbstractPublication PagesaseConference Proceedingsconference-collections
Article

Formal verification techniques for model transformations specified by-demonstration

Published:03 September 2012Publication History

ABSTRACT

Model transformations play an essential role in many aspects of model-driven development. By-demonstration approaches provide a user-friendly tool for specifying reusable model transformations. Here, a modeler performs the model transformation only once by hand and an executable transformation is automatically derived. Such a transformation is characterized by the set of pre- and postconditions that are required to be satisfied prior and after the execution of the transformation. However, the automatically derived conditions are usually too restrictive or incomplete and need to be refined manually to obtain the intended model transformation.

As model transformations may be specified improperly despite the use of by-demonstration development approaches, we propose to employ formal verification techniques to detect inconsistent and erroneous transformations. In particular, we conjecture that methods drawn from software model checking and theorem proving might be employed to verify certain correctness properties of model transformations.

References

  1. R. J. R. Back. A calculus of refinements for program derivations. Acta Informatica, 25:593–624, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. D. Bisztray, R. Heckel, and H. Ehrig. Verification of Architectural Refactorings by Rule Extraction. In J. Fiadeiro and P. Inverardi, editors, FASE, volume 4961 of LNCS, pages 347–361. Springer, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. A. Boronat, R. Heckel, and J. Meseguer. Rewriting Logic Semantics and Verification of Model Transformations. In M. Chechik and M. Wirsing, editors, FASE, volume 5503 of LNCS, pages 18–33. Springer, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. P. Brosch, S. Gabmeyer, G. Kappel, and M. Seidl. On Formalizing EMF Modeling Operations with Graph Transformations. SIGSOFT Softw. Eng. Notes, 37(4):1–8, July 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. P. Brosch, M. Seidl, K. Wieland, M. Wimmer, and P. Langer. The Operation Recorder: Specifying Model Refactorings By-Example. In Companion to OOPSLA 2009, pages 791–792. ACM, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. H. Cirstea, L. Liquori, and B. Wack. Rewriting Calculus with Fixpoints: Untyped and First-Order Systems. In S. Berardi, M. Coppo, and F. Damiani, editors, Types for Proofs and Programs, volume 3085 of LNCS, pages 147–161. Springer, 2004.Google ScholarGoogle Scholar
  7. B. Courcelle. Monadic Second-Order Logic for Graphs: Algorithmic and Language Theoretical Applications. In A. H. Dediu, A.-M. Ionescu, and C. Mart´ın-Vide, editors, LATA, volume 5457 of LNCS, pages 19–22. Springer, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. M. Erwig and D. Ren. An update calculus for expressing type-safe program updates. Science of Computer Programming, 67(2-3):199 – 222, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. M. Fernández, I. Mackie, and J. S. Pinto. A Higher-Order Calculus for Graph Transformation. ENTCS, 72(1):45–58, 2007.Google ScholarGoogle Scholar
  10. A. Ghamarian, M. de Mol, A. Rensink, E. Zambon, and M. Zimakova. Modelling and analysis using GROOVE. International Journal on Software Tools for Technology Transfer (STTT), pages 1–26, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. G. Holzmann. The model checker SPIN. IEEE Trans. on Soft. Eng., 23(5):279 –295, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. P. Pepper. A simple calculus for program transformation (inclusive of induction). Science of Computer Programming, 9:221–262, December 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. A. Rensink. Towards model checking graph grammars. In S. Gruner and S. L. Presti, editors, Workshop on Automated Verification of Critical Systems (AVoCS), Southampton, UK, volume DSSE-TR-2003-02 of Technical Report, pages 150–160, Southampton, 2003.Google ScholarGoogle Scholar
  14. A. Rensink, A. Schmidt, and D. Varró. Model Checking Graph Transformations: A Comparison of Two Approaches. In H. Ehrig, G. Engels, F. Parisi-Presicce, and G. Rozenberg, editors, Graph Transformations, volume 3256 of LNCS, pages 219–222. Springer, 2004.Google ScholarGoogle Scholar
  15. M. Strecker. Modeling and Verifying Graph Transformations in Proof Assistants. ENTCS, 203(1):135–148, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. D. Varró. Automated formal verification of visual modeling languages by model checking. Software and Systems Modeling, 3:85–113, 2004.Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Formal verification techniques for model transformations specified by-demonstration

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader