JADE (Java Agent DEvelopment Framework)
Type: full-code · Vendor: Telecom Italia Lab (TILAB) · Language: Java · License: LGPL-2.0-only · Status: active · Status in practice: mature · First released: 2000
Provide a FIPA-compliant Java platform where agents communicate through typed ACL messages and standard interaction protocols such as Contract Net.
Description. JADE is a Java software framework for developing multi-agent applications in compliance with the FIPA specifications. Agents exchange messages encoded in the FIPA Agent Communication Language, where each message carries a performative such as REQUEST or INFORM. The framework ships behaviour classes implementing standard FIPA interaction protocols, including Contract Net. It was first released as open source in 2000 by Telecom Italia under the LGPL license.
Agent loop shape. Each agent runs its behaviours and communicates with peers by sending FIPA ACL messages typed by performative; the runtime handles message transport, encoding, and the agent life-cycle, and interaction-protocol behaviour classes drive multi-step exchanges such as a Contract Net negotiation.
Primary use cases
- building FIPA-compliant multi-agent systems in Java
- exchanging typed ACL messages between agents
- running standard interaction protocols such as Contract Net
Key concepts
- ACLMessage → performative-message (docs) — The unit of inter-agent communication: a FIPA-ACL message with a performative (communicative act), sender, receivers, content, content language, and ontology.
- Behaviour (docs) — A task an agent carries out; an agent schedules several behaviours cooperatively (non-preemptively) on its single thread, and interaction-protocol behaviours encode multi-step exchanges.
- Directory Facilitator (DF) → tool-agent-registry (docs) — The platform's yellow-pages agent where providers register service types and clients search for providers; DFs can federate across platforms.
- Agent Platform / container → inter-agent-communication (docs) — The distributed runtime: agents live in containers across one or more hosts, and JADE handles message transport, encoding, and the agent life-cycle between them.
Patterns this full-code implements —
- ★★Contract Net Protocol
JADE ships first-class ContractNetInitiator and ContractNetResponder behaviour classes implementing the FIPA Contract Net protocol: a manager solicits proposals via a CFP, responders propose, and the…
- ★★Performative Message
JADE implements the FIPA Agent Communication Language, where each inter-agent message is an ACLMessage carrying a performative (such as REQUEST, INFORM, or PROPOSE) rather than free-form prose.
- ★Tool/Agent Registry
The Directory Facilitator (DF) is JADE's yellow-pages registry: provider agents register the service types they perform and client agents search the DF for providers of a given service, through the D…
- ★Inter-Agent Communication
JADE defines how agents exchange messages across boundaries: same-container delivery uses Java events, agents in different containers on one platform use Java RMI, and cross-platform delivery uses II…
- ★Tool Discovery
Agents resolve which peers provide which services at runtime by querying the DF rather than hardcoding agent addresses, via DFService.search().
- ★Actor-Model Agents
Each JADE agent runs on its own thread of execution and maintains a private message queue into which the runtime posts incoming ACL messages, processing them asynchronously rather than sharing mutabl…
Neighbourhood
Click any neighbour to follow the lineage. Scroll to zoom, drag to pan.