Enabling BDI group plans with coordination middleware: semantics and implementation - Cranefield, Stephen (Autonomous agents and multi-agent systems, 2021)
This paper investigates the use of group goals and plans as programming abstractions that provide explicit constructs for goals and plans involving coordinated action by groups of agents, with a focus on the BDI agent model. We define a group goal construct, which specifies subgoals that the group members must satisfy for the group goal to succeed, subject to timeouts on the members beginning work on the goal, and then completing their subgoals. A group plan containing one or more group goals can be dynamically distributed amongst a set of agents and jointly executed without a need for explicit coordinating communication between agents. We define formal semantics that model the coordination needed to determine a group goal’s success or failure as updates to a shared state machine for the group goal. We implement the semantics directly as rewrite rules in Maude, and verify using LTL model checking that the intended coordination behaviour is achieved. An implementation of group plans and goals for the Jason agent platform is also described, based on an integration of Jason with the ZooKeeper coordination middleware via a set of generic Jason plans supporting group goals, and the Apache Camel integration framework. A evaluation of the performance of this implementation is presented, showing that the approach is scalable.