Patterns for Refinement Automation [chapter]

Alexei Iliasov, Elena Troubitsyna, Linas Laibinis, Alexander Romanovsky
2010 Lecture Notes in Computer Science  
Formal modelling is indispensable for engineering highly dependable systems. However, a wider acceptance of formal methods is hindered by their in-sufficient usability and scalability. In this paper, we aim at assisting developers in rigorous modelling and design by increasing automation of development steps. We introduce a notion of refinement patterns -generic representations of typical correctnesspreserving model transformations. Our definition of a refinement pattern contains a description
more » ... f syntactic model transformations, as well as the pattern applicability conditions and proof obligations for verification of correctness preservation. This establishes a basis for building a tool supporting formal system development via pattern reuse and instantiation. We present a prototype of such a tool and some examples of refinement patterns for automated development in the Event B formalism. Abstract Formal modelling is indispensable for engineering highly dependable systems. However, a wider acceptance of formal methods is hindered by their in-sufficient usability and scalability. In this paper, we aim at assisting developers in rigorous modelling and design by increasing automation of development steps. We introduce a notion of refinement patterns -generic representations of typical correctness-preserving model transformations. Our definition of a refinement pattern contains a description of syntactic model transformations, as well as the pattern applicability conditions and proof obligations for verification of correctness preservation. This establishes a basis for building a tool supporting formal system development via pattern reuse and instantiation. We present a prototype of such a tool and some examples of refinement patterns for automated development in the Event B formalism. About the author Alexei Ilasov is a Research Associate within the School of Computing Science, Newcastle University. Alexander Romanovsky is a Research Professor. He has been involved in a number of ESPRIT, FP and EPSRC/UK projects on system dependability within which a wide range of general fault tolerance mechanisms and architectures have been developed (DSoS, PDCS, DeVa, CaberNet, MAFTIA, ReSIST, DISCS, RODIN). He has been a co-investigator of two EPSRC/UK projects (DOTS and TrAmS). Now he is coordinating a major FP7 Integrated Project DEPLOY aiming to make major advances in engineering methods for dependable systems through the deployment of formal engineering methods in 5 sectors of European industry. His main interests are in fault tolerance, rigorous design of resilient systems, software architectures, exception handing, mobile agents and service oriented architectures. Abstract. Formal modelling is indispensable for engineering highly dependable systems. However, a wider acceptance of formal methods is hindered by their insufficient usability and scalability. In this paper, we aim at assisting developers in rigorous modelling and design by increasing automation of development steps. We introduce a notion of refinement patterns -generic representations of typical correctness-preserving model transformations. Our definition of a refinement pattern contains a description of syntactic model transformations, as well as the pattern applicability conditions and proof obligations for verification of correctness preservation. This establishes a basis for building a tool supporting formal system development via pattern reuse and instantiation. We present a prototype of such a tool and some examples of refinement patterns for automated development in the Event B formalism.
doi:10.1007/978-3-642-17071-3_4 fatcat:7a3nrpg6avdavaal6r7wsafknu