SPADE
Encyclopedia
SPADE 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.
s 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 agent
s. 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
.
and its main programming language is Python
. Similarly, the GUI is based on HTTP, accessible from many devices.
The interface features are:
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
multi-agent system
Multi-agent system
A multi-agent system is a system composed of multiple interacting intelligent agents. Multi-agent systems can be used to solve problems that are difficult or impossible for an individual agent or a monolithic system to solve...
platform developed in the Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...
programming language and based in the instant messaging
Instant messaging
Instant Messaging is a form of real-time direct text-based chatting communication in push mode between two or more people using personal computers or other devices, along with shared clients. The user's text is conveyed over a network, such as the Internet...
XMPP technology. Some of the most notable features of the SPADE platform include support for virtual organizations, presence notification, FIPA
FIPA
The Foundation for Intelligent Physical Agents is a body for developing and setting computer software standards for heterogeneous and interacting agents and agent-based systems....
compliance and independence of language and platform.
Summary
SPADE is a platform for multi-agent systemMulti-agent system
A multi-agent system is a system composed of multiple interacting intelligent agents. Multi-agent systems can be used to solve problems that are difficult or impossible for an individual agent or a monolithic system to solve...
s developed in 2005 at the Polytechnic University of Valencia
Polytechnic University of Valencia
The Polytechnic University of Valencia is a Spanish university located in Valencia, with a focus on science and technology. It was founded in 1968 as the Higher Polytechnic School of Valencia and became a university in 1971, but some of its schools are more than 100 years old.- Characteristics...
. The platform was created as a proof of concept to test the technology of instant messaging as a transport protocol for Intelligent agent
Intelligent agent
In artificial intelligence, an intelligent agent is an autonomous entity which observes through sensors and acts upon an environment using actuators and directs its activity towards achieving goals . Intelligent agents may also learn or use knowledge to achieve their goals...
s. Since then, the project has continued to grow and to add new features taking advantage of the flexibility of the instant messaging
Instant messaging
Instant Messaging is a form of real-time direct text-based chatting communication in push mode between two or more people using personal computers or other devices, along with shared clients. The user's text is conveyed over a network, such as the Internet...
protocol, based on XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
, and a number of extensions developed for it, extensions that are useful within the framework of the multi-agent system
Multi-agent system
A multi-agent system is a system composed of multiple interacting intelligent agents. Multi-agent systems can be used to solve problems that are difficult or impossible for an individual agent or a monolithic system to solve...
.
The SPADE platform is based on a set of standards, the most notable being FIPA
FIPA
The Foundation for Intelligent Physical Agents is a body for developing and setting computer software standards for heterogeneous and interacting agents and agent-based systems....
and the XMPP/Jabber
Extensible Messaging and Presence Protocol
Extensible Messaging and Presence Protocol is an open-standard communications protocol for message-oriented middleware based on XML . The protocol was originally named Jabber, and was developed by the Jabber open-source community in 1999 for near-real-time, extensible instant messaging , presence...
.
Features
The main features of the SPADE platform are:- FIPAFIPAThe Foundation for Intelligent Physical Agents is a body for developing and setting computer software standards for heterogeneous and interacting agents and agent-based systems....
standards support using the XMPP protocol for instant messagingInstant messagingInstant Messaging is a form of real-time direct text-based chatting communication in push mode between two or more people using personal computers or other devices, along with shared clients. The user's text is conveyed over a network, such as the Internet...
(AMS and DF agents included) - Presence Notification among agents.
- Virtual Organizations based on multi-conference protocol MUC.
- P2PPeer-to-peerPeer-to-peer computing or networking is a distributed application architecture that partitions tasks or workloads among peers. Peers are equally privileged, equipotent participants in the application...
communication between agents. - Remote Invocation of services between agents using the standard XML-RPCXML-RPCXML-RPC is a remote procedure call protocol which uses XML to encode its calls and HTTP as a transport mechanism. "XML-RPC" also refers generically to the use of XML for remote procedure call, independently of the specific protocol...
. - SL0 and RDFResource Description FrameworkThe Resource Description Framework is a family of World Wide Web Consortium specifications originally designed as a metadata data model...
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: JADEJava Agent Development FrameworkJava Agent DEvelopment Framework, or JADE, is a software framework for multi-agent systems, in Java that has been in development since at least 2001...
(via HTTP or XMPP) and SIMBASimbaSimba is a lion character and the protagonist of Disney's most successful animated feature film, The Lion King. He is the son of Mufasa and Sarabi, nephew of Scar, mate of Nala, and father of Kiara. He has golden fur and when he grows into an adult, he has an auburn mane...
. - Publication and subscription of events using the standard PubSubPubSubPubSub was a prospective search engine for searching blogs, press releases, Usenet, USGS earthquake alerts, SEC filings and FAA Flight Delay information....
. - Web-based graphical interface.
Web-based Graphical Interface
SPADE is a multiplatform interoperable agent platform, since the communication protocol is based on XMLXML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
and its main programming language is Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...
. 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 CodeQR CodeA QR code is a type of matrix barcode first designed for the automotive industry. More recently, the system has become popular outside of the industry due to its fast readability and comparatively large storage capacity. The code consists of black modules arranged in a square pattern on a white...
. - Agent introspection.
- Message sniffer.
- Search for agents and services.
External links
- SPADE homepage.
- pyChatter instant messaging software based on SPADE.
- Review of the Association Francophone Python