Skip to main content
Log in

A CSP model of Eiffel’s SCOOP

  • Original Article
  • Published:
Formal Aspects of Computing

Abstract

The current informal semantics of the simple concurrent object-oriented programming (SCOOP) mechanism for Eiffel is described. We construct and discuss a model using the process algebra CSP. This model gives a more formal semantics for SCOOP than existed previously.

We implement the model mechanically via a new tool called CSPsim. We examine two semantic variations of SCOOP: when and how far to pass locks, and when to wait for child calls to complete. We provide evidence that waiting for child calls to complete both unnecessarily reduces parallelism without any increase in safety and increases deadlocks involving callbacks.

Through the creation and analysis of the model, we identify a number of ambiguities relating to reservations and the underlying run-time system and propose means to resolve them.

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.

Similar content being viewed by others

References

  1. Bailly A (2004) Formal semantics and proof systems for SCOOP, draft paper

  2. Brooke PJ, Paige RF (2006) An alternative model of concurrency for Eiffel. In: Paige RF, Brooke PJ (eds) Proceedings of the 1st international symposium on concurrency, real-time, and distribution in Eiffel-like languages (CORDIE), number YCS-TR-405, University of York

  3. Brooke PJ, Paige RF (2007) Exceptions in concurrent Eiffel. J Object Technol (to appear)

  4. Caromel D (1993) Towards a method of object-oriented concurrent programming. Commun ACM 36(9):90–102

    Article  Google Scholar 

  5. Compton M (2000) SCOOP: an investigation of concurrency in Eiffel. MSc Thesis, Australian National University

  6. ECMA-367 (2005) Eiffel analysis, design and programming language, Ecma International

  7. Formal Systems (Europe) Ltd (1995) Failures-divergence refinement: FDR 2. http://www.formal.demon.co.uk/

  8. Freitas AF, Cavalcanti ALC (2006) Automatic translation from Circus to Java. In: Proceedings of the FM 2006, LNCS 4085. Springer, Heidelberg

  9. Fuks O, Ostroff JS, Paige RF (2004) SECG: the SCOOP-to-Eiffel code generator. J Object Technol 3(10):143–160

    Google Scholar 

  10. Graphviz—Graph Visualization Software. http://www.graphviz.org/, last visited 10th October 2006

  11. Hoare CAR (1985) Communicating sequential processes. Prentice Hall, Englewood Cliffs

    MATH  Google Scholar 

  12. Mahony B, Dong JS (2002) Deep semantic links of TCSP and object-Z: TCOZ approach. Formal Asp Comput J 13:142–160

    Article  MATH  Google Scholar 

  13. Matsuoka S, Taura K, Yonezawa A (1993) Highly efficient and encapsulated re-use of synchronization code in concurrent object-oriented languages. In: Proceedings of the OOPSLA ’93

  14. Meyer B (1997) Object-oriented software construction, 2nd edn. Prentice Hall, Englewood Cliffs

    MATH  Google Scholar 

  15. Nienaltowski P, Arslan V, Meyer B (2004) SCOOP: concurrent programming made easy, draft paper, http://www.se.inf.ethz.ch/people/nienaltowski/papers/scoop_easy_draft.pdf

  16. Nienaltowski P, Meyer B (2005) SCOOPLI implementation, http://www.se.inf.ethz.ch/research/scoop.html

  17. Nienaltowski P (ed) (2005) Proceedings of first SCOOP workshop, ETH Zurich, February 2005

  18. Roscoe AW (1998) The theory and practice of concurrency. In: Series in computer science. Prentice Hall, Englewood Cliffs

  19. Schneider S (2000) Concurrent and real-time systems. Wiley, New York

    Google Scholar 

  20. Taft T, Duff RA (eds) (1997) Ada 95 reference manual. In: Lectures notes in computer science, Vol 1246. Springer, Heidelberg

  21. Woodcock J, Cavalcanti A (2002) The semantics of circus. In: Proceedings of the ZB, pp 184–203

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Phillip J. Brooke.

Additional information

M. J. Butler

Rights and permissions

Reprints and permissions

About this article

Cite this article

Brooke, P.J., Paige, R.F. & Jacob, J.L. A CSP model of Eiffel’s SCOOP. Form Asp Comp 19, 487–512 (2007). https://doi.org/10.1007/s00165-007-0033-8

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00165-007-0033-8

Keywords

Navigation