Abstract | ||
---|---|---|
We present a new approach to contract semantics which expresses myriad monitoring strategies using a small core of foundational communication primitives. This approach allows multiple existing contract monitoring approaches, ranging from Findler and Felleisen’s original model of higher-order contracts to semi-eager, parallel, or asynchronous monitors, to be expressed in a single language built on well-understood constructs. We prove that this approach accurately simulates the original semantics of higher-order contracts. A straightforward implementation in Racket demonstrates the practicality of our approach which not only enriches existing Racket monitoring strategies, but also support a new style of monitoring in which collections of contracts collaborate to establish a global invariant. |
Year | DOI | Venue |
---|---|---|
2015 | 10.1145/2784731.2784742 | International Conf on Function Programming |
Keywords | Field | DocType |
Lazy monitoring,asynchronous monitoring,behavioral specification | Asynchronous communication,Programming language,Computer science,Ranging,Invariant (mathematics),Racket,Semantics | Conference |
Volume | Issue | ISSN |
50 | 9 | 0362-1340 |
Citations | PageRank | References |
1 | 0.35 | 16 |
Authors | ||
3 |
Name | Order | Citations | PageRank |
---|---|---|---|
Cameron Swords | 1 | 42 | 2.42 |
Amr Sabry | 2 | 520 | 35.46 |
Sam Tobin-Hochstadt | 3 | 391 | 24.82 |