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

Bram Vandenbogaerde, Quentin Stiévenart, Coen De Roover

Onderzoeksoutput: Conference paper

1 Citaat (Scopus)
11 Downloads (Pure)

Samenvatting

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.
Originele taal-2English
TitelProceedings of the ACM on Programming Languages
UitgeverijACM
Pagina's515-543
Aantal pagina's29
Volume8
UitgaveICFP
DOI's
StatusPublished - 15 aug 2024
Evenement29th ACM SIGPLAN International Conference on Functional Programming - Milan, Italy
Duur: 2 sep 20247 sep 2024
https://icfp24.sigplan.org/

Publicatie series

NaamProceedings of the ACM on Programming Languages
UitgeverijACM
NummerICFP
Volume8
ISSN van geprinte versie2475-1421

Conference

Conference29th ACM SIGPLAN International Conference on Functional Programming
Verkorte titelICFP"24
Land/RegioItaly
StadMilan
Periode2/09/247/09/24
Internet adres

Bibliografische nota

Publisher Copyright:
© 2024 Association for Computing Machinery. All rights reserved.

Citeer dit