Formalizing space shuttle software requirements
- 1 July 1998
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Software Engineering and Methodology
- Vol. 7 (3) , 296-332
- https://doi.org/10.1145/287000.287023
Abstract
This article describes four case studies in which requirements for new flight software subsystems on NASA's Space Shuttle were analyzed using mechanically supported formal methods. Three of the studies used standard formal specification and verification techniques, and the fourth used state exploration. These applications illustrate two thesis: (1) formal methods complement conventional requirements analysis processes effectively and (2) formal methods confer benefits even when only selectively adopted and applied. The studies also illustrate the interplay of application maturity level and formal methods strategy, especially in areas such as technology transfer, legacy applications, and rapid formalization, and they raise interesting issues in problem domain modeling and in tailoring formal techniques to applications.Keywords
This publication has 8 references indexed in Scilit:
- Feasibility of model checking software requirements: a case studyPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Formal requirements analysis of an avionics control systemIEEE Transactions on Software Engineering, 1997
- Formal methodsACM Computing Surveys, 1996
- Completeness and consistency in hierarchical state-based requirementsIEEE Transactions on Software Engineering, 1996
- Applying formal verification to the AAMP5 microprocessor: A case study in the industrial use of formal methodsFormal Methods in System Design, 1996
- Formal verification for fault-tolerant architectures: prolegomena to the design of PVSIEEE Transactions on Software Engineering, 1995
- Specifying a safety-critical control system in ZIEEE Transactions on Software Engineering, 1995
- Specifying Software Requirements for Complex Systems: New Techniques and Their ApplicationIEEE Transactions on Software Engineering, 1980