Skip to main content

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

Abstract

The metaphor of objects as entities encompassing both logic and state, simplifying the design and development of particularly large-scale applications, is well established in the industry. However, large applications are rarely monolithic components that carry out a single sequential task; most applications are composed of many components running in parallel. Yet, the vast majority of such applications are built in a rather ad-hoc manner, typically by making use of threading libraries and explicit synchronization through low-level mechanisms such as semaphores, locks, or monitors layered on top of objects.

The Simple Concurrent Object-Oriented Programming (SCOOP) model strives for a higher-level abstraction for concurrency, naturally woven into “traditional” object-oriented constructs. Thanks to the full support for contracts and other object-oriented mechanisms and techniques — inheritance, polymorphism, dynamic binding, genericity, and agents — SCOOP offers the programmer a simple yet powerful framework for efficient development of concurrent systems.

This paper presents a survey of SCOOP, including (1) the foundations of the SCOOP paradigm, its computation and synchronization models (focusing on simplicity), and our more recent developments. These are (2) an extended type system for eliminating synchronization defects (improving safety), (3) support for transactional semantics for subcomputations (enforcing atomicity), and (4) an event library for programming real-time concurrent tasks (allowing for predictability).

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 16.99
Price excludes VAT (USA)
  • Compact, lightweight 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.

References

  1. Meyer, B.: Systematic Concurrent Object-Oriented Programming. Communications of the ACM 36, 56–80 (1993)

    Article  Google Scholar 

  2. Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice Hall, Englewood Cliffs (1997)

    MATH  Google Scholar 

  3. Butler, M., Hoare, C., Ferreira, C.: A Trace Semantics for Long-Running Transactions. In: 25 Years Communicating Sequential Processes, pp. 133–150 (2004)

    Google Scholar 

  4. Arslan, V., Nienaltowski, P., Arnout, K.: Event Library: An Object-Oriented Library for Event-Driven Design. In: Böszörményi, L., Schojer, P. (eds.) JMLC 2003. LNCS, vol. 2789, pp. 174–183. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  5. Eugster, P., Felber, P., Guerraoui, R., Kermarrec, A.M.: The Many Faces of Publish/Subscribe. ACM Computing Surveys 35, 114–131 (2003)

    Article  Google Scholar 

  6. Burdy, L., Cheon, Y., Cok, D., Ernst, M., Kiniry, J., Leavens, G., Leino, K.R.M., Poll, E.: An Overview of JML Tools and Applications. In: Eighth International Workshop on Formal Methods for Industrial Critical Systems (FMICS 2003) (2003)

    Google Scholar 

  7. Barnett, M., M. Leino, K.R., Schulte, W.: The Spec# Programming System: An Overview. In: Barthe, G., Burdy, L., Huisman, M., Lanet, J.-L., Muntean, T. (eds.) CASSIS 2004. LNCS, vol. 3362, pp. 49–69. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  8. Nienaltowski, P., Arslan, V., Meyer, B.: Concurrent object-oriented programming on NET. IEE Proceedings - Software 150, 308–314 (2003)

    Article  Google Scholar 

  9. Caromel, D.: Towards a Method of Object-Oriented Concurrent Programming. Communications of the ACM 36, 90–102 (1993)

    Article  Google Scholar 

  10. Dietl, W., Müller, P., Poetzsch-Heffter, A.: A Type System for Checking Applet Isolation in Java Card. In: Barthe, G., Burdy, L., Huisman, M., Lanet, J.-L., Muntean, T. (eds.) CASSIS 2004. LNCS, vol. 3362, pp. 129–150. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  11. ECMA: Eiffel Analysis, Design and Programming Language. ECMA Standard 367 (2005)

    Google Scholar 

  12. Fich, F.E., Ruppert, E.: Hundreds of Impossibility Results for Distributed Computing. Distributed Computing 16, 121–163 (2003)

    Article  Google Scholar 

  13. Weikum, G., Vossen, G.: Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery. Morgan Kaufmann Publishers, San Francisco (2002)

    Google Scholar 

  14. Moss, J.E.B.: Nested Transactions: an Approach to Reliable Distributed Computing. Technical Report 260, Massachusetts Institute of Technology, Laboratory for Computer Science (1981)

    Google Scholar 

  15. Vaucouleur, S., Eugster, P.: Atomic Features. In: Proceedings of the Workshop on Synchronization in Concurrent Object-Oriented Languages (SCOOL), OOPSLA (October 2005)

    Google Scholar 

  16. Arslan, V., Eugster, P.: Modeling Embedded Real-time Applications with Objects and Events. In: Proceedings of the 3rd Workshop on Object-Oriented Modelling of Embedded Real-Time Systems (OMER-3) (to appear, 2005)

    Google Scholar 

  17. Brega, R.: A Combination of System Software Techniques Aimed at Raising the Runtime-Safety of Complex Mechatronic Applications. PhD thesis, ETH Zurich, Switzerland (2002)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Arslan, V., Eugster, P., Nienaltowski, P., Vaucouleur, S. (2006). SCOOP – Concurrency Made Easy. In: Kohlas, J., Meyer, B., Schiper, A. (eds) Dependable Systems: Software, Computing, Networks. Lecture Notes in Computer Science, vol 4028. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11808107_4

Download citation

  • DOI: https://doi.org/10.1007/11808107_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-36821-2

  • Online ISBN: 978-3-540-36823-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics