A comprehensive operational semantics of the SCOOP programming model
Benjamin Morandi, Sebastian Nanz, Bertrand Meyer

TL;DR
This paper presents a detailed operational semantics for the SCOOP programming language, enabling implementation guidance and error detection, bridging the gap between formal models and real-world concurrent object-oriented programming.
Contribution
It provides a comprehensive, detailed semantics of SCOOP that supports implementation, error correction, and serves as a reference for operational semantics of object-oriented languages.
Findings
Guided implementation of SCOOP compiler and runtime
Detected and corrected errors in original specification
Established a manageable formal semantics framework
Abstract
Operational semantics has established itself as a flexible but rigorous means to describe the meaning of programming languages. Oftentimes, it is felt necessary to keep a semantics small, for example to facilitate its use for model checking by avoiding state space explosion. However, omitting many details in a semantics typically makes results valid for a limited core language only, leaving a wide gap towards any real implementation. In this paper we present a full-fledged semantics of the concurrent object-oriented programming language SCOOP (Simple Concurrent Object-Oriented Programming). The semantics has been found detailed enough to guide an implementation of the SCOOP compiler and runtime system, and to detect and correct a variety of errors and ambiguities in the original informal specification and prototype implementation. In our formal specification, we use abstract data types…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Formal Methods in Verification · Parallel Computing and Optimization Techniques
