2APL: A Practical Agent Programming Language
2APL (pronounced as double-a-p-l) is an agent-oriented programming language that facilitates the implementation of multi-agent systems. At the multi-agent level, it provides programming constructs to specify a multi-agent system in terms of a set of individual agents and a set of environments in which they can perform actions. At the individual agent level, it provides programming constructs to implement cognitive agents based on the BDI architecture. In particular, it provides programming constructs to implement an agent’s beliefs, goals, plans, actions (such as belief updates, external actions, or communication actions), events, and a set of rules through which the agent can decide which actions to perform. 2APL is a modular programming language allowing the encapsulation of cognitive components in modules. 2APL supports the implementation of both reactive and pro-active agents.
The 2APL programming language comes with its corresponding execution platform and an Eclipse plug-in editor. They are developed to support the development and execution of multi-agent programs. The platform provides a graphical interface through which a user can load, execute, and debug 2APL multi-agent programs using different execution modes and several debugging/observation tools. The platform can be used in two modes. In the stand-alone mode or in distributed mode using the Jade platform. The last option allows a multi-agent program to be run on different machines connected in a network.