Skip to main content
Log in

Cameo: an alternative model of concurrency for Eiffel

  • Original Article
  • Published:
Formal Aspects of Computing

Abstract

We present a new concurrency model for the Eiffel programming language. The model is motivated by describing a number of semantic problems with the leading concurrency model for Eiffel, namely SCOOP. Our alternative model aims to preserve the existing behaviour of sequential programs and libraries wherever possible. Comparison with the SCOOP model is made. The concurrency aspects of the alternative model are presented in CSP along with a model of exceptions. The results show that while the new model provides increased parallelism, this comes with the price of increased overhead due to lock management.

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. Arslan V, Eugster P, Nienaltowski P, Vaucouleur P (2004) SCOOP: concurrency made easy. In: Proc. dependable systems: software, computing, networks. Originally a draft paper from ETH Zürich, http://se.inf.ethz.ch/people/nienaltowski/papers/scoop_easy_draft.pdf

  2. Brooke PJ, Paige RF (2006) A critique of SCOOP. In: Paige RF, Brooke PJ (eds) Proc. first international symposium on concurrency, real-time, and distribution in eiffel-like languages (CORDIE), number YCS-TR-405. University of York, York

    Google Scholar 

  3. Brooke PJ, Paige RF (2007) Exceptions in concurrent Eiffel. J Object Technol 6(10): 111–126

    Google Scholar 

  4. Brooke PJ, Paige RF (2007) Lazy exploration and checking of CSP models with CSPsim. In: McEwan AA, Ifill W, Welch PH (eds) Communicating process architectures, pp 33–50

  5. Brooke PJ, Paige RF, Jacob JL (2007) A CSP model of Eiffel’s SCOOP. Formal Aspects Comput 19(4): 487–512

    Article  MATH  Google Scholar 

  6. Caromel D (1993) Towards a method of object-oriented concurrent programming. CACM 36(9): 99–102

    Google Scholar 

  7. Compton M (2000) SCOOP: an investigation of concurrency in Eiffel. Master’s thesis, Australian National University

  8. Community Z (2007) Tools project. http://czt.sourceforge.net/.Last visited September 2007

  9. ECMA-367: Eiffel analysis, design and programming language. ECMA International, June 2005, Geneva

  10. Freitas AF, Cavalcanti ALC (2006) Automatic translation from Circus to Java. In: FM 2006, number 4085 in LNCS. Springer, Heidelberg

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

    Google Scholar 

  12. Hoare CAR (1985) Communicating Sequential Processes. Prentice-Hall International UK, New Jersey

  13. Mahony B, Dong JS (2002) Deep semantics links of TCSP and Object-Z: TCOZ approach. Formal Aspects Comput 13(2): 142–160

    Article  MATH  Google Scholar 

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

    MATH  Google Scholar 

  15. Nienaltowski P SCOOPLI implementation, 2005. http://se.inf.ethz.ch/research/scoop.html

  16. Nienaltowski P (2007) Practical framework for contract-based concurrent object-oriented programming. PhD Thesis, ETH Zürich

  17. Nienaltowski P, Meyer B, Ostroff JS (2008) Contracts for concurrency. Formal Aspects Comput. doi:10.1007/s00165-007-0063-2

  18. Ostroff JS, Torshizi F, Huang HF, Schoeller B (2008) Beyond contracts for concurrency. Formal Aspects Comput. doi:10.1007/s00165-008-0073-8

  19. Paige R, Ostroff J (2004) ERC—an object-oriented refinement calculus for Eiffel. Formal Aspects Comput 16(1)

  20. Roscoe AW (1998) The Theory and Practice of Concurrency. Series in Computer Science. Prentice Hall, New Jersey

    Google Scholar 

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

    Google Scholar 

  22. Taft, T, Duff, RA (eds) (1997) Ada 95 Reference Manual. Number 1246 in Lectures Notes in Computer Science. Springer, Heidelberg

    Google Scholar 

  23. Woodcock J, Cavalcanti A (2002) The semantics of Circus. In: Proc. ZB, pp 184–203

  24. Wellings A RECOOP: Real-time concurrent programming with Eiffel. In: Paige RF, Brooke PJ (eds) Proc. first international symposium on concurrency, real-time, and distribution in Eiffel-like languages (CORDIE), number YCS-TR-405, July 2006

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Phillip J. Brooke.

Additional information

Dong Jin Song and J.C.P. Woodcock

Rights and permissions

Reprints and permissions

About this article

Cite this article

Brooke, P.J., Paige, R.F. Cameo: an alternative model of concurrency for Eiffel. Form Asp Comp 21, 363–391 (2009). https://doi.org/10.1007/s00165-008-0096-1

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00165-008-0096-1

Keywords

Navigation