Overview of SPADE
|Developer(s)||J. Palanca and G. Aranda|
|Stable release||2.1.1 / November 24, 2012|
|Operating system||Linux, Mac OS X, Microsoft Windows, FreeBSD, Solaris|
|License||GNU Lesser General Public License|
SPADE (Smart Python multi-Agent Development Environment)  is a free software multi-agent system platform developed in the Python programming language and based in the instant messaging XMPP technology. Some of the most notable features of the SPADE platform include support for virtual organizations, presence notification, FIPA compliance and independence of language and platform.
SPADE is a platform for multi-agent systems developed in 2005 at the Polytechnic University of Valencia. The platform was created as a proof of concept to test the technology of instant messaging as a transport protocol for Intelligent agents. Since then, the project has continued to grow and to add new features taking advantage of the flexibility of the instant messaging protocol, based on XML, and a number of extensions developed for it, extensions that are useful within the framework of the multi-agent system. The SPADE platform is based on a set of standards, the most notable being FIPA and the XMPP/Jabber.
The main features of the SPADE platform are:
- FIPA standards support using the XMPP protocol for instant messaging (AMS and DF agents included)
- Presence Notification among agents.
- Virtual Organizations based on multi-conference protocol MUC.
- P2P communication between agents.
- Remote Invocation of services between agents using the standard XML-RPC.
- SL0 and RDF content languages processors.
- BDI agent model, based on beliefs, desires and intentions.
- Behavior models: Cyclic, Periodic, Timeout, One-Shot, Finite State Machine, and based on events.
- Support for communication with other platforms using different transport protocols: JADE (via HTTP or XMPP) and SIMBA.
- Publication and subscription of events using the standard PubSub.
- Web-based graphical interface.
Web-based Graphical Interface
SPADE is a multiplatform interoperable agent platform, since the communication protocol is based on XML and its main programming language is Python. Similarly, the GUI is based on HTTP, accessible from many devices. The interface features are:
- Both agents and the platform itself export their own web interfaces.
- The interface is configurable through templates.
- Each agent exports its identifier as a QR Code.
- Agent introspection.
- Message sniffer.
- Search for agents and services.
You can install SPADE with easy_install or pip:
pip install SPADE
It can also be installed from inside the package using the setup.py script:
python setup.py install
...and the package will install automatically.
- Gregori, Miguel; Palanca, Javier; Aranda, Gustavo (2006). "A jabber-based multi-agent system platform" (pdf). AAMAS '06: Proceedings of the fifth international joint conference on Autonomous agents and multiagent systems (Hakodate (Japan)): 1282–1284. doi:10.1145/1160633.1160866. ISBN 1-59593-303-4.
- Argente, Estefanía; Palanca, Javier; Aranda, Gustavo; Julián, Vicente; Botti, Vicent; García-Fornes, Ana; Espinosa, Agustín (2007). "Supporting Agent Organizations" (pdf). Multi-Agents Systems and Applications V. 4696/2007: 236–245. doi:10.1007/978-3-540-75254-7_24.
- Aranda, Gustavo; Palanca, Javier; Espinosa, Agustín; Terrasa, Andrés; García-Fornes, Ana (2006). "Towards Developing Multi-agent Systems in Ada" (pdf). Reliable Software Technologies – ADA-EUROPE 2006 (Porto (Portugal)). 4006/2006: 131–142. doi:10.1007/11767077_11.
- Palanca, Javier; Escrivá, Miguel; Aranda, Gustavo; García-Fornes, Ana; Julián, Vicente; Botti, Vicent (2006). "Adding New Communication Services to the FIPA Message Transport System" (pdf). Multi-Agents System Technologies. 4196/2006: 1–11. doi:10.1007/11872283_1.