Validation of guidance control software requirements specification for reliability and fault-tolerance

A case study was performed to validate the integrity of a software requirements specification (SRS) for guidance control software (GCS) in terms of reliability and fault-tolerance. A partial verification of the GCS specification resulted. Two modeling formalisms were used to evaluate the SRS and to determine strategies for avoiding design defects and system failures. Z was applied first to detect and remove ambiguity from a part of the natural language based (NL-based) GCS SRS. Next, statecharts and activity-charts were constructed to visualize the Z description and make it executable. Using this formalism, the system behavior was assessed under normal and abnormal conditions. Faults were seeded into the model (i.e., an executable specification) to probe how the system would perform. The result of our analysis revealed that it is beneficial to construct a complete and consistent specification using this method (Z-to-statecharts). We discuss the significance of this approach, compare our work with similar studies, and propose approaches for improving fault tolerance. Our findings indicate that one can better understand the implications of the system requirements using Z-statecharts approach to facilitate their specification and analysis. Consequently, this approach can help to avoid the problems that result when incorrectly specified artifacts (i.e., in this case requirements) force corrective rework.

[1]  B. Edward Withers,et al.  Software requirements: Guidance and control software development specification , 1990 .

[2]  Jim Woodcock,et al.  Using Z - specification, refinement, and proof , 1996, Prentice Hall international series in computer science.

[3]  Marie-Claude Gaudel,et al.  The Role of Formal Specifications , 1999, Algebraic Foundations of Systems Specification.

[4]  Nancy G. Leveson,et al.  Safeware: System Safety and Computers , 1995 .

[5]  Dhiraj K. Pradhan,et al.  Fault-tolerant computer system design , 1996 .

[6]  Mats P. E. Heimdahl,et al.  Integrative analysis of state-based requirements for completeness and consistency , 1998 .

[7]  Jane Sinclair,et al.  Introduction to formal specification and Z , 1991, Prentice Hall International Series in Computer Science.

[8]  Robert Geisler,et al.  Specifying Safety-Critical Embedded Systems with Statecharts and Z: A Case Study , 1998, FASE.

[9]  Hans van Vliet,et al.  Software engineering - principles and practice , 1993 .

[10]  Jeffrey M. Voas,et al.  A 'Crystal Ball' for Software Liability , 1997, Computer.

[11]  Hardi Hungar,et al.  Statecharts: Using graphical specification languages and symbolic model checking in the verification of a production cell , 1995 .

[12]  G LevesonNancy,et al.  Completeness and Consistency in Hierarchical State-Based Requirements , 1996 .

[13]  David Harel,et al.  Modeling Reactive Systems With Statecharts : The Statemate Approach , 1998 .

[14]  Stefania Gnesi,et al.  An Automatic Quality Evaluation for Natural Language Requirements , 2001 .

[15]  Matthias Weber,et al.  A Steam-Boiler Control Specification with Statecharts and Z , 1995, Formal Methods for Industrial Applications.

[16]  Alan C. Shaw,et al.  Real-time systems and software , 2001 .

[17]  Ian Sommerville,et al.  Software engineering (6th ed.) , 2001 .

[18]  Myla Archer,et al.  Using Abstraction and Model Checking to Detect Safety Violations in Requirements Specifications , 1998, IEEE Trans. Software Eng..

[19]  Robert M. Hierons,et al.  Testing a system specified using Statecharts and Z , 2001, Inf. Softw. Technol..

[20]  Ian Sommerville,et al.  Requirements Engineering: Processes and Techniques , 1998 .

[21]  Jonathan Jacky,et al.  The Way of Z: Practical Programming with Formal Methods , 1996 .

[22]  Kathy Schwalbe,et al.  Information Technology Project Management , 1999 .

[23]  Frederick T. Sheldon,et al.  A case study: validation of guidance control software requirements for completeness, consistency and fault tolerance , 2001, Proceedings 2001 Pacific Rim International Symposium on Dependable Computing.

[24]  Maritta Heisel,et al.  Specifying embedded systems with statecharts and Z: an agenda for cyclic software components , 2001, Sci. Comput. Program..

[25]  Rodolfo Castelló,et al.  From informal specification to formalization: an automated visualization approach , 2000 .

[26]  Mike Holcombe,et al.  Statechart testing method for aircraft control systems , 2001, Softw. Test. Verification Reliab..

[27]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[28]  Xudong He,et al.  PZ nets a formal method integrating Petri nets with Z , 2001, Inf. Softw. Technol..