Formal Verification of Relational Model Transformations using an Intermediate Verification Language

Zheng Cheng

2015

Abstract

Model-driven engineering has been recognised as an effective way to manage the complexity of software development. Model transformation is widely acknowledged as one of the central ingredients of Model-driven engineering. Among different paradigms of model transformations, I specifically interest in relational model transformations for their mapping-style nature. Proving the correctness of relational model transformation is my major concern. Here "correctness" means implicit assumptions about the relational model transformation. These assumptions can be made explicitly via annotations, so-called contracts. In particular, my main objective is to design a static verifier for the target relational model transformation language by applying formal methods, which allows the designed verifier to analyse annotated relational model transformation and check that the given correctness contracts are never violated. I aim at modular, reusable and reliable verifier designing. Thus, I develop the VeriMTLr framework. It assists in designing verifiers that allow automatic theorem proving of the correctness of relational model transformation. VeriMTLr draws on the Boogie intermediate verification language to systematically designing modular and reusable verifier for a target relational model transformation language. The framework encapsulates the memory model (for formalizing metamodels) and the contract libraries (which formalises OCL, SET theory and first order logic) to reduce coding costs and time of verifier construction. Furthermore, VeriMTLr encapsulates the EMFTVM bytecode formalisation, which enables automated translation validation approach (from compiler verification) to ensure the reliability of the verification result of designed verifier. Three use cases of the VeriMTLr framework are demonstrated. I also identify the limitations of VeriMTLr, and outline the future works for its development.

References

  1. Ab. Rahim, L. and Whittle, J. (2014). A survey of approaches for verifying model transformations. Software & Systems Modeling, Pre-Printing.
  2. Anastasakis, K., Bordbar, B., and K üster., J. M. (2007). Analysis of model transformations via Alloy. MODEVVA'07, Workshop on Model-Driven Engineering, Verification and Validation.
  3. Apt, K. R., de Boer, F. S., and Olderog, E.-R. (2009). Verification of Sequential and Concurrent Programs. Springer, 3rd edition.
  4. Barnett, M., Chang, B.-Y. E., DeLine, R., Jacobs, B., and Leino, K. R. M. (2006). Boogie: A modular reusable verifier for object-oriented programs. In FMCO'06, 4th International Conference on Formal Methods for Components and Objects. Springer.
  5. Barnett, M., DeLine, R., Fähndrich, M., Leino, K. R. M., and Schulte, W. (2004). Verification of object-oriented programs with invariants. Journal of Object Technology, 3.
  6. Büttner, F., Egea, M., Cabot, J., and Gogolla, M. (2012). On verifying ATL transformations using 'off-the-shelf' SMT solvers. In MoDELS'12, 15th International Conference on Model Driven Engineering Languages and Systems. Springer.
  7. Calegari, D., Luna, C., Szasz, N., and Tasistro, Aˆ . (2011). A type-theoretic framework for certified model transformations. In SBMF'11, 14th Brazilian Symposium on Formal Methods. Springer.
  8. Chan, K. (2006). Formal proofs for QoS-oriented transformations. In EDOCW 7806, 10th IEEE International Conference Workshops on Enterprise Distributed Object Computing. IEEE.
  9. Cheng, Z., Monahan, R., and Power, J. F. (2013). Online repository for VeriATL system. https://github.com/veriatl/veriatl.
  10. Combemale, B., Crégut, X., Garoche, P., and Thirioux, X. (2009). Essay on semantics definition in MDE - an instrumented approach for model verification. Journal of Software, 4(9).
  11. Czarnecki, K. and Helsen, S. (2006). Feature-based survey of model transformation approaches. IBM Systems Journal - Model-driven software development, 45(3).
  12. de Moura, L. and Bjørner, N. (2008). Z3: An efficient SMT solver. In TACAS'08, 14th International Conference on Tools and Algorithms for the Construction and Analysis of Systems. Springer.
  13. Filliaˆtre, J.-C. (2013). One logic to use them all. In CADE'13, 24th International Conference on Automated Deduction. Springer.
  14. Guerra, E. and de Lara, J. (2014). Colouring: execution, debug and analysis of QVT-relations transformations through coloured Petri nets. Software & Systems Modeling, 13(4).
  15. Huth, M. and Ryan, M. (2004). Logic in Computer Science. Cambridge University Press, 2nd edition.
  16. Jackson, D. (2006). Software Abstractions: Logic, Language, and Analysis. The MIT Press.
  17. Jackson, E. K., Levendovszky, T., and Balasubramanian, D. (2011). Reasoning about metamodeling with formal specifications and automatic proofs. In MODELS'11, 14th International Conference on Model Driven Engineering Languages and Systems. Springer.
  18. Jouault, F., Allilaire, F., Bézivin, J., and Kurtev, I. (2008). ATL: A model transformation tool. Science of Computer Programming, 72(1-2).
  19. Lano, K., Clark, T., and Kolahdouz-Rahimi, S. (2014). A framework for model transformation verification. Formal Aspects of Computing, Pre-Printing.
  20. Lehner, H. and Müller, P. (2007). Formal translation of bytecode into BoogiePL. Electronic Notes in Theoretical Computer Science, 190(1).
  21. Leino, K. R. M. (2010). Dafny: An automatic program verifier for functional correctness. In LPAR'10, 16th International Conference on Logic for Programming, Artificial Intelligence, and Reasoning. Springer.
  22. Leino, K. R. M. and Monahan, R. (2009). Reasoning about comprehensions with first-order SMT solvers. In SAC 7809, ACM Symposium on Applied Computing. ACM.
  23. Leroy, X. (2006). Formal certification of a compiler backend or: Programming a compiler with a proof assistant. SIGPLAN Notices, 41(1).
  24. Lúcio, L., Barroca, B., and Amaral, V. (2010). A technique for automatic validation of model transformations. In MoDELS'10, 13th International Conference on Model Driven Engineering Languages and Systems. Springer.
  25. Lúcio, L. and Vangheluwe, H. (2013). Model transformations to verify model transformations. VOLT'13, Workshop on Verification And Validation Of Model Transformations.
  26. Plump, D. (1998). Termination of graph rewriting is undecidable. Fundamenta Informaticae, 33(2).
  27. Plump, D. (2005). Confluence of graph transformation revisited. In Processes, Terms and Cycles. Springer.
  28. Poernomo, I. (2008). Proofs-as-model-transformations. In ICMT'08, 1st International Conference on Model Transformation. Springer.
  29. Poernomo, I. and Terrell, J. (2010). Correct-by-construction model transformations from partially ordered specifications in Coq. In ICFEM'10, 12th International Conference on Formal Engineering Methods. Springer.
  30. Stenzel, K. (2004). A formally verified calculus for full Java card. In Algebraic Methodology and Software Technology, volume 3116. Springer.
  31. Troya, J. and Vallecillo, A. (2011). A rewriting logic semantics for ATL. Journal of Object Technology, 10.
  32. Vaziri, M. and Jackson, D. (2000). Some shortcomings of OCL, the object constraint language of UML. In TOOLS 7800, 34th Technology of Object-Oriented Languages and Systems. IEEE.
  33. Wagelaar, D., Tisi, M., Cabot, J., and Jouault, F. (2011). Towards a general composition semantics for rule-based model transformation. In MoDELS'11, 14th International Conference on Model Driven Engineering Languages and Systems. Springer.
  34. Wimmer, M., Kappel, G., Kusel, A., Retschitzegger, W., Schoenboeck, J., and Schwinger, W. (2009). Right or wrong? - verification of model transformations using colored Petri nets. DSM'09, 9th OOPSLA Workshop on Domain-Specific Modeling.
Download


Paper Citation


in Harvard Style

Cheng Z. (2015). Formal Verification of Relational Model Transformations using an Intermediate Verification Language . In Doctoral Consortium - DCMODELSWARD, (MODELSWARD 2015) ISBN , pages 3-10


in Bibtex Style

@conference{dcmodelsward15,
author={Zheng Cheng},
title={Formal Verification of Relational Model Transformations using an Intermediate Verification Language},
booktitle={Doctoral Consortium - DCMODELSWARD, (MODELSWARD 2015)},
year={2015},
pages={3-10},
publisher={SciTePress},
organization={INSTICC},
doi={},
isbn={},
}


in EndNote Style

TY - CONF
JO - Doctoral Consortium - DCMODELSWARD, (MODELSWARD 2015)
TI - Formal Verification of Relational Model Transformations using an Intermediate Verification Language
SN -
AU - Cheng Z.
PY - 2015
SP - 3
EP - 10
DO -