A CSP model of Eiffel's SCOOP

P. J. (Phillip) Brooke, R. F. (Richard) Paige, J. L. (Jeremy) Jacob

    Research output: Contribution to journalArticlepeer-review

    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.
    Original languageEnglish
    Pages (from-to)487–512
    JournalFormal Aspects of Computing
    Volume19
    Issue number4
    Early online date17 May 2007
    DOIs
    Publication statusPublished - 30 Nov 2007

    Fingerprint

    Dive into the research topics of 'A CSP model of Eiffel's SCOOP'. Together they form a unique fingerprint.

    Cite this