Advertisement

Deductive Verification of Modular Systems

  • Bernd Finkbeiner
  • Zohar Manna
  • Henny B. Sipma
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1536)

Abstract

Effective verification methods, both deductive and algorithmic, exist for the verification of global system properties. In this paper, we introduce a formal framework for the modular description and verification of parameterized fair transition systems. The framework allows us to apply existing global verification methods, such as verification rules and diagrams, in a modular setting. Transition systems and transition modules can be described by recursive module expressions, allowing the description of hierarchical systems of unbounded depth. Apart from the usual parallel composition, hiding and renaming operations, our module description language provides constructs to augment and restrict the module interface, capabilities that are essential for recursive descriptions. We present proof rules for property inheritance between modules. Finally, module abstraction and induction allow the verification of recursively defined systems. Our approach is illustrated with a recursively defined arbiter for which we verify mutual exclusion and eventual access.

Keywords

Transition System Transition Module Mutual Exclusion Module Expression Modular System 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [AH96]
    R. Alur and T.A. Henzinger, editors. Proc. 8 th Intl. Conference on Computer Aided Verification, vol. 1102 of LNCS. Springer-Verlag, July 1996.Google Scholar
  2. [AL88]
    M. Abadi and L. Lamport. The existence of refinement mappings. In Proc. 3rd IEEE Symp. Logic in Comp. Sci., pages 165–175. IEEE Computer Society Press, 1988.Google Scholar
  3. [AL93]
    M. Abadi and L. Lamport. Conjoining specifications. Technical Report SRC-118, DEC-SRC, December 1993.Google Scholar
  4. [BBC+95]_N.S. Bjørner, A. Browne, E.S. Chang, M. Colón, A. Kapur, Z. Manna, H.B. Sipma, and T.E. Uribe. STeP: The Stanford Temporal Prover, User’s Manual. Technical Report STAN-CS-TR-95-1562, Computer Science Department, Stanford University, November 1995.Google Scholar
  5. [BBC+96]_N.S. Bjørner, A. Browne, E.S. Chang, M. Colón, A. Kapur, Z. Manna, H.B. Sipma, and T.E. Uribe. STeP: Deductive-algorithmic verification of reactive and real-time systems. In T.A. Henzinger, editors. Proc. 8 th Intl. Conference on Computer Aided Verification, vol. 1102 of LNCS. Springer-Verlag, July 1996 Alur and Henzinger [AH96], pages 415–418.Google Scholar
  6. [BK84]
    H. Barringer and R. Kuiper. Hierarchical development of concurrent systems in a temporal logic framework. In Seminar on Concurrency, vol. 197 of LNCS, pages 35–61. Springer-Verlag, 1984.Google Scholar
  7. [BMS95]
    A. Browne, Z. Manna, and H.B. Sipma. Generalized temporal verification diagrams. In 15th Conference on the Foundations of Software Technology and Theoretical Computer Science, vol. 1026 of LNCS, pages 484–498. Springer-Verlag, 1995.Google Scholar
  8. [BMS96]
    A. Browne, Z. Manna, and H.B. Sipma. Hierarchical verification using verification diagrams. In 2 nd Asian Computing Science Conf., vol. 1179 of LNCS, pages 276–286. Springer-Verlag, December 1996.Google Scholar
  9. [BMSU97]
    N.S. Bjørner, Z. Manna, H.B. Sipma, and T.E. Uribe. Deductive verification of real-time systems using STeP. In 4th Intl. AMAST Workshop on Real-Time Systems, vol. 1231 of LNCS, pages 22–43. Springer-Verlag, May 1997.Google Scholar
  10. [Cha93]
    E.S. Chang. Compositional Verification of Reactive and Real-Time Systems. PhD thesis, Computer Science Department, Stanford University, Stanford, California, 1993. Tech. Report STAN-CS-TR-94-1522.Google Scholar
  11. [Dil88]
    D.L. Dill. Trace Theory for Automatic Hierarchical Verification of Speed-Independent Circuits. PhD thesis, Carnegie-Mellon Univ., 1988. Available as Technical Report CMU-CS-88-119.Google Scholar
  12. [GGS88]
    S. Garland, J. Guttag, and J. Staunstrup. Verification of vlsi circuits using lp. In G.J. Milne, editor, The Fusion of Hardware Design and Verification, pages 329–345. Elsevier Science Publishers B.V. (North Holland), 1988.Google Scholar
  13. [GL94]
    O. Grumberg and D.E. Long. Model checking and modular verification. ACM Trans. Prog. Lang. Sys., 16(3):843–871, May 1994.Google Scholar
  14. [Jon83]
    C. Jones. Tentative steps toward a development method for interfering programs. ACM TOPLAS, 5(4):596–619, 1983.zbMATHCrossRefGoogle Scholar
  15. [JT95]
    B. Jonsson and Y.K. Tsay. Assumption/guarantee specifications in lineartime temporal logic. In TAPSOFT’ 95, pages 262–276, 1995.Google Scholar
  16. [KMP94]
    Y. Kesten, Z. Manna, and A. Pnueli. Temporal verification of simulation and refinement. In J.W. de Bakker, W.P. de Roever, and G. Rosenberg, editors, A Decade of Concurrency, vol. 803 of LNCS, pages 273–346. Springer-Verlag, 1994.Google Scholar
  17. [LT87]
    N.A. Lynch and M.R. Tuttle. Hierarchical correctness proofs for distributed algorithms. In Proceedings of the Sixth Annual Symposium on Principles of Distributed Computing, pages 137–151. ACM Press, 1987.Google Scholar
  18. [LT89]
    N.A. Lynch and M. Tuttle. An introduction to input/output automata. CWI-Quarterly, 2(3):219–246, 1989.zbMATHMathSciNetGoogle Scholar
  19. [MC81]
    J. Misra and K.M. Chandy. Proofs of networks of processes. IEEE Transactions on Software Engineering, SE-7(4):417–426, 1981.CrossRefMathSciNetGoogle Scholar
  20. [MP91]
    Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer-Verlag, New York, 1991.zbMATHGoogle Scholar
  21. [MP94]
    Z. Manna and A. Pnueli. Temporal verification diagrams. In M. Hagiya and J.C. Mitchell, editors, Proc. International Symposium on Theoretical Aspects of Computer Software, vol. 789 of LNCS, pages 726–765. Springer-Verlag, 1994.Google Scholar
  22. [MP95a]
    Z. Manna and A. Pnueli. Clocked transition systems. In Proc. of the Intl. Logic and Software Engineering Workshop, August 1995. Beijing, China.Google Scholar
  23. [MP95b]
    Z. Manna and A. Pnueli. Temporal Verification of Reactive Systems: Safety. Springer-Verlag, New York, 1995.Google Scholar
  24. [Pnu85]
    A. Pnueli. In transition from global to modular temporal reasoning about programs. In K.R. Apt, editor, Logics and Models of Concurrent Systems, sub-series F: Computer and System Science, pages 123–144. Springer-Verlag, 1985.Google Scholar
  25. [Sei80]
    C.L. Seitz. Ideas about arbiters. Lambda, pages 10–14, 1980.Google Scholar
  26. [Sha93]
    N. Shankar. A lazy approach to compositional verification. Technical report, Computer Science Laboratory, SRI International, Menlo Park, California, December 1993.Google Scholar
  27. [Sha98]
    N. Shankar. Lazy compositional verification. In this volume, 1998.Google Scholar
  28. [Sta94]
    J. Staunstrup. A Formal Approach to Hardware Design. Kluwer Academic Publishers, 1994.Google Scholar
  29. [SUM96]
    H.B. Sipma, T.E. Uribe, and Z. Manna. Deductive model checking. In T.A. Henzinger, editors. Proc. 8 th Intl. Conference on Computer Aided Verification, vol. 1102 of LNCS. Springer-Verlag, July 1996 Alur and Henzinger [AH96], pages 208–219.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • Bernd Finkbeiner
    • 1
  • Zohar Manna
    • 1
  • Henny B. Sipma
    • 1
  1. 1.Computer Science DepartmentStanford UniversityStanford

Personalised recommendations