This paper discusses the need for an effective and practical BDI-based agentoriented programming language. It proposes an alternative by presenting the syntax and semantics of a programming language, called 2APL (A Practical Agent Programming Language). This programming language facilitates the implementation of multi-agent systems consisting of individual cognitive agents. 2APL distinguishes itself from other BDI-based agent-oriented programming languages by realising an effective integration of declarative and imperative style programming. This is done by introducing both declarative goals and events (which are used interchangeably in other programming languages) and by providing practical programming constructs.
Mehdi Dastani, John-Jules Ch. Meyer