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

Mandrake: multiagent systems as a basis for programming fault-tolerant decentralized applications.
复制标题

DOI:
10.1007/s10458-021-09540-8
复制
发表时间:
2022
影响因子:
1.9
通讯作者:
Singh MP
Singh MP
中科院分区:
计算机科学4区
文献类型:
--
作者:
Christie SH;Chopra AK;Singh MP

文献摘要

参考文献

被引文献

相似文献

我们将分散式软件应用程序概念化为通过异步消息传递进行通信的自治代理。微服务等现代软件范例和物联网等设置证明了人们对去中心化应用程序的兴趣越来越大。构建一个去中心化的应用程序涉及到将代理设计为独立的本地计算,这些计算成功地协调以实现应用程序的需求。此外,去中心化的应用程序容易出现错误,表现为消息丢失,延迟和重新排序。我们贡献了Mandrake,这是一种去中心化应用程序的编程模型,可以在不依赖基础设施保证的情况下解决这些挑战。具体而言,我们采用的信息协议,指定纯粹的因果关系的代理之间的消息传递,可以正确地制定代理在一个共享的环境中,没有什么比不可靠的,无序的运输。Mandrake促进了(1)通过引入编程模型来实现协议兼容的代理;(2)将协议转换为具有简单注释的容错协议;以及(3)声明性策略语言,可以轻松地基于协议中的功能在代理中实现容错。Mandrake的意义在于展示了一种直接的方法来构建分散的应用程序,而不依赖于基础设施中的协调机制,从而实现了20世纪70年代网络计算创始人的一些目标。
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.
DOI: 10.1145/128738.128742
发表时间: 1991-08-01
影响因子: 1.5
作者:
BIRMAN, K;SCHIPER, A;STEPHENSON, P
通讯作者: STEPHENSON, P
DOI: 10.1109/mc.2021.3052147
发表时间: 2021-05-01
期刊: COMPUTER
影响因子: 2.2
作者:
Christie, Samuel H., V;Chopra, Amit Khushwant;Singh, Munindar P.
通讯作者: Singh, Munindar P.
DOI: 10.1145/83880.84528
发表时间: 1990-09-01
影响因子: 22.7
作者:
AGHA, G
通讯作者: AGHA, G
DOI: 10.1007/s10458-018-9382-3
发表时间: 2018-05-01
影响因子: 1.9
作者:
Baldoni, Matteo;Baroglio, Cristina;Micalizio, Roberto
通讯作者: Micalizio, Roberto
DOI: 10.1109/mc.2020.3023887
发表时间: 2020-12-01
期刊: COMPUTER
影响因子: 2.2
作者:
Christie, Samuel H., V;Smirnova, Daria;Singh, Munindar P.
通讯作者: Singh, Munindar P.