Skip to main content

Wanted: a compositional approach to concurrency

  • Chapter
Programming Methodology

Part of the book series: Monographs in Computer Science ((MCS))

Abstract

A key property for a development method is compositionality, because it ensures that a method can scale up to cope with large applications. Unfortunately, the inherent interference makes it difficult to devise development methods for concurrent programs (or systems). There are a number of proposals such as rely/guarantee conditions but the overall search for a satisfactory compositional approach to concurrency is an open problem. This paper identifies some issues including granularity and the problems associated with ghost variables; it also discusses using atomicity as a design abstraction.

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

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 149.00
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

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

References

  1. Martin Buechi and Ralph Back. Compositional symmetric sharing in B. In FM’99 — Formal Methods, volume 1708 of Lecture Notes in Computer Science, pages 431–451. Springer-Verlag, 1999.

    Google Scholar 

  2. J. C. M. Baeten and J. F. Groote, editors. CONCUR’91 — Proceedings of the 2nd International Conference on Concurrency Theory, volume 527 of Lecture Notes in Computer Science. Springer-Verlag, 1991.

    Google Scholar 

  3. Pierre Collette and Cliff B. Jones. Enhancing the tractability of rely/guarantee specifications in the development of interfering operations. In Gordon Plotkin, Colin Stirling, and Mads Tofte, editors, Proof Language and Interaction, chapter 10, pages 275–305. MIT Press, 2000.

    Google Scholar 

  4. K. M. Chandy and J. Misra. Parallel Program Design: A Foundation. Addison-Wesley, 1988.

    Google Scholar 

  5. Ernie Cohen. Separation and reduction. In Mathematics of Program Construction, 5th International Conference, Portugal, July 2000. Science of Computer Programming, pages 45–59. Springer-Verlag, 2000.

    Google Scholar 

  6. Piene Collette. Design of Compositional Proof Systems Based on Assumption-Commitment Specifications–Application to UNITY. PhD Thesis, Louvain-laNeuve, June 1994.

    Google Scholar 

  7. Jürgen Dingel. Systematic Parallel Programming PhD Thesis, Carnegie Mellon University, 2000. CMU-CS-99–172.

    Google Scholar 

  8. W. P. de Roever and K. Engelhardt. Data Refinement: Model-Oriented Proof Methods and Their Comparison. Cambridge University Press, 1999.

    Google Scholar 

  9. John Fitzgerald and Cliff Jones. A tracking system. In J. C. Bicarregui, editor, Proof in VDM: Case Studies, FACIT, pages 1–30. Springer-Verlag, 1998.

    Google Scholar 

  10. N. Francez and A. Pnueli. A proof method for cyclic programs. Acta Informatica, 9: 133–157, 1978.

    Article  MathSciNet  MATH  Google Scholar 

  11. C. B. Jones. Development Methods for Computer Programs including a Notion of Interference. PhD Thesis, Oxford University, June 1981. Printed as: Programming Research Group, Technical Monograph 25.

    Google Scholar 

  12. C. B. Jones. Specification and design of (parallel) programs. In Proceedings of IFIP ‘83, pages 321–332. North-Holland, 1983.

    Google Scholar 

  13. C. B. Jones. Accommodating interference in the formal design of concurrent object-based programs. Formal Methods in System Design, 8 (2): 105–122, March 1996.

    Article  Google Scholar 

  14. C. B. Jones. Scientific decisions which characterize VDM. In FM’99 — Formal Methods, volume 1708 of Lecture Notes in Computer Science, pages 28–47. Springer-Verlag, 1999.

    Google Scholar 

  15. C. B. Jones. Thinking tools for the future of computing science. In Informatics — 10 Years Back, 10 Years Forward, volume 2000 of Lecture Notes in Computer Science, pages 112–130. Springer-Verlag, 2000.

    Google Scholar 

  16. W. Janssen, M. Poel, and J. Zwiers. Action systems and action refinement in the development of parallel systems. In [BG91], pages 298–316, 1991.

    Google Scholar 

  17. R. Milner, J. Parrow, and D. Walker. A calculus of mobile processes. Information and Computation, 100: 1–77, 1992.

    Article  MathSciNet  MATH  Google Scholar 

  18. S. S. Owicki and D. Gries. An axiomatic proof technique for parallel programs I. Acta Informatica, 6: 319–340, 1976.

    Article  MathSciNet  MATH  Google Scholar 

  19. S. Owicki. Axiomatic Proof Techniques for Parallel Programs. PhD Thesis, Department of Computer Science, Cornell University, 1975. 75–251.

    Google Scholar 

  20. Anna Philippou and David Walker. On transformations of concurrent-object programs. Theoretical Computer Science, 195: 259–289, 1998.

    Article  MathSciNet  MATH  Google Scholar 

  21. San99] Davide Sangiorgi. Typed x-calculus at work: a correctness proof of Jones’s parallelisation transformation on concurrent objects. Theory and Practice of Object Systems, 5(1):25–34,1999

    Google Scholar 

  22. Sti86] C. Stirling. A compositional reformulation of Owicki-Gries’ partial correctness logic for a concurrent while language. In ICALP 86 Springer-Verlag, 1986. LNCS 226.

    Google Scholar 

  23. C. Stirling. A generalisation of Owicki-Gries’s Hoare logic for a concurrent while language. TCS, 58: 347–359, 1988.

    Article  MathSciNet  MATH  Google Scholar 

  24. K. Stolen. Development of Parallel Programs on Shared Data–Structures PhD Thesis, Manchester University, 1990. available as UMCS–91–1–1.

    Google Scholar 

  25. Qiwen Xu. A Theory of State-based Parallel Programming. PhD Thesis, Oxford University, 1992.

    Google Scholar 

Download references

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer Science+Business Media New York

About this chapter

Cite this chapter

Jones, C.B. (2003). Wanted: a compositional approach to concurrency. In: McIver, A., Morgan, C. (eds) Programming Methodology. Monographs in Computer Science. Springer, New York, NY. https://doi.org/10.1007/978-0-387-21798-7_1

Download citation

  • DOI: https://doi.org/10.1007/978-0-387-21798-7_1

  • Publisher Name: Springer, New York, NY

  • Print ISBN: 978-1-4419-2964-8

  • Online ISBN: 978-0-387-21798-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics