On Methods for the Formal Specification of Fault Tolerant Systems

This paper introduces different views for understanding problems and faults with the goal of defining a method for the formal specification of systems. The idea of Layered Fault Tolerant Specification (LFTS) is proposed to make the method extensible to fault tolerant systems. The principle is layering the specification in different levels, the first one for the normal behavior and the others for the abnormal. The abnormal behavior is described in terms of an Error Injector (EI), which represents a model of the erroneous interference coming from the environment. This structure has been inspired by the notion of idealized fault tolerant component but the combination of LFTS and EI using Rely/Guarantee reasoning to describe their interaction can be considered as a novel contribution. The progress toward this method and this way to organize fault tolerant specifications has been made experimenting on case studies and an example is presented.

[1]  Kurt Bittner,et al.  Use Case Modeling , 2002 .

[2]  Manuel Mazzara,et al.  On Modelling and Analysis of Dynamic Reconfiguration of Dependable Real-Time Systems , 2010, 2010 Third International Conference on Dependability.

[3]  Bertrand Meyer,et al.  Specification Language , 1980, On the Construction of Programs.

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

[5]  Jos C. M. Baeten,et al.  A brief history of process algebra , 2005, Theor. Comput. Sci..

[6]  Grady Booch,et al.  Object-Oriented Analysis and Design with Applications , 1990 .

[7]  Mike Mannion,et al.  SMART requirements , 1995, SOEN.

[8]  Cliff B. Jones,et al.  Tentative steps toward a development method for interfering programs , 1983, TOPL.

[9]  M. Mazzara,et al.  Different Perspectives for Reasoning about Problems and Faults , 2009 .

[10]  Helen M. Edwards,et al.  Problem frames: analyzing and structuring software development problems , 2002, Softw. Test. Verification Reliab..

[11]  Cliff B. Jones,et al.  Specification and Design of (Parallel) Programs , 1983, IFIP Congress.

[12]  Joey W. Coleman,et al.  Examples of how to Determine the Specifications of Control Systems , 2005 .

[13]  Cliff B. Jones,et al.  Enhancing the tractability of rely/guarantee specifications in the development of interfering operations , 2000, Proof, Language, and Interaction.

[14]  Cliff B. Jones,et al.  Deriving Specifications for Systems That Are Connected to the Physical World , 2007, Formal Methods and Hybrid Real-Time Systems.

[15]  C. A. R. HOARE,et al.  An axiomatic basis for computer programming , 1969, CACM.

[16]  Manuel Mazzara,et al.  Deriving Specifications of Dependable Systems: toward a Method , 2010, ArXiv.