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.
- R. J. R. Back. A calculus of refinements for program derivations. Acta Informatica, 25:593–624, 1988. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- M. Fernández, I. Mackie, and J. S. Pinto. A Higher-Order Calculus for Graph Transformation. ENTCS, 72(1):45–58, 2007.Google Scholar
- 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 ScholarDigital Library
- G. Holzmann. The model checker SPIN. IEEE Trans. on Soft. Eng., 23(5):279 –295, 1997. Google ScholarDigital Library
- P. Pepper. A simple calculus for program transformation (inclusive of induction). Science of Computer Programming, 9:221–262, December 1987. Google ScholarDigital Library
- 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 Scholar
- 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 Scholar
- M. Strecker. Modeling and Verifying Graph Transformations in Proof Assistants. ENTCS, 203(1):135–148, 2008. Google ScholarDigital Library
- D. Varró. Automated formal verification of visual modeling languages by model checking. Software and Systems Modeling, 3:85–113, 2004.Google ScholarDigital Library
Index Terms
- Formal verification techniques for model transformations specified by-demonstration
Recommendations
Constraint-based specification of model transformations
Highlights A declarative specification approach for model transformations is provided, at a higher level of abstraction than rule-based model transformation languages. A systematic process for correct-by-construction of implementations from these ...
Verification of Model Transformations
Within the Model-Driven Engineering paradigm, software development is based on the definition of models providing different views of the system to be constructed and model transformations supporting a (semi)automatic development process. The ...
A Tridimensional Approach for Studying the Formal Verification of Model Transformations
ICST '12: Proceedings of the 2012 IEEE Fifth International Conference on Software Testing, Verification and ValidationIn Model Driven Engineering (MDE), models are first-class citizens, and model transformation is MDE's "heart and soul". Since model transformations are executed for a family of conforming models, their validity becomes a crucial issue. This paper ...
Comments