Implementing Cognitive Agents in 3 APL

3APL is a programming language for implementing cognitive agents. We demonstrate a Java implementation of the 3APL interpreter developed at the Institute of Information and Computing Sciences at Utrecht University. The presented work is a part of a NWO research project. More information on this project can be found at http://www.cs.uu.nl/3apl/. The demonstration, which takes less than 30 minutes, consists of executing several 3APL programs. The aim of this demonstration is to explain various aspects of the 3APL such as the architecture of the programmable cognitive agents, the 3APL programming constructs, the working of the interpreter, the expressiveness of the 3APL programming language, and the ease with which cognitive agents can be programmed. 1 3APL Architecture The programmable software agent that we demonstrate is a cognitive agent that has a mental state consisting of beliefs, basic actions, goals, a set of so-called practical reasoning rules for revising goals, and an interpreter. The beliefs represent the robot’s general world knowledge as well as its knowledge about the surrounding environment. The basic actions that the agent can perform may be sensory, physical, and mental actions. The practical reasoning rules can be applied to revise actions that are blocked, goals that are not achievable, to optimize goals, or to generate reactive behavior. Finally, the interpreter determines the flow of control among the abovementioned ingredients. This cognitive architecture, which we call the 3APL architecture, is illustrated in Figure 1. 2 Implementation of the 3APL Interpreter The abstract specification language for 3APL agents is already presented in [1]. In order to implement a 3APL agent, a set of programming constructs is proposed for each of the 3APL modules. An interpreter is implemented in Java to execute programmed 3APL agents. The implemented interpreter consists of a deliberation cycle through which practical reasoning rules and goals are selected and

[1]  Koen V. Hindriks,et al.  Agent Programming in 3APL , 1999, Autonomous Agents and Multi-Agent Systems.