Skip to main content

Compositional Proofs for Concurrent Objects

  • Conference paper
  • First Online:
Compositionality: The Significant Difference (COMPOS 1997)

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

Included in the following conference series:

  • 495 Accesses

Abstract

Objects are a convenient representation for building compositional open systems. Many object models exist in the literature and building a new proof system for each is infeasible. Instead of constructing a new proof system from first principles, we show how proof methodologies for non-object-oriented systems can be adapted. We give a sample object model that includes inheritance, active objects, and unbounded creation of both objects and threads. We show how a proof system for this model can be built from a modular concurrent logic. We also discuss the reuse of proofs during the construction of subclasses.

This work was supported in part by NSF grant CCR-9505807.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

Reference

  1. Martín Abadi and Leslie Lamport. The existence of refinement mappings. Theoretical Computer Science, 82(2):253–84, May 1991.

    Google Scholar 

  2. Martín Abadi and Leslie Lamport. Conjoining specifications. ACM Transactions on Programming Languages and Systems, 17(3):507–34, May 1995. Also SRC Research Report 118.

    Google Scholar 

  3. Henri E. Bal. Programming Distributed Systems. Prentice-Hall, New York, 1991.

    Google Scholar 

  4. Howard Barringer, Ruurd Kuiper, and Amir Pnueli. Now you may compose temporal logic specifications. In STOC’ 84, pages 51–63, Washington, D.C., USA, 30 April–2 May 1984.

    Google Scholar 

  5. K. Mani Chandy and Jayadev Misra. Parallel Program Design: A Foundation. Addison-Wesley, Reading, MA, USA, 1988. Reprinted with corrections, May 1989.

    MATH  Google Scholar 

  6. Pierre Collette and Edgar Knapp. A foundation for modular reasoning about safety and progress properties of state-based concurrent programs. Theoretical Computer Science, 183(2):253–79, September 1997.

    Google Scholar 

  7. Frank S. de Boer. A proof system for the parallel object-oriented language POOL. In M. S. Paterson, editor, ICALP’ 90, volume 443 of Lecture Notes in Computer Science, pages 572–85, Warwick University, England, 16–20 July 1990. Springer-Verlag.

    Google Scholar 

  8. Wim H. Hesselink. A mechanical proof of Segall’s PIF algorithm. Formal Aspects of Computing, 9(2):208–26, 1997.

    Article  MATH  Google Scholar 

  9. H.-M. Järvinen, R. Kurki-Suonio, M. Sakkinen, and K. Systä. Object-oriented specification of reactive systems. In Proc. 12th Int. Conf. on Software Eng., pages 63–71, 1990.

    Google Scholar 

  10. Reino Kurki-Suonio. Incremental specification with joint actions: The RPC-memory specification problem. In Manfred Broy, Stephan Merz, and Katharina Spies, editors, Formal Systems Specification: The RPC-Memory Specification Case Study, volume 1169 of Lecture Notes in Computer Science, pages 375–404. Springer, Berlin, 1996.

    Google Scholar 

  11. Leslie Lamport. The temporal logic of actions. ACM Transactions on Programming Languages and Systems, 16(3):872–923, May 1994.

    Google Scholar 

  12. A. C. Leisenring. Mathematical Logic and Hilbert’s ε-Symbol. Gordon and Breach, New York, 1969.

    Google Scholar 

  13. Tim Lindholm and Frank Yellin. The Java Virtual Machine Specification. The Java Series. Addison-Wesley, Reading, MA, USA, 1997.

    Google Scholar 

  14. Nancy A. Lynch and Mark Tuttle. Hierarchical correctness proofs for distributed algorithms. In PODC’ 87, pages 137–51, Vancouver, British Columbia, Canada, 10–12 August 1987.

    Google Scholar 

  15. Rajit Manohar and Paolo A. G. Sivilotti. Composing processes using modified rely-guarantee specifications. Technical Report CS-TR-96-22, California Institute of Technology, Pasadena, CA 91125, 12 June 1996.

    Google Scholar 

  16. Jayadev Misra. New UNITY. Unpublished book.

    Google Scholar 

  17. Susan Owicki and David Gries. An axiomatic proof technique for parallel programs I. Acta Informatica, 6(4):319–340, 1976.

    Article  MATH  MathSciNet  Google Scholar 

  18. Paritosh K. Pandya and Mathai Joseph. P-A logic-a compositional proof system for distributed programs. Distributed Computing, 5(1):37–54, 1991.

    Article  MATH  MathSciNet  Google Scholar 

  19. Amir Pnueli. In transition from global to modular temporal reasoning about programs. In Krzysztof R. Apt, editor, Logics and Models of Concurrent Systems, volume 13 of NATO ASI Series F, pages 123–44. Springer-Verlag, Heidelberg, 1985.

    Google Scholar 

  20. Adrian Segall. Distributed network protocols. IEEE Transactions on Information Theory, IT-29(2):23–35, January 1983.

    Google Scholar 

  21. Eugene W. Stark. A proof technique for rely/guarantee properties. In S. N. Maheshwari, editor, FST&TCS’ 85, volume 206 of Lecture Notes in Computer Science, pages 369–91, New Delhi, India, 16–18 December 1985. Springer-Verlag.

    Google Scholar 

  22. Raymie Stata and John V. Guttag. Modular reasoning in the presence of subclassing. In OOPSLA’ 95, pages 200–14, Austin, TX, USA, 15–19 October 1995.

    Google Scholar 

  23. Guy L. Steele, Jr. Common Lisp: The Language. Digital Press, Bedford, MA, USA, 2nd edition, 1990.

    MATH  Google Scholar 

  24. Frits W. Vaandrager. Verification of a distributed summation algorithm. In Insup Lee and Scott A. Smolka, editors, CONCUR’ 95, volume 962 of Lecture Notes in Computer Science, pages 190–203, Philadelphia, PA, USA, 21–24 August 1995. Springer.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

James, J., Singh, A. (1998). Compositional Proofs for Concurrent Objects. In: de Roever, WP., Langmaack, H., Pnueli, A. (eds) Compositionality: The Significant Difference. COMPOS 1997. Lecture Notes in Computer Science, vol 1536. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-49213-5_11

Download citation

  • DOI: https://doi.org/10.1007/3-540-49213-5_11

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-65493-3

  • Online ISBN: 978-3-540-49213-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics