Blame-Correct Support for Receiver Properties in Recursively-Structured Actor Contracts

Activity: Talk or presentationTalk or presentation at a conference

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 integrate
their 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.
Period2 Sep 20247 Sep 2024
Event title29th ACM SIGPLAN International Conference on Functional Programming
Event typeConference
LocationMilan, Italy
Degree of RecognitionInternational