Contracts for concurrency - Archive ouverte HAL Accéder directement au contenu
Article Dans Une Revue Formal Aspects of Computing Année : 2008

Contracts for concurrency

Résumé

The SCOOP model extends the Eiffel programming language to provide support for concurrent programming. The model is based on the principles of Design by Contract. The semantics of contracts used in the original proposal (SCOOP_97) is not suitable for concurrent programming because it restricts parallelism and complicates reasoning about program correctness. This article outlines a new contract semantics which applies equally well in concurrent and sequential contexts and permits a flexible use of contracts for specifying the mutual rights and obligations of clients and suppliers while preserving the potential for parallelism. We argue that it is indeed a generalisation of the traditional correctness semantics. We also propose a proof technique for concurrent programs which supports proofs—similar to those for traditional non-concurrent programs—of partial correctness and loop termination in the presence of asynchrony.
Fichier principal
Vignette du fichier
PEER_stage2_10.1007%2Fs00165-007-0063-2.pdf (923.84 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-00477897 , version 1 (30-04-2010)

Identifiants

Citer

Piotr Nienaltowski, Bertrand Meyer, Jonathan S. Ostroff. Contracts for concurrency. Formal Aspects of Computing, 2008, 21 (4), pp.305-318. ⟨10.1007/s00165-007-0063-2⟩. ⟨hal-00477897⟩

Collections

PEER
50 Consultations
116 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More