Correct Instantiation of a System Reconfiguration Pattern: A Proof and Refinement-Based Approach

System substitution can be defined as the capability to replace a system by another one that preserves the specification of the original one. It may occur in different reconfiguration situations like failure management or maintenance. When substituting a system at runtime, a key requirement is to correctly restore the state of the substituted one. This paper proposes a correct by construction generic model for system reconfiguration defined using formal methods, based on a system substitution operator. Systems are seen as state transition systems. This proposal relies on refinement and proofs. The formal development is conducted with the Event-B method. It consists in defining system substitution as a system composition operator associated to proof obligations. A generic formal model is developed using Event-B. Specific systems instantiate this generic model using a particular use of refinement-based on the definition of witnesses. This proposal is illustrated with an electronic commerce service.

[1]  Raffaela Mirandola,et al.  Adaptation space exploration for service-oriented applications , 2014, Sci. Comput. Program..

[2]  Elena Troubitsyna,et al.  A refinement-based approach to developing critical multi-agent systems , 2013, Int. J. Crit. Comput. Based Syst..

[3]  Tobias Nipkow,et al.  A Proof Assistant for Higher-Order Logic , 2002 .

[4]  Marc Pantel,et al.  Formal Verification of Runtime Compensation of Web Service Compositions: A Refinement and Proof Based Proposal with Event-B , 2015, 2015 IEEE International Conference on Services Computing.

[5]  Jean-Raymond Abrial,et al.  Modeling in event-b - system and software engineering by Jean-Raymond Abrial , 2010, SOEN.

[6]  Rodrigo Rodrigues,et al.  Automatic Reconfiguration for Large-Scale Reliable Storage Systems , 2012, IEEE Transactions on Dependable and Secure Computing.

[7]  Thai Son Hoang,et al.  Rodin: an open toolset for modelling and reasoning in Event-B , 2010, International Journal on Software Tools for Technology Transfer.

[8]  Alexander Romanovsky,et al.  Rigorous Development of Fault-Tolerant Systems through Co-refinement , 2014, Ada-Europe.

[9]  Yves Bertot,et al.  Interactive Theorem Proving and Program Development: Coq'Art The Calculus of Inductive Constructions , 2010 .

[10]  Danny Weyns,et al.  A Case Study on Formal Verification of Self-Adaptive Behaviors in a Decentralized System , 2012, FOCLASA.

[11]  Anirban Bhattacharyya,et al.  Formal modelling and analysis of dynamic reconfiguration of dependable systems , 2013 .