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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
Reference
MartÃn Abadi and Leslie Lamport. The existence of refinement mappings. Theoretical Computer Science, 82(2):253–84, May 1991.
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.
Henri E. Bal. Programming Distributed Systems. Prentice-Hall, New York, 1991.
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.
K. Mani Chandy and Jayadev Misra. Parallel Program Design: A Foundation. Addison-Wesley, Reading, MA, USA, 1988. Reprinted with corrections, May 1989.
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.
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.
Wim H. Hesselink. A mechanical proof of Segall’s PIF algorithm. Formal Aspects of Computing, 9(2):208–26, 1997.
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.
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.
Leslie Lamport. The temporal logic of actions. ACM Transactions on Programming Languages and Systems, 16(3):872–923, May 1994.
A. C. Leisenring. Mathematical Logic and Hilbert’s ε-Symbol. Gordon and Breach, New York, 1969.
Tim Lindholm and Frank Yellin. The Java Virtual Machine Specification. The Java Series. Addison-Wesley, Reading, MA, USA, 1997.
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.
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.
Jayadev Misra. New UNITY. Unpublished book.
Susan Owicki and David Gries. An axiomatic proof technique for parallel programs I. Acta Informatica, 6(4):319–340, 1976.
Paritosh K. Pandya and Mathai Joseph. P-A logic-a compositional proof system for distributed programs. Distributed Computing, 5(1):37–54, 1991.
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.
Adrian Segall. Distributed network protocols. IEEE Transactions on Information Theory, IT-29(2):23–35, January 1983.
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.
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.
Guy L. Steele, Jr. Common Lisp: The Language. Digital Press, Bedford, MA, USA, 2nd edition, 1990.
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.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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