A multi-agent system (MAS) is a system composed of several software agents, collectively capable of reaching goals that are difficult to achieve by an individual agent or monolithic system.
The exact nature of the agents is a matter of some controversy. They are sometimes claimed to be autonomous. For example a household floor cleaning robot can be autonomous in that it is dependent on a human operator only to start it up. On the other hand, in practice, some agents are under active human supervision, becoming interdependent systems.
MAS systems are also referred to as "self-organized systems" as they tend to find the best solution for their problems "without intervention". There is high similarity here to physical phenomena, such as energy minimizing, where physical objects tend to reach the lowest energy possible, within the physical constrained world.
The main feature which is achieved when developing MAS systems is flexibility, since a MAS system can be added to, modified and reconstructed, without the need for detailed rewriting of the application. These systems also tend to be rapidly self-recovering and failure proof, usually due to the heavy redundancy of components and the self managed features, referred to, above.
In order to prevent the proliferation of incompatible agent systems and to promote the agent-based technology and the interoperability of its standards with other technologies, the Foundation for Intelligent Physical Agents (FIPA) was formed. It is an IEEE Computer Society standards organization.
The FIPA has produced a set of documents (called "FIPA Specifications") that together conform the modern standard (or HOW-TO) in terms of agent technology. It starts with the definition of the agent platform, the "home" of the agents. It is the environment where the agents are placed and where their activities are performed. The software foundation for a MAS-based solution and the network server they connect to.
The FIPA defines a model for an agent platform and a communication language for the agents. All the platforms that want to be FIPA-compliant should follow this model and understand the language, and SPADE is no exception. The compliance requires basically four features:
An Agent Communication Channel (ACC). A mechanism which allows the agents (and the platform itself) to communicate with one another.
An Agent Management System (AMS). A way for the agents to be registered in the platform and to be reachable for contact (kind of a White Pages service).
A Directory Facilitator (DF), which is a kind of public service in which agents publish the services they offer, something akin of a Yellow Pages service.
Support for the FIPA Agent Communication Language (ACL), which is a common language for all agents to communicate with. Essentially, it is presented in a couple of flavors: one based on a Lisp-like syntax environment (using an obscene amount of parenthesis), and a clear, pure, practical and beautiful syntax based on XML.
SPADE implements all these features (and a few others) and thus is a FIPA-compliant platform.