An Introduction to Requirements Capture Using PVS: Specification of a Simple Autopilot

This paper presents an introduction to capturing software requirements in the PVS formal language. The object of study is a simplified digital autopilot that was motivated in part by the mode control panel of NASA Langley''s Boeing 737 research aircraft. The paper first presents the requirements for this autopilot in English and then steps the reader through a translation of these requirements into formal mathematics. Along the way deficiencies in the English specification are noted and repaired. Once completed, the formal PVS requirement is analyzed using the PVS theorem prover and shown to maintain an invariant over its state space.

[1]  Ricky W Butler An Elementary Tutorial on Formal Specification and Verification Using PVS , 1993 .

[2]  Natarajan Shankar,et al.  Verification of Real-Time Systems Using PVS , 1993, CAV.

[3]  David L. Dill,et al.  Automatic verification of Pipelined Microprocessor Control , 1994, CAV.

[4]  Krishan K. Sabnani,et al.  A Calculus for Protocol Specification and Validation , 1983, Protocol Specification, Testing and Verification.

[5]  Mandayam K. Srivas,et al.  A Tutorial Introduction to PVS , 1998 .

[6]  Natarajan Shankar,et al.  Formal Verification for Fault-Tolerant Architectures: Prolegomena to the Design of PVS , 1995, IEEE Trans. Software Eng..

[7]  Constance L. Heitmeyer,et al.  SCR: a toolset for specifying and analyzing requirements , 1995, COMPASS '95 Proceedings of the Tenth Annual Conference on Computer Assurance Systems Integrity, Software Safety and Process Security'.

[8]  John Rushby,et al.  User guide for the pvs specification and verification system (beta release) , 1991 .

[9]  Edmund M. Clarke,et al.  Symbolic Model Checking: 10^20 States and Beyond , 1990, Inf. Comput..

[10]  Alan M. Davis,et al.  A comparison of techniques for the specification of external system behavior , 1988, CACM.

[11]  Stephen J. Garland,et al.  PVS: A Prototype . . . , 1992 .

[12]  Natarajan Shankar,et al.  A Tutorial on Using PVS for Hardware Verification , 1994, TPCD.

[13]  Natarajan Shankar,et al.  PVS: A Prototype Verification System , 1992, CADE.

[14]  W Butler Ricky,et al.  Formal Methods for Life-Critical Software , 1993 .