::: Home :::
Current version 1.4.2 (Jul-2005)
It is a platform for building applications using Artificial Autonomous Agents Programming Language (3APL) as the enabling logic for the deliberation cycles and internal knowledge representation. It is small enough to be used in Mobile Computing applications. Its binary version is distributed in Java 2 Micro Edition and Java 2 Standard Edition compilations.
click to load
Divulgation material used at
3APL is a programming language for implementing cognitive agents. It provides programming constructs for implementing agents' beliefs, goals, basic capabilities (such as belief updates, external actions, or communication actions) and a set of practical reasoning rules through which agents' goals can be updated or revised. The 3APL program is executed by means of an interpreter that deliberates based on the cognitive attitudes of that agent.
3APL-M is a platform designed to create prototypes (toys). It is designed to be easy to use, quick to learn and fully integrated to Java platform and programming environments. In simple words, it is a programming library whose API allows a Java application to call 3APL logic and deliberation structures, and vice-versa. Build a quick Agent demo application following the
It should be easy!
If it is
, give us a
What-is the Application Architecture?
click to enlarge
For detailed description, please refer to the MANUAL accessible from the left bar.
: encapsulates the Agent's components and provides the Java API.
Belief, Capabilities, Goal and Plan Rules
: 3APL structures, as described by Dastani et al. 2003 and Hindricks et al. 1999.
: implement the transition rules, as described in Dastani et al. 2003.
: the list of current Plans generated by the Deliberation Process.
: reduced Prolog engine, optimized for J2ME applications. The mProlog engine was developed based on the
project from Michael Winikoff. That code was heavily re-engineered, by introducing the required methods for the 3APL integration.
Sensor and Actuator interface
: Java Interfaces that allow the integration of the 3APL-M machinery to the external world.
: the generic interface for the networking infrastructure.
How the Deliberation Cycle works?
click to enlarge
click to enlarge
There are two types of Agents provided in the 3APL-M package: Agents with Simplified Deliberation Cycle (from Hindriks et al 1999) and Deliberative Agents that implement the Complete Deliberation Cycle (from Dastani et al 2003).
Simplified Deliberation Cycle
, implemented by the Agent class and presented by Hindriks et al 1999, is fixed and agents generate their plans by choosing the first applicable rule that matches a particular goal/desire. This means that an Agent generates only one plan for each goal, and only generates other plans if the initial plan fails. In this cycle, the PLANBASE is generated from the solution (expansion) of the PLANRULES, based on the BELIEFS and the first PLAN is selected for execution.
Complete Deliberation Cycle
, implemented by the DeliberativeAgent class, the Agents generate all possible plans and select the best plan using some appropriate criteria. This process results generating the plan base, a list of plans generated by the Deliberation Process. This list is available during the processing phase and can be manipulated by an external logic (supplied by the developer). This allows the creation of external Plan Analysers (the PlanRanker), which can be use to improve the deliberation cycle (for example, classify plans per utility). This reasoning cycle was presented by Dastani et al 2003.