Information About3apl |
| CATEGORIES ABOUT 3APL | |
| multi-agent systems | |
|
An Abstract Agent Programming Language or '''Artificial Autonomous Agents Programming Language''' or '''3APL''' (pronounced triple-A-P-L) is an experimental Tool and Programming Language for the development, implementation and testing of multiple Cognitive Agent s using the Belief-Desire-Intention (BDI) approach. OVERVIEW 3APL was developed and is maintained by a team at the Computer Science department of the University Of Utrecht in the Netherlands . It facilitates specification of cognitive agent behavior using actions, beliefs, goals, plans, and rules. It also allows inter-agent communication using FIPA -like formal Semantic s. It has been subject to at least 15 Paper s and Conference s, and at least 4 Theses . PLATFORM The 3APL Platform has a visual interface for the monitoring and Debug ging of agents being run therein, and a Syntax -coloring Editor for Source Code editing. It has been released as a Java -based Software , which comes with some specification Java Interface s that can be used to develop Java-based Plug-in s and Libraries . These can be used to provide a visible representation of a virtual environment, for instance. A 3APL platform can also connect in Client or Server roles to other 3APL platforms across a Network , to allow Communication among 3APL agents on each platform. A lightweight version of 3APL for Mobile Application s, named 3APL-M " Toymaker ", has also been released. LANGUAGE The 3APL language is relatively simple. The syntax has basic Boolean Logical Operator s AND , OR and NOT , with IF-THEN-ELSE Conditional Statement s, and WHILE-DO Control Flow loop structures. While temporary Variable s cannot be created except by calling plug-in methods or belief/goal conditions, Iterative counter loops can be constructed using a combination of WHILE-DO loops, beliefs and capabilities. A 3APL agent contains formal definitions of agent beliefs, capabilities, goals and plans. Specifically, there are six skeletal blocks that must be defined.
The beliefs, defined using Prolog syntax, are used to remember information and to perform logical Computation s. Beliefs can be read by one another, edited by the capabilities, and read by conditional statements in the plans. The initial beliefs of an agent can be defined in its belief base.
Capabilities define the prerequisites and effects of actions in a STRIPS -like format, reading preexisting beliefs, removing some using the NOT operator, and adding new ones by stating them.
Goals are also defined using Prolog syntax, and new goals can be adopted during runtime. Initial goals are defined in the goal base.
Each goal ideally has associated goal planing rules, its PG rules, which serve as an abstract plans and are called from the goals as long as their guard conditions are met.
|
|
|