Mandrake: multiagent systems as a basis for programming fault-tolerant decentralized applications

被引:0
作者
Samuel H. Christie
Amit K. Chopra
Munindar P. Singh
机构
[1] Lancaster University,
[2] North Carolina State University,undefined
来源
Autonomous Agents and Multi-Agent Systems | 2022年 / 36卷
关键词
Fault tolerance; Agent programming; Protocols;
D O I
暂无
中图分类号
学科分类号
摘要
We conceptualize a decentralized software application as one constituted from autonomous agents that communicate via asynchronous messaging. Modern software paradigms such as microservices and settings such as the Internet of Things evidence a growing interest in decentralized applications. Constructing a decentralized application involves designing agents as independent local computations that coordinate successfully 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 tackles these challenges without relying on infrastructure guarantees. 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 (1) implementing protocol-compliant agents by introducing a programming model; (2) transforming protocols into fault-tolerant ones with simple annotations; and (3) a declarative policy language that makes it easy to implement fault-tolerance in agents based on the capabilities in protocols. Mandrake’s significance lies in demonstrating a straightforward approach for constructing decentralized applications without relying on coordination mechanisms in the infrastructure, thus achieving some of the goals of the founders of networked computing from the 1970s.
引用
收藏
相关论文
共 51 条
[1]  
Agha G(1990)Concurrent object-oriented programming Communications of the ACM (CACM) 33 125-141
[2]  
Allman M(1998)On the generation and use of TCP acknowledgments ACM SIGCOMM Computer Communication Review 28 4-21
[3]  
Avizienis A(2004)Basic concepts and taxonomy of dependable and secure computing IEEE Transactions on Dependable and Secure Computing 1 11-33
[4]  
Laprie JC(2018)Type checking for protocol role enactments via commitments Autonomous Agents and Multi-Agent Systems 32 349-386
[5]  
Randell B(1994)A response to Cheriton and Skeen’s criticism of causal and totally ordered communication Operating Systems Review 28 11-21
[6]  
Landwehr C(1991)Lightweight causal and atomic group multicast ACM Transactions on Computer Systems 9 272-314
[7]  
Baldoni M(2019)Dimensions in programming multi-agent systems Knowledge Engineering Review (KER) 34 e2-1393
[8]  
Baroglio C(2020)An evaluation of communication protocol languages for engineering multiagent systems Journal of Artificial Intelligence Research (JAIR) 69 1351-53
[9]  
Capuzzimati F(2021)Bungie: Improving fault tolerance via extensible application-level protocols IEEE Computer 54 44-68
[10]  
Micalizio R(2020)Protocols over things: A decentralized programming model for the Internet of Things IEEE Computer 53 60-343