A Rigorous Reasoning about Model Transformations Using the B Method

A crucial idea of Model Driven Engineering is that model transformation can be described uniformly in terms of meta-model mappings. Based on the fact that meta-models define an abstract syntax from which one can describe elements of modeling languages, transformation rules that arise from MDA-based techniques are often described as explicit and clear. However, one of the remaining difficulties is to check the correctness of these transformations in order to prove that they preserve constraints which may be expressed over meta-models. Currently, the MDE gives methodological issues for the use of OCL to express these constraints but without providing automated formal reasonings. This paper discusses how a formal method, such as B, can be used in an MDE process in order to rigourously reason about meta-models and associated model transformations. We propose to adapt existing UML-to-B techniques in order to obtain a formal specification of meta-models and hence the various constraints can be introduced using B invariants. We also show how transformation rules can be encoded using B operations and what kinds of reasoning can be performed on the resulting B specifications. Such a technique allows to assist the MDE by proof and animation tools.

[1]  Amel Mammar,et al.  From a B formal specification to an executable code: application to the relational database domain , 2006, Inf. Softw. Technol..

[2]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[3]  Andy Schürr,et al.  Formal Definition of MOF 2.0 Metamodel Components and Composition , 2008, MoDELS.

[4]  Peter A. Lindsay,et al.  FME 2002:Formal Methods—Getting IT Right , 2002, Lecture Notes in Computer Science.

[5]  Hubert Dubois,et al.  Proving Model Transformations , 2010, 2010 4th IEEE International Symposium on Theoretical Aspects of Software Engineering.

[6]  Frédéric Jouault,et al.  Transforming Models with ATL , 2005, MoDELS.

[7]  Jean Bézivin,et al.  ATL: A model transformation tool , 2008, Sci. Comput. Program..

[8]  Colin F. Snook,et al.  UML-B: Formal modeling and design aided by UML , 2006, TSEM.

[9]  Jean-Pierre Jacquot,et al.  Consistency in UML and B Multi-view Specifications , 2005, IFM.

[10]  Régine Laleau,et al.  Coming and Going from UML to B: A Proposal to Support Traceability in Rigorous IS Development , 2002, ZB.

[11]  Manfred Nagl,et al.  Applications of Graph Transformations with Industrial Relevance , 2004, Lecture Notes in Computer Science.

[12]  Jim Steel,et al.  Metamodel-based Test Generation for Model Transformations: an Algorithm and a Tool , 2006, 2006 17th International Symposium on Software Reliability Engineering.

[13]  Stefania Gnesi,et al.  FME 2003: Formal Methods: International Symposium of Formal Methods Europe, Pisa, Italy, September 8-14, 2003. Proceedings , 2003, Lecture Notes in Computer Science.

[14]  Bruno Legeard,et al.  Automated Boundary Testing from Z and B , 2002, FME.

[15]  Ivan Kurtev,et al.  State of the Art of QVT: A Model Transformation Language Standard , 2008, AGTIVE.

[16]  Jonathan P. Bowen,et al.  ZB 2002:Formal Specification and Development in Z and B , 2002, Lecture Notes in Computer Science.

[17]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

[18]  Jean-Michel Bruel,et al.  Satellite Events at the MoDELS 2005 Conference , 2006 .

[19]  Michael J. Butler,et al.  ProB: A Model Checker for B , 2003, FME.