3APL-M Logo 3APL-M
Platform for Lightweight Deliberative Agents

::: Home :::

Current version 1.4.2 (Jul-2005)


What-is 3APL-M?

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.

3APL-M Brochure

3APL-M Brochure
click to load

Divulgation material used at AAMAS2005 DEMO session.

What-is 3APL?

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.

Why 'toymaker'?

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 MANUAL . It should be easy! If it is NOT , give us a shout .

What-is the Application Architecture?

Simplified Cycle
click to enlarge

  • 3APL Machinery : 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.
  • Deliberation process : implement the transition rules, as described in Dastani et al. 2003.
  • Plan Base : the list of current Plans generated by the Deliberation Process.
  • mProlog : reduced Prolog engine, optimized for J2ME applications. The mProlog engine was developed based on the W-Prolog 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.
  • Communicator : the generic interface for the networking infrastructure.
For detailed description, please refer to the MANUAL accessible from the left bar.

How the Deliberation Cycle works?

Simplified Cycle
click to enlarge

Complete Cycle
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).

The 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.

In the 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.

3APL-M: Platform for Lightweight Deliberative Agents
Powered by XML and XSLT.
Last updated: Thu Jul 28 19:50:56 CEST 2005