Skip to main content
Log in

Verification of a multiprocessor cache protocol using simulation relations and higher-order logic

  • Published:
Formal Methods in System Design Aims and scope Submit manuscript

Abstract

We present a formal verification method for concurrent systems. The technique is to show a correspondence between state machines representing an implementation and specification behavior. The correspondence is called asimulation relation, and is particularly well suited for theorem provers. Since the method does not rely on enumerating all the states, it can be applied to systems with an infinite or unknown number of states. The method is illustrated by proving the correctness of a particularly subtle example that is likely to be of increasing importance: a directory based multiprocessor cache protocol. The proof is carried out using the HOL (higher-order logic) theorem prover.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Avra. J.Cohn. A proof of correctness of the Viper microprocessor: The first level. InVLSI Specification, Verification and Synthesis, G.Birtwistle and P.A.Subrahmanyam (eds.). Kluwer Academic Publishers, Boston, 1988.

    Google Scholar 

  2. AvraCohn. Correctness properties of the Viper block model: The second level. InCurrent Trends in Hardware Verification and Automated Theorem Proving, G.Birtwistle and P.A.Subrahmanyam (eds.). Springer-Verlag, New York, 1989, pp. 1–91.

    Google Scholar 

  3. W.A.HuntJr. The mechanical verification of a microprocessor design. InHDL Descriptions to Guaranteed Correct Circuit Designs, D.Borrione (ed.) North Holland, Amsterdam, 1987.

    Google Scholar 

  4. PaliathNarendran and JonathanStillman. Formal verification of the sobel image processing chip. InCurrent Trends in Hardware Verification and Automated Theorem Proving, G.Birtwistle and P.A.Subrahmanyam (eds.). Springer-Verlag, New York, 1989.

    Google Scholar 

  5. MartinAbadi and LeslieLamport. The existence of refinement mappings.Theoretical Computer Science, 82(2):253–284, May 1991.

    Google Scholar 

  6. Simon S.Lam and A. UdayaShankar. Protocol verification via projections.IEEE Transactions on Software Engineering, SE-10(2):137–151, July 1984.

    Google Scholar 

  7. Nancy A. Lynch and Mark R. Tuttle. Hierarchical correctness proofs for distributed algorithms. Technical Report TR-387, MIT Laboratory for Computer Science, 1987.

  8. R. P. Kurshan. Analysis of discrete event coordination. InStepwise Refinement of Distributed Systems, J.W. de Bakker, W.P. De Roever, and G. Rozenberg, (eds.).Lecture Notes in Computer Science, 430:1990.

  9. R. Milner. An algebraic definition of simulation between programs. InProceedings 2nd International Joint Conference on Artificial Intelligence, 1971.

  10. Nils Klarlund and Fred B. Schneider. Verifying safety properties using non-deterministic infinitestate automata. Technical Report TR 89-1037, Cornell University Computer Science Department, 1989.

  11. A.P. Sistla. A complete proof system for proving correctness of non-deterministic safety specifications. Technical Report TC-0060-8-89-378, GTE Laboratories, 1989.

  12. Tobias Nipkow. Formal verification of data type refinement. InStepwise Refinement of Distributed Systems, J.W. de Bakker, W.P. De Roever, and G. Rozenberg, (eds.).Lecture Notes in Computer Science, 430:1990.

  13. Michael C.Browne, Edmund M.Clarke, David L.Dill, and BudMishra. Automatic verification of sequential circuits using temporal logic.IEEE Transactions on Computers, C-35(12):1035–1044, December 1986.

    Google Scholar 

  14. MasahirioFujita, HedehikoTanaka, and TohruMoto-oka. Verification with prolog and temporal logic. InIFIP Sixth Computer Hardware Description Languages and their Applications, T.Uehara and M.Barbacci, (eds.) North Holland Publishing Company, Amsterdam, 1983.

    Google Scholar 

  15. David L.Dill.Trace Theory for Automatic Hierarchical Verification of Speed-independent Circuits. MIT Press, Cambridge, MA, 1989.

    Google Scholar 

  16. Mike Gordon. HOL: A machine oriented formulation of higher-order logic. Technical Report 68, University of Cambridge Computer Laboratory, 1985.

  17. MikeGordon. HOL: A proof generating system for higher-order logic. InVLSI Specification, Verification and Synthesis, G.Birtwistle and P. A.Subrahmanyam (eds.). Kluwer Academic Publishers, Boston, 1988.

    Google Scholar 

  18. Konrad Slind. An implementation of higher order logic. Research Report 91/419/03, University of Calgary, January 1991.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Loewesstein, P.N., Dill, D.L. Verification of a multiprocessor cache protocol using simulation relations and higher-order logic. Form Method Syst Des 1, 355–383 (1992). https://doi.org/10.1007/BF00709156

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00709156

Keywords

Navigation