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...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Formal aspects of computing Jg. 21; H. 4; S. 319 - 346
Hauptverfasser: Ostroff, Jonathan S., Torshizi, Faraz Ahmadi, Huang, Hai Feng, Schoeller, Bernd
Format: Journal Article Tagungsbericht
Sprache:Englisch
Veröffentlicht: London Springer-Verlag 01.08.2009
Springer
Association for Computing Machinery
Schlagworte:
ISSN:0934-5043, 1433-299X
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung: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.
Bibliographie:ObjectType-Article-1
SourceType-Scholarly Journals-1
content type line 14
ISSN:0934-5043
1433-299X
DOI:10.1007/s00165-008-0073-8