Description
Actor languages model concurrency as processes that communicate through asynchronous message sends. Unfortunately, as the complexity of these systems increases, it becomes more difficult to compose and integratetheir components. This is because of assumptions made by components about their communication partners which may not be upheld when they remain implicit. In this paper, we bring design-by-contract programming
to actor programs through a contract system that enables expressing constraints on receiver-related properties. Expressing properties about the expected receiver of a message, and about this receiver’s communication
behavior, requires two novel types of contracts. Through their recursive structure, these contracts can govern entire communication chains. We implement the contract system for an actor extension of Scheme, describe it formally, and show how to assign blame in case of a contract violation. Finally, we prove our contract system
and its blame assignment correct by formulating and proving a blame correctness theorem.
Period | 2 Sep 2024 → 7 Sep 2024 |
---|---|
Event title | 29th ACM SIGPLAN International Conference on Functional Programming |
Event type | Conference |
Location | Milan, Italy |
Degree of Recognition | International |
Related content
-
Research output
-
Blame-Correct Support for Receiver Properties in Recursively-Structured Actor Contracts
Research output: Chapter in Book/Report/Conference proceeding › Conference paper
-
Projects