Providing the shalls

Steven P. Miller1, Alan C. Tribble1, Michael W. Whalen1, Mats P. E. Heimdahl2
1Rockwell Collins Inc., Cedar Rapids, USA
2Department of Computer Science and Engineering, University of Minnesota, Minneapolis, USA

Tóm tắt

Incomplete, inaccurate, ambiguous, and volatile requirements have plagued the software industry since its inception. The convergence of model-based development and formal methods offers developers of safety-critical systems a powerful new approach to the early validation of requirements. This paper describes an exercise conducted to determine if formal methods could be used to validate system requirements early in the lifecycle at reasonable cost. Several hundred functional and safety requirements for the mode logic of a typical flight guidance system were captured as natural language “shall” statements. A formal model of the mode logic was written in the RSML−e language and translated into the NuSMV model checker and the PVS theorem prover using translators developed as part of the project. Each “shall” statement was manually translated into a NuSMV or PVS property and proven using these tools. Numerous errors were found in both the original requirements and the RSML−e model. This demonstrates that formal models can be written for realistic systems and that formal analysis tools have matured to the point where they can be effectively used to find errors before implementation.

Tài liệu tham khảo

Anonymous. Esterel Technologies Home Page. http://wwww.esterel-technologies.com

Anonymous. NASA Software Assurance Technology Center Formal Inspections Page. http://satc.gsfc.nasa. gov/fi/fipage.html

Anonymous. NuSMV Home Page. http://nusmv.irst. itc.it/

Anonymous. PVS Home Page. http://www.csl.sri. com/projects/pvs

Anonymous. The MathWorks Home Page. http:// wwww.mathworks.com

Berry, G., Gonthier, G.: The synchronous programming lanugage esterel: design, semantics, and implementation. Sci. Comput. Prog. 19, 87–152 (1992)

Boehm, B.: Software Engineering Economics. Prentice-Hall, Englewood Cliffs, NJ (1981)

Clark, E., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge, MA (2001)

de Moura, L.: SAL: Tutorial. SRI International, Computer Science Laboratory. Menlo Park, CA (Jan. 2004)

Leveson, N., Heimdahl, M., Hildreth, H., Reese, J.: TCAS II Collision Avoidance System CAS System Requirements Specification change 6.00. Federal Aviation Administration, U.S. Department of Transportation (1993)

Miller, S.: Taxonomy of mode confusion sources—final report. In: NASA Contractor Report (Feb. 2001)

Parnas, D., Madey, J.: Functional documentation for computer systems engineering (vol. 2). Technical Report CRL 237, McMaster University, Hamilton, Ontario, Canada (Sept. 1990)

Rushby, J.: Analyzing cockpit interfaces using formal models. Electron. Notes Theor. Comput. Sci. 43, 1–14 (2001)

Tribble, A., Miller, S.: Safety analysis of a flight guidance system. In: 21st Digital Avionics Systems Conference (DASC′02), vol. 2, pp. 13C1-1–13C1-10. Irvine, CA (Oct. 2002)

van Schouwen, A.: The A-7 requirements model: re-examination for real-time systems and an application to monitoring systems. Technical Report 90-276, Queens University, Hamilton, Ontario, Canada (1990)

Whalen, M.W.: A formal semantics for RSML−e. Master's thesis, University of Minnesota (May 2000)

Whalen, M.W.: Trustworthy translation for RSML−e. PhD thesis, University of Minnesota (Dec. 2004)