Skip to main content

A proof environment for concurrent programs

  • Papers
  • Conference paper
  • First Online:
Book cover FME '93: Industrial-Strength Formal Methods (FME 1993)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 670))

Included in the following conference series:

Abstract

Unity [CM88, Mer92, Kna90], as action systems approach [BS91], is a formal method that attempts to decouple a program from its implementation. Therefore, Unity separates logical behaviour from implementation, it provides predicates for specifications, and proof rules for deriving specifications directly from the program text. This type of proof strategy is often clearer and more succinct than argument about a program's operational behaviour. Our research fits into Unity's methodology. Its aims to develop a proof environment suitable for mechanical proof of concurrent programs. This proof is based on Unity [CM88], and may be used to specify and verify both safety and liveness properties. Our verification method is based on theorem proving, so that an axiomatization of the operational semantics is needed. We use Dijkstra's wp-calculus to formalize the Unity logic, so we can always derive a sound relationship between the operational semantics of a given Unity specification and the axiomatic one from which theorems in our logic will be derived.

On sabbatical leave at the Department of Computing Science University of Stirling under the European Science Exchange Programme Royal Society — CNRS

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. R.S. Boyer and J.S. Moore. A Computational Logic Handbook. Academic Press, 1988.

    Google Scholar 

  2. N. Brown and D. Mery. Deriving Occam Programs through the Refinement of Unity-like Specifications. In W. Joosen and E. Milgrom, editors, Proceedings European Workshop on Parallel Computing. IOS PRESS, 1992.

    Google Scholar 

  3. R.J.R. Back and K. Sere. Deriving an occam implementation of action systems. In C. Morgan and J.C.P. Woodcock, editors, 4rd Refinement Workshop. Springer-Verlag, January 1991. BCS-FACS, Workshops in Computing.

    Google Scholar 

  4. BP Innovation Centre and Edinburgh Portable Compilers Ltd. B-Tool Versionl. 1, Reference Manual, 1991.

    Google Scholar 

  5. BP Innovation Centre and Edinburgh Portable Compilers Ltd. B-Tool Versionl.1, Tutorial, 1991.

    Google Scholar 

  6. P Innovation Centre and Edinburgh Portable Compilers Ltd. B-Tool Versionl.1, User Manual, 1991.

    Google Scholar 

  7. Centaur. Version1.1, Reference Manual, 1991.

    Google Scholar 

  8. Centaur. Version1.2, Reference Manual, 1992.

    Google Scholar 

  9. K.M. Chandy and J. Misra. Parallel Program Design A Foundation. Addison-Wesley Publishing Company, 1988. ISBN 0-201-05866-9.

    Google Scholar 

  10. E.W. Dijkstra. A Discipline of Programming. Prentice-Hall, 1976.

    Google Scholar 

  11. E.W. Dijkstra and C.S. Scholten. Predicate Calculus and Program Semantics. Texts and Monographs in Computer Science. Springer Verlag, 1990.

    Google Scholar 

  12. D.M. Goldschlag. Mechanically verifying concurrent programs with the boyermoore prover. IEEE Transactions on Software Engineering, 16(9):1005–1023, September 1990.

    Article  Google Scholar 

  13. A.J.M. Van Gasteren and G. Tel. Comments on ”on the proof of a distributed algorithm”: always true is not invariant. Information Processing Letters, 35:277–279, 1990.

    Article  Google Scholar 

  14. E. Knapp. An exercise in the formal derivation of parallel programs: Maximum flows in graphs. Transactions On Programming Languages and Systems, 12(2):203–223, 1990.

    Article  Google Scholar 

  15. L. Lamport. Proving the correctness of multiprocess programs. Trans. on Software Engineering 1, 1977.

    Google Scholar 

  16. L. Lamport. A temporal logic of actions. Technical Report 57, DEC Palo Alto, april 1990.

    Google Scholar 

  17. D. Mery. A proof system to derive eventuality properties under justice hypothesis. In LNCS, number 233. Mathematical Foundations of Computer Science, 1986. Bratislava, Tchecoslovaquie.

    Google Scholar 

  18. D. Mery. The NU system as a development system for concurrent programs: δ NU. Theoretical Computer Science, 94(2):311–334, march 1992.

    Article  Google Scholar 

  19. J. Misra. Soundness of the substitution axiom. Notes on Unity, pages 14–90, 1990.

    Google Scholar 

  20. B.A. Sanders. Eliminating the substitution axiom from unity logic. Formal Aspects of Computing, 3:189–205, 1991.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

James C. P. Woodcock Peter G. Larsen

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Brown, N., Mery, D. (1993). A proof environment for concurrent programs. In: Woodcock, J.C.P., Larsen, P.G. (eds) FME '93: Industrial-Strength Formal Methods. FME 1993. Lecture Notes in Computer Science, vol 670. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0024647

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-56662-5

  • Online ISBN: 978-3-540-47623-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics