This paper discusses the need for an effective and practical BDI-based agent-oriented programming language with formal semantics. 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 having formal semantics while realising an effective integration of declarative and imperative style programming. This is done by introducing a set of practical programming constructs, including both declarative goals and events (which are used interchangeably in other programming languages), and specifying their operational semantics.
展开▼