Communicating sequential processes
Communicating sequential processes
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Cilk: an efficient multithreaded runtime system
PPOPP '95 Proceedings of the fifth ACM SIGPLAN symposium on Principles and practice of parallel programming
The reflexive CHAM and the join-calculus
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
Communicating and mobile systems: the &pgr;-calculus
Communicating and mobile systems: the &pgr;-calculus
ACM Computing Surveys (CSUR)
An Event-Based Structural Operational Semantics of Multi-Threaded Java
Formal Syntax and Semantics of Java
Reasoning about Concurrent Objects
APSEC '95 Proceedings of the Second Asia Pacific Software Engineering Conference
A three-level approach to the description of data structures, and notational framework
Proceedings of the 1980 workshop on Data abstraction, databases and conceptual modeling
Programming with abstract data types
Proceedings of the ACM SIGPLAN symposium on Very high level languages
Modern concurrency abstractions for C#
ACM Transactions on Programming Languages and Systems (TOPLAS)
Object-oriented units of measurement
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
X10: an object-oriented approach to non-uniform cluster computing
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A machine-checked model for a Java-like language, virtual machine, and compiler
ACM Transactions on Programming Languages and Systems (TOPLAS)
Formal Aspects of Computing
Beyond contracts for concurrency
Formal Aspects of Computing - Special Issue: Concurrency and Real-Time for Eiffel-like Languages
IPDPS'06 Proceedings of the 20th international conference on Parallel and distributed processing
Processors and their collection
MSEPT'12 Proceedings of the 2012 international conference on Multicore Software Engineering, Performance, and Tools
Hi-index | 0.00 |
Operational semantics is a flexible but rigorous means to describe the meaning of programming languages. Small semantics are often preferred, for example to facilitate model checking. However, omitting too many details in a semantics limits results to a core language only, leaving a wide gap towards real implementations. In this paper we present a comprehensive semantics of the concurrent programming model 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 with preconditions and axioms to describe the state, and introduce a number of special operations to model the runtime system with our inference rules. This approach makes our large formal specification manageable, providing a first step towards reference documents for specifying concurrent object-oriented languages based on operational semantics.