Hostname: page-component-5db58dd55d-xnzfm Total loading time: 0 Render date: 2026-06-12T14:29:34.281Z Has data issue: false hasContentIssue false

An extended account of contract monitoring strategies as patterns of communication

Published online by Cambridge University Press:  07 March 2018

CAMERON SWORDS
Affiliation:
Computer Science, Indiana University, IN, USA (e-mail: cswords@indiana.edu, sabry@indiana.edu, samth@indiana.edu)
AMR SABRY
Affiliation:
Computer Science, Indiana University, IN, USA (e-mail: cswords@indiana.edu, sabry@indiana.edu, samth@indiana.edu)
SAM TOBIN-HOCHSTADT
Affiliation:
Computer Science, Indiana University, IN, USA (e-mail: cswords@indiana.edu, sabry@indiana.edu, samth@indiana.edu)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

Contract systems have come to play a vital role in many aspects of software engineering. This has resulted in a wide variety of approaches to enforcing contracts—ranging from the straightforward pre-condition and post-condition checking of Eiffel to lazy, optional, and parallel enforcement strategies. Each of these approaches has its merits, but each has required ground-up development of an entire contract monitoring system. We present a unified approach to understanding this variety, while also opening the door to as-yet-undiscovered strategies. By observing that contracts are fundamentally about communication between a program and a monitor, we reframe contract checking as communication between concurrent processes. This brings out the underlying relations between widely studied enforcement strategies, including strict and lazy enforcement as well as concurrent approaches, including new contracts and strategies. We show how each of these can be embedded into a core calculus, and demonstrate a proof (via simulation) of correctness for one such encoding. Finally, we show that our approach suggests new monitoring approaches and contracts not previously expressible.

Information

Type
Articles
Creative Commons
Creative Common License - CCCreative Common License - BY
This is an Open Access article, distributed under the terms of the Creative Commons Attribution licence (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted re-use, distribution, and reproduction in any medium, provided the original work is properly cited.
Copyright
Copyright © Cambridge University Press 2018
Submit a response

Discussions

No Discussions have been published for this article.