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

Activiteit: Talk 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.
Periode2 sep 20247 sep 2024
Evenementstitel29th ACM SIGPLAN International Conference on Functional Programming
EvenementstypeConference
LocatieMilan, Italy
Mate van erkenningInternational