Adding distribution and fault tolerance to Jason

Á. Fernández-Díaz, C. Benac-Earle, L. Fredlund
2015 Science of Computer Programming  
In this paper we describe an extension of the multiagent system programming language Jason with constructs for distribution and fault tolerance. The standard Java-based Jason implementation already does provide a distribution mechanism, which is implemented using the JADE library, but to use it effectively some Java programming is often required. Moreover, there is no support for fault tolerance. In contrast this paper develops constructs for distribution and fault tolerance wholly integrated
more » ... Jason, permitting the Jason programmer to implement complex distributed systems entirely in Jason itself. The fault tolerance techniques implemented allow the agents to detect, and hence react accordingly, when other agents have stopped working for some reason (e.g., due to a software or a hardware failure) or cannot anymore by reached due to a communication link failure. The introduction of distribution and fault tolerance in Jason represent a step forward towards the coherent integration of successful distributed software techniques, into the agent based software paradigm. The proposed extension to Jason has been implemented in eJason, an Erlang-based implementation of Jason. In fact, in this work we essentially import the distribution and fault tolerance mechanisms from the Erlang programming language into Jason, a task which requires adaptation of the basic primitives due to the difference between a process based functional programming language (Erlang) and a language for programming BDI (Belief-Desire-Intention) agent based systems (Jason).
doi:10.1016/j.scico.2014.01.007 fatcat:6jkaaidccvbfzdz5h36nje7yki