Contracts for concurrency

8Citations
Citations of this article
13Readers
Mendeley users who have this article in their library.

Abstract

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. © 2007 British Computer Society.

Cite

CITATION STYLE

APA

Nienaltowski, P., Meyer, B., & Ostroff, J. S. (2009). Contracts for concurrency. Formal Aspects of Computing, 21(4), 305–318. https://doi.org/10.1007/s00165-007-0063-2

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free