Jadex User Guide

Release 0.96

1. June 2007
http://vsis-www.informatik.uni-hamburg.de/projects/jadex/

Alexander Pokahr

Lars Braubach

Distributed Systems Group
University of Hamburg, Germany
http://vsis-www.informatik.uni-hamburg.de

If you have support questions about Jadex please use the sourceforge help forum and mailing list for that purpose (available at http://sourceforge.net/projects/jadex/).


Table of Contents

1. Introduction
1.1. Requirements and Installation
1.2. Getting Started
1.2.1. Compile an Example
1.2.2. Start an Example Agent
2. Concepts of the Jadex BDI Reasoning Engine
2.1. The BDI Model of Jadex
2.1.1. The Beliefbase
2.1.2. The Goal Structure
2.1.3. Plan Specification
2.2. Agent Definition
2.3. Execution Model of a Jadex Agent
3. Agent Specification
3.1. Overview
3.2. Structure of Agent Definition Files (ADFs)
4. Imports
4.1. Import Examples
5. Capabilities
5.1. Capability Definition
5.2. Using Capabilities
5.3. Elements of a Capability
5.3.1. Making an Element Accessible for the Outer Capability
5.3.2. Defining an Abstract Element
5.4. Weak vs. Strong Export
6. Beliefs
6.1. Defining Beliefs in the ADF
6.2. Accessing Beliefs from within Plans
6.3. Dynamically Evaluated Beliefs
6.4. Propagation of Belief Changes
7. Goals
7.1. Common Goal Features
7.1.1. Example Goal
7.1.2. BDI Flags
7.2. Perform Goal
7.3. Achieve Goal
7.4. Query Goal
7.5. Maintain Goal
7.6. Creating and Dispatching New Goals
7.7. Goal Deliberation with "Easy Deliberation"
7.8. Meta Goal
8. Plans
8.1. Defining Plan Heads in the ADF
8.1.1. Plan Triggers
8.1.2. Defining Plan Applicability with Pre- and Context Conditions
8.1.3. Waitqueue
8.1.4. Parameters, Binding, and Parameter Mapping
8.2. Implementing a Plan Body in Java
8.2.1. Plan Success or Failure and BDI Exceptions
8.2.2. Atomic Blocks
9. Events
9.1. Internal Events
9.2. Message Events
9.2.1. Receiving Messages
9.2.2. Sending Messages
9.2.3. Using Ontologies and Content Languages
9.2.4. Using Conversations for Managing Sequences of Messages
9.3. Goal Events
10. Expressions
10.1. Expression Syntax
10.2. Expression Properties
10.3. Reserved Variables
10.4. Expressions Examples
10.5. ADF Expressions
10.6. OQL-like Select Statements
11. Conditions
11.1. ADF Conditions
12. Properties
13. Configurations
13.1. Capabilities
13.2. Beliefs
13.3. Goals
13.4. Plans
13.5. Events
14. Dynamic Models
14.1. Adding/Removing Capabilities at Runtime
14.2. Creating/Deleting Beliefs at Runtime
14.3. Creating/Deleting Goal Types at Runtime
14.4. Creating/Deleting Plan Types at Runtime
14.5. Creating/Deleting Event Types at Runtime
15. External Interactions
15.1. External Processes
15.2. Agent Listeners
16. Using Predefined Capabilities
16.1. The Agent Management System (AMS) Capability
16.1.1. Creating an Agent
16.1.2. Starting an Agent
16.1.3. Destroying an Agent
16.1.4. Suspending an Agent
16.1.5. Resuming an Agent
16.1.6. Searching for Agents
16.1.7. Shutting Down a Platform
16.2. The Directory Facilitator (DF) Capability
16.2.1. Registering an Agent Description
16.2.2. Keeping an agent description registered
16.2.3. Modifying a registration
16.2.4. Deregistration of services
16.2.5. Searching for agents and services
16.3. The Interaction Protocols Capability
16.3.1. FIPA Request Interaction Protocol (RP)
16.3.1.1. Initiator Side
16.3.1.2. Participant Side
16.3.2. FIPA Contract Net Interaction Protocol (CNP)
16.3.2.1. Initiator Side
16.3.2.2. Participant Side
16.3.2.3. Simplified Protocol Usage
16.3.3. FIPA Iterated Contract Net Protocol (ICNP)
16.3.3.1. Initiator Side
16.3.3.2. Participant Side
16.3.3.3. Simplified Protocol Usage
16.3.4. FIPA English Auction Interaction Protocol (EA)
16.3.4.1. Initiator Side
16.3.4.2. Participant Side
16.3.5. FIPA Dutch Auction Interaction Protocol (DA)
16.3.5.1. Initiator Side
16.3.5.2. Participant Side
16.3.6. Abnormal Termination of Protocols
16.3.6.1. Leaving an Interaction (Participant Side)
16.3.6.2. FIPA Cancel Meta Protocol (CM)
A. Changes and Compatibility Issues
A.1. New Features in 0.95 and 0.96
A.2. Incompatibilities to Release 0.941
A.2.1. Changes in the ADF Definition
A.2.2. Capability Changes
A.2.3. API Changes
B. Platform Adapters
B.1. The Jadex Standalone Adapter
B.1.1. Starting the Jadex Standalone Adapter
B.1.2. Starting Agents from the Command Line
B.2. The JADE Adapter
B.2.1. Starting the JADE Adapter
B.2.2. Using JADE Ontologies and Content Languages
B.2.3. Agent Migration and Persistence
B.2.4. Using JADE Behaviours
C. Add-Ons
C.1. Expression Compiler
C.2. Webbridge
C.3. Planner
C.4. Diet adapter (experimental)
D. FAQ+HOWTO
E. Legal Notice
E.1. Third-Party Software
Bibliography