Abstract.
This paper describes an experiment conducted to determine how effectively formal methods could be used to capture and validate the requirements of a typical embedded system. A model of the mode logic of a Flight Guidance System was specified in the RSML − e notation and translated into the NuSMV model checker and the PVS theorem prover. These tools were then used to verify several hundred properties of the RSML − e model. In the process, several errors were discovered and corrected in the original model. This demonstrates that formal requirements models can be written for real problems and that formal analysis tools have matured to the point where they can be used to find errors before implementation. It also points out a clear relationship between requirements stated informally as "shalls", formal properties, and requirements models.
This project was partially funded by the NASA Langley Research Center under contract NCC1-01001 of the Aviation Safety Program.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Brooks, F.: No Silver Bullet: Essence and Accidents of Software Engineering. IEEE Computer, Los Alamitos (April 1987)
Boehm, B.: Software Engineering Economics. Prentice-Hall, Englewood Cliffs (1981)
Davis, A.: Software Requirements (Revised): Object, Functions, and States. Prentice-Hall, Englewood Cliffs (1993)
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 (1990)
Ramamoorthy, C., Prakesh, A., Tsai, W., Usuda, Y.: Software Engineering: Problems and Perspectives, October 1984, pp. 191–209. IEEE Computer, Los Alamitos (1984)
Leveson, N.: Safeware: System Safety and Computers. Addison-Wesley Publishing Company, Reading (1995)
Lutz, R.: Analyzing Software Requirements Errors in Safety-Critical, Embedded, Systems. In: IEEE International Symposium on Requirements Engineering, San Diego, CA (January 1993)
Heitmeyer, C., Jeffords, R., Labaw, B.: Automated Consistency Checking of Requirements Specification. ACM Transactions on Software Engineering and Methodology (TOSEM) 5(3), 231–261 (1996)
Parnas, D., Madey, J.: Functional Documentation for Computer Systems Engineering (Vol. 2), Technical Report CRL 237, McMaster University, Hamilton, Ontario (September 1991)
Faulk, S., Brackett, J., Ward, P., Kirby, J.: The CoRE Method for Real-Time Requirements. IEEE Software 9(5), 22–33 (1992)
Faulk, S., Finneran, L., Kirby, J., Shah, S., Sutton, J.: Experience Applying the CoRE Method to the Lockheed C-130J Software Requirements. In: Proceedings of the Ninth Annual Conference on Computer Assurance, Gaithersburg, MD, June 1994, pp. 3–8 (1994)
Leveson, N., Heimdahl, M., Hildreth, H., Reese, J.: Requirements Specifications for Process- Control Systems. IEEE Transactions on Software Engineering 20(9), 684–707 (1994)
Harel, H., Naamad, A.: The STATEMATE Semantics of Statecharts. ACM Transactions on Software Engineering and Methodology 5(4), 293–333 (1996)
Miller, S.: Specifying the Mode Logic of a Flight Guidance System in CoRE and SCR. In: Proceedings of The Second Annual Workshop on Formal Methods in Software Practice (FMSP 1998), Clearwater Beach, Florida, March 4-5 (1998)
Butler, R., Miller, S., Potts, J., Carreno, V.: A Formal Methods Approach to the Analysis of Mode Confusion. In: Proceedings of the 17th AIAA/IEEE Digital Avionics Systems Conference, Bellevue, WA (October 1998)
Miller, S., Tribble, A.: A Methodology for Improving Mode Awareness in Flight Guidance Design. In: Proceedings of the 21st Digital Avionics Systems Conference (DASC 2002), Irvine, CA (October 2002)
Tribble, A., Lempia, D., Miller, S.: Software Safety Analysis of a Flight Guidance System. In: Proceedings of the 21st Digital Avionics Systems Conference (DASC 2002), Irvine, CA (October 2002)
Thompson, J., Heimdahl, M., Miller, S.: Specification Based Prototyping for Embedded Systems. In: Nierstrasz, O., Lemoine, M. (eds.) ESEC 1999 and ESEC-FSE 1999. LNCS, vol. 1687, p. 163. Springer, Heidelberg (1999)
Berry, G., Gonthier, G.: The Synchronous Programming Lanugage Esterel: Design, Semantics, and Implementation. Science of Computer Programming 19, 87–152 (1992)
Thompson, J., Heimdahl, M., Miller, S.: Specification Based Prototyping for Embedded Systems. In: Nierstrasz, O., Lemoine, M. (eds.) ESEC 1999 and ESEC-FSE 1999. LNCS, vol. 1687, p. 163. Springer, Heidelberg (1999)
Clarke, E., Grumberg, O., Peled, P.: Model Checking. The MIT Press, Cambridge (2001)
Anonymous, NuSMV Home Page, http://nusmv.irst.itc.it/
Owre, S., Rushby, J., Shankar, N., Henke, F.: Formal Verification for Fault-Tolerant Architectures: Prolegomena to the Design of PVS. IEEE Transactions on Software Engineering 21(2), 107–125 (1995)
Anonymous, PVS Home Page, http://www.csl.sri.com/projects/pvs/
Miller, S., Tribble, A., Carlson, T., Danielson, E.: Flight Guidance System Requirements Specification Final Report, NASA Contractor Report (November 2001)
Heimdahl, M., Rayadurgam, S., Choi, Y., Joshi, A., Devaraj, G.: Proof and Model Checking Tools Final Report, NASA Contractor Report (November 2002)
Tribble, A.: FGS Safety Analysis Final Report, NASA Contractor Report (November 2002)
Billings, C.: Aviation Automation: the Search for a Human Centered Approach. Lawrence Erlbaum Associates, Inc., Mahwah (1997)
Sarter, N., Woods, D.: Pilot Interaction with Cockpit Automation: Operational Experiences with the Flight Management System. The International Journal of Aviation Psychology 2(4), 303–331 (1992)
Sarter, N., Woods, D.: Pilot Interaction with Cockpit Automation II: An Experimental Study of Pilots’ Model and Awareness of the Flight Management System. The International Journal of Aviation Psychology 4(1), 1–28 (1994)
Sarter, N., Woods, D.: How in the World Did I Ever Get Into That Mode? Mode Error and Awareness in Supervisory Control, Human Factors 37(1), 5–19 (1995)
Miller, S.: Taxonomy of Mode Confusion Sources Final Report, NASA Contractor Report (February 2001)
Leveson, N., et al.: Analyzing Software Specifications for Mode Confusion Potential. In: Johnson, C.W. (ed.) Proceedings of a Workshop on Human Error and System Development, Glasgow, Scotland, March 1997, pp. 132–146 (1997)
Rushby, J.: Analyzing Cockpit Interfaces Using Formal Methods. Electronic Notes in Theoretical Computer Science 43 (2001), URL: http://wwww.elsevier.nl/locate/entcs/volume43.html
Rushby, J.: Using Model Checking to Help Discover Mode Confusions and Other Automation Surprises. In: The Proceedings of the 3rd Workshop on Human Error, Safety, and System Development (HESSD 1999), Liege, Belgium, June 7-8 (1999)
Rushby, J., Crow, J., Palmer, E.: An Automated Method to Detect Potential Mode Confusion. In: The Proceedings of the 18th AIAA/IEEE Digital Avionics Systems Conference (DASC), St. Louis, MO (October 1999)
Miller, S., Joshi, A.: FGS Mode Awareness Final Report, NASA Contractor Report (November 2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Miller, S.P., Tribble, A.C., Heimdahl, M.P.E. (2003). Proving the Shalls. In: Araki, K., Gnesi, S., Mandrioli, D. (eds) FME 2003: Formal Methods. FME 2003. Lecture Notes in Computer Science, vol 2805. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-45236-2_6
Download citation
DOI: https://doi.org/10.1007/978-3-540-45236-2_6
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-40828-4
Online ISBN: 978-3-540-45236-2
eBook Packages: Springer Book Archive