Abstract
In this chapter, we consider modeling and verification of reactive systems. We discuss why the correctness statement formalized for sequential programs is inadequate for reactive systems. We then formalize a different correctness statement based on refinements and derive a deductive recipe for proving such a correctness statement.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Any nondeterministic system that accepts a sequence of external inputs can be modeled as a deterministic system if any of the external inputs to the system do not depend somehow on any intermediate output produced by the system. This is because we can model the system with all the external inputs as being stored initially in one of the state component; whenever an external input is required that component is consulted for the appropriate stimulus.
- 2.
Throughout this chapter, we will make use of well-foundedness to formalize several arguments. We assume that we use a fixed well-founded structure ⟨o-p ≺, ≺ ⟩. In general, our framework may be thought to be parameterized over the well-founded structure used.
- 3.
One can extend GZ with an axiom positing the enumerability of the ACL2 universe, that is, the existence of a bijection between all ACL2 objects and the natural numbers. It is easy to see that the extended theory is consistent: there are models of GZ which are enumerable. The restriction of the legal inputs to only constitute good objects for the purpose of formalizing fairness is necessary if such an axiom is added. However, we did not go along that path since adding axioms incurs a certain amount of logical burden for soundness and also induces practical problems, for example, introduction of axioms cannot be local (to avoid risk of inconsistency), and hence, a book in which an axiom is defined cannot be locally included.
- 4.
This deficiency was pointed out to the author by John Matthews in a private conversation on October 20, 2005. The author is grateful to him for the contribution.
- 5.
Manolios [152] achieves this one-sided abstraction for branching time, by introducing proof rules for stuttering simulation.
References
M. Abadi and L. Lamport. The Existence of Refinement Mappings. Theoretical Computer Science, 82(2):253–284, May 1991.
K. R. Apt and D. Kozen. Limits for Automatic Verification of Finite-State Concurrent Systems. Information Processing Letters, 15:307–307, 1986.
P. Attie. Liveness-Preserving Simulation Relations. In J. Welch, editor, Proceedings of 18th ACM Symposium on Principles of Distributed Computing (PODC 1999), pages 63–72, Atlanta, GA, May 1999. ACM Press.
K. A. Barlett, R. A. Scantlebury, and P. C. Wilkinson. A Note on Reliable Full Duplex Transmission over Half Duplex Links. Communications of the ACM, 12, 1969.
M. Browne, E. M. Clarke, and O. Grumberg. Characterizing Finite Kripke Structures in Propositional Temporal Logic. Theoretical Computer Science, 59, 1988.
K. M. Chandy and J. Misra. Parallel Program Design: A Foundation. Addison-Wesley, Cambridge, MA, 1990.
C. Chou and D. Peled. Formal Verification of a Partial-Order Reduction Technique for Model Checking. Journal of Automated Reasoning, 23(3-4):265–298, 1999.
E. M. Clarke, O. Grumberg, and D. A. Peled. Model-Checking. The MIT Press, Cambridge, MA, January 2000.
E. A. Emerson and V. Kahlon. Reducing Model Checking of the Many to the Few. In D. A. McAllester, editor, Proceedings of the 17th International Conference on Automated Deduction (CADE 2000), volume 1831 of LNCS, pages 236–254, Pittsburg, PA, July 2000. Springer-Verlag.
K. Engelhardt and W. P. de Roever. Generalizing Abadi & Lamport’s Method to Solve a Problem Posed by Pnueli. In J. Woodcock and P. G. Larsen, editors, Industrial-Strength Formal Methods, 1st International Symposium of Formal Methods Europe, volume 670 of LNCS, pages 294–313, Odense, Denmark, April 1993. Springer-Verlag.
D. M. Goldshlag. Mechanically Verifying Concurrent Programs with the Boyer-Moore Prover. IEEE Transactions on Software Engineering, 16(9):1005–1023, 1990.
W. Hesselink. Eternity Variables to Simulate Specification. In Proceedings of Mathematics of Program Construction, volume 2386 of LNCS, pages 117–130, Dagstuhl, Germany, 2002. Springer-Verlag.
B. Jonsson, A. Pnueli, and C. Rump. Proving Refinement Using Transduction. Distributed Computing, 12(2-3):129–149, 1999.
L. Lamport. Specifying Concurrent Program Modules. ACM Transactions on Programming Languages and Systems (ACM TOPLAS), 5(2):190–222, April 1983.
L. Lamport. What Good is Temporal Logic? Information Processing, 83:657–688, 1983.
L. Lamport. The Temporal Logic of Actions. ACM Transactions on Programming Languages and Systems (ACM TOPLAS), 16(3):827–923, May 1994.
P. Manolios. A Compositional Theory of Refinement for Branching Time. In D. Geist, editor, Proceedings of the 12th Working Conference on Correct Hardware Design and Verification Methods, volume 2860 of LNCS, pages 304–218, L‘Aquila, Italy, 2003. Springer-Verlag.
P. Manolios, K. Namjoshi, and R. Sumners. Linking Model-Checking and Theorem-Proving with Well-Founded Bisimulations. In N. Halbwacha and D. Peled, editors, Proceedings of the 11th International Conference on Computer-Aided Verification (CAV 1999), volume 1633 of LNCS, pages 369–379, Trento, Italy, 1999. Springer-Verlag.
K. McMillan, S. Qadeer, and J. Saxe. Induction in Compositional Model Checking. In E. A. Emerson and A. P. Sistla, editors, Proceedings of the 12th International Conference on Computer-Aided Verification (CAV 2000), volume 1855 of LNCS, Chicago, IL, July 2000. Springer-Verlag.
R. Milner. Communication and Concurrency. Prentice-Hall, 1990.
K. Namjoshi. A Simple Characterization of Stuttering Bisimulation. In S. Ramesh and G. Sivakumar, editors, Proceedings of the 17th International Conference on Foundations of Software Technology and Theoretical Computer Science (FSTTCS 1997), volume 1346 of LNCS, pages 284–296, Kharagpur, India, 1997. Springer-Verlag.
D. Park. Concurrency and Automata on Infinite Sequences. In Proceedings of the 5th GI-Conference on Theoretical Computer Science, volume 104 of LNCS, pages 167–183, Karlsruhe, Germany, 1981. Springer-Verlag.
L. Paulson. Mechanizing UNITY in Isabelle. 1(1):3–32, 2000.
A. Pnueli. Linear and Branching Structures in the Semantics and Logics of Reactive Systems. In W. Brauer, editor, Proceedings of the 12th International Colloquium on Automata, Languages, and Programming (ICALP 1985), volume 194 of LNCS, pages 15–32, Nafplion, Greece, 1985. Springer-Verlag.
R. Sumners. Fair Environment Assumptions in ACL2. In W. A. Hunt, Jr., M. Kaufmann, and J. S. Moore, editors, 4th International Workshop on the ACL2 Theorem Prover and Its Applications (ACL2 2003), Boulder, CO, July 2003.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2010 Springer Science+Business Media, LLC
About this chapter
Cite this chapter
Ray, S. (2010). Reactive Systems. In: Scalable Techniques for Formal Verification. Springer, Boston, MA. https://doi.org/10.1007/978-1-4419-5998-0_7
Download citation
DOI: https://doi.org/10.1007/978-1-4419-5998-0_7
Published:
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4419-5997-3
Online ISBN: 978-1-4419-5998-0
eBook Packages: EngineeringEngineering (R0)