The Use of a Formal Simulator to Verify a Simple Real Time Control Program
We present an initial and elementary investigation of the formal specification and mechanical verification of programs that interact with environments. We describe a formal, mechanically produced proof that a simple, real time control program keeps a vehicle on a straightline course in a variable crosswind. To formalize the specification we define a mathematical function which models the interaction of the program and its environment. We then state and prove two theorems about this function: the simulated vehicle never gets farther than three units away from the intended course and homes to the course if the wind ever remains steady for at least four sampling intervals.
Key Phrasesautopilot formal specification real time control mechanical theorem-proving modeling program verification simulation.
Unable to display preview. Download preview PDF.
- American National Standards Institute Inc. American National Standard Programming Language FORTRAN. Technical Report ANSI X3.9-1978, American National Standards Institute Inc., 1430 Broadway, N.Y. 10018, April 1978.Google Scholar
- R. B. Anderson. Proving Programs Correct John Wiley amp; Sons, New York, 1979.Google Scholar
- A. M. Ballantyne and W. W. Bledsoe. Automatic Proofs of Theorems in Analysis using Non-standard Techniques. Technical Report ATP- 23, Department of Mathematics, University of Texas at Austin, July 1975.Google Scholar
- R. S. Boyer and J. S. Moore. The Mechanical Verification of a FORTRAN Square Root Program. SRI International, 1981.Google Scholar
- R. S. Boyer and J. S. Moore. MJRTY — A Fast Majority Vote Algorithm. Technical Report ICSCA-CMP-32, Institute for Computing Science and Computer Applications, University of Texas at Austin, 1982. Also available through Computational Logic, Inc., Suite 290, 1717 West Sixth Street, Austin, TX 78703.Google Scholar
- R. S. Boyer and J. S. Moore. A verification condition generator for FORTRAN. In R. S. Boyer and J. S. Moore, editors, The Correctness Problem in Computer Science, Academic Press, London, 1981.Google Scholar
- R. Floyd. Assigning meaning to programs. In Mathematical Aspects of Computer Science, Proceedings of Symposia in Applied Mathematics, pages 19–32, American Mathematical Society, Providence, Rhode Island, 1967.Google Scholar
- J. C. King. A Program Verifier. Ph.D. thesis, Carnegie-Mellon University, 1969.Google Scholar
- J. Moses. Algebraic simplification: a guide for the perplexed. ACM, 1971. 2nd Symposium on Symbolic and Algebraic Manipulations.Google Scholar
- United States of America Standards Institute. USA Standard FOR-TRAN. Technical Report USAS X3.9-1966, United States of America Standards Institute, 10 East 40th Street, New York 10016, 1966.Google Scholar