Mandrake: Multiagent Systems as a Basis for Programming Fault-Tolerant Decentralized Applications

Published: 01 Jan 2023, Last Modified: 20 Oct 2024AAMAS 2023EveryoneRevisionsBibTeXCC BY-SA 4.0
Abstract: We define a decentralized software application as one that consists of autonomous agents that communicate through asynchronous messaging. Constructing a decentralized application involves designing agents as independent local computations that coordinate to realize the application's requirements. Moreover, a decentralized application is susceptible to faults manifested as message loss, delay, and reordering.We contribute Mandrake, a programming model for decentralized applications that addresses these challenges. Specifically, we adopt the construct of an information protocol that specifies messaging between agents purely in causal terms and can be correctly enacted by agents in a shared-nothing environment over nothing more than unreliable, unordered transport. Mandrake facilitates: implementing protocol-compliant agents by introducing a programming model; transforming fragile protocols into fault-tolerant ones with simple annotations; and a declarative policy language that makes it easy to implement fault-tolerance in agents based on the capabilities in protocols. In obviating the reliance on reliability and ordering guarantees in the communication infrastructure, Mandrake achieves some of the goals of the founders of networked computing from the 1970s.
Loading

OpenReview is a long-term project to advance science through improved peer review with legal nonprofit status. We gratefully acknowledge the support of the OpenReview Sponsors. © 2025 OpenReview