Beyond contracts for concurrency

SCOOP is a concurrent programming language with a new semantics for contracts that applies equally well in concurrent and sequential contexts. SCOOP eliminates race conditions and atomicity violations by construction. However, it is still vulnerable to deadlocks. In this paper we describe how far co...

Full description

Saved in:
Bibliographic Details
Published in:Formal aspects of computing Vol. 21; no. 4; pp. 319 - 346
Main Authors: Ostroff, Jonathan S., Torshizi, Faraz Ahmadi, Huang, Hai Feng, Schoeller, Bernd
Format: Journal Article Conference Proceeding
Language:English
Published: London Springer-Verlag 01.08.2009
Springer
Association for Computing Machinery
Subjects:
ISSN:0934-5043, 1433-299X
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:SCOOP is a concurrent programming language with a new semantics for contracts that applies equally well in concurrent and sequential contexts. SCOOP eliminates race conditions and atomicity violations by construction. However, it is still vulnerable to deadlocks. In this paper we describe how far contracts can take us in verifying interesting properties of concurrent systems using modular Hoare rules and show how theorem proving methods developed for sequential Eiffel can be extended to the concurrent case. However, some safety and liveness properties depend upon the environment and cannot be proved using the Hoare rules. To deal with such system properties, we outline a SCOOP Virtual Machine (SVM) as a fair transition system. The SVM makes it feasible to use model-checking and theorem proving methods for checking global temporal logic properties of SCOOP programs. The SVM uses the Hoare rules where applicable to reduce the number of steps in a computation.
Bibliography:ObjectType-Article-1
SourceType-Scholarly Journals-1
content type line 14
ISSN:0934-5043
1433-299X
DOI:10.1007/s00165-008-0073-8