Open Standards and Open Source
for Agent-Based Systems
Centre de Recherche de Motorola Paris Network Agents Research Group
Motorola Fujitsu Laboratories of America, Inc.
Gif sur Yvette, 91193 Paris, France Sunnyvale, California 94085, USA
Artificial Intelligence Laboratory
Ecolé Polytechnique Fédérale de Lausanne
Lausanne, CH-1015 Switzerland
This paper provides and overview of the FIPA standardisation effort: outlining recent progress, providing an introduction to the current set of FIPA specifications, listing current open source implementations as well as outlining current and future work.
The world is becoming more connected. Internet usage is growing explosively, mobile data services are reaching users worldwide and businesses are moving to the web to connect with the customers, suppliers and partners. Agent technology has the potential to play a key role in this “revolution” by automating processes, enriching system-system communication and bringing more intelligence service provision. To realise this potential, agents require standards, they need to communicate to discover their peers, to negotiate and to co-operate in an open environment where everybody can add their contribution when and how it is deemed appropriate.
This article provides an update on the ongoing FIPA Agent standardisation effort at a time when agent standards seem more relevant than ever. Sections 2, 3 and 4 describe the new structure of FIPA, recent advances, the current set of specification and provide an overview of current open source implementations. Section 5 outlines ongoing and future activities and Section 6 concludes.
The Foundation for Intelligent Physical Agents (FIPA) was formed in 1996 as a non-profit organisation with the remit of producing software standards for heterogeneous and interacting agents and agent-based systems across multiple vendors' platforms. This is expressed more formally in FIPA's official mission statement:
The promotion of technologies and interoperability specifications that facilitate the end-to-end interworking of intelligent agent systems in modern commercial and industrial settings.
The emphasis here is therefore on the practical commercial and industrial uses of agent systems. The aim is to bring together the latest advances in agent research with industry best practice in software, networks and business systems.
FIPA undertakes its work at meetings that are held four times a year and conducts its standardisation process in a collaborative and open manner as specifications are publicly accessible during their life time and participation to meetings is free of charge.
FIPA is organised and structured according to two groups:
· The FIPA Board of Directors (BoD) is responsible for managing and conducting the business of the FIPA organisation.
· The FIPA Architecture Board (FAB) is the authority within FIPA that is responsible for ensuring the consistency, accuracy and suitability of FIPA’s technical work.
· The FIPA secretariat, in charge of administration, logistics, membership and information dissemination of FIPA.
· The Image committee is building some communication channels for FIPA and presentations of the standard inside and outside the Agent Community.
FIPA's core standardisation activities are centred around the creation and maintenance of specifications.
· Technical Committees (TCs) produce technical work and write the FIPA specifications. The life cycle of a TC starts with a work plan submitted to the FAB. If approved, the FAB proposes to create a TC, the BoD takes the decision and the TC is created with the mission to fulfil the work plan.
· Working Groups (WGs) are designed to carry out other aspects of FIPA's work, which are not necessarily defined by technology; they may have an application focus or be responsible for coordinating implementation activities. The lifecycle of a WG is similar to the one of a TC.
· Special Interest Groups (SIGs) undertake auxiliary work which is of interest to sections of FIPA membership, such as liasing with other standards bodies and dealing with emerging technologies which might be suitable for standardisation.
The year 2000 has seen intense activity within FIPA and great changes in the technological landscape which forms the backdrop for its activities. This has resulted in both technical advances and changes to FIPA’s structure and specification process. The main procedural changes can be summarised as follows:
Technical work has also made significant progress:
Since January 2000, FIPA has adopted a new procedure for classifying, organising and releasing specifications to ensure coherence, completeness and consistency of its work as well as its relevance to industrial and commercial interests. This section provides an overview of the new specification structure and the current set of FIPA specifications.
FIPA specifications are divided into five categories: Applications, Abstract Architecture, Agent Communication, Agent Management and Agent Message Transport (see Figure 1). Each area of specifications has one or more specification documents assigned to it and involved one or more technical committees or working groups.
Applications Abstract Architecture Agent Communication Agent Management Agent Message Transport
Agent Message Transport
Figure 1: FIPA Specification breakdown
The purpose of the FIPA Abstract Architecture (see [FIPA00001]) is to foster interoperability and reusability, this leads to the identification of architectural abstractions linked by their relationships. It makes a distinction between those elements which can easily be defined in an abstract manner, such as agent message transport, FIPA ACL, directory services and content languages, and between those elements that cannot, such as agent management and agent mobility. These are considered difficult to represent abstractly since they occur too close to the concrete realisation (implementation) of an agent system and very little commonality can be derived from analysing them. Yet, these issues will have to be addresses by developers and the abstract architecture will provide a number of instantiation guidelines in the future for specific groupings of implementation technologies.
The first concrete realization of the abstract architecture will be the Java Agent Service project which is being developed as part of the Java Community Process.
The FIPA Agent Message Transport Specifications deal with the delivery and representation of messages across different network transport protocols, including wireline and wireless environments.
At the message transport level, a message consists of a message envelope and a message body. The envelope contains specific transport requirements and information that is used by the Message Transport Service (MTS) on each agent platform to route and handle messages. The message body is the payload and is usually expressed in FIPA ACL but is opaque to the MTS since it may be compressed or encoded.
Figure 2: Agent Message Transport Reference Model
The agent message transport reference model provides facilities for (see Figure 2):
· General support for an MTS within an agent platform (see [FIPA00067]).
· Guidelines for using specific Message Transport Protocols (MTPs), such as IIOP (see [FIPA00075]), HTTP (see [FIPA00084]) and WAP (see [FIPA00076]).
· Message envelope representations that are suitable for each MTP, such as an XML encoding for HTTP (see [FIPA00085]) and a bit-efficient encoding for WAP (see [FIPA00088]).
· FIPA ACL representations, such as a string encoding (see [FIPA00070]), an XML encoding (see [FIPA00071]) and a bit-efficient encoding (see [FIPA00069]).
The MTS on each agent platform can support any number of message transport protocols and will normally translate between a FIPA-supported MTP that is used for interoperable communication between heterogeneous agent platforms (such as XML over HTTP) and an MTP that is used internally to the agent platform (such as Java objects over the Java Messaging Service).
Consequently, the components of the MTS are designed to be modular and extensible to handle different message transport protocols, message envelope and FIPA ACL representations in the future.
The FIPA Agent Management Specification (see [FIPA00023]) provides the framework within which FIPA agents exist and operate. It establishes the logical reference model for the creation, registration, location, communication, migration and retirement of agents.
The reference model (see Figure 3) describes the primitives and ontologies necessary to support the following services in an agent platform:
· White pages, such as agent location, naming and control access services, which are provided by the Agent Management System (AMS). Agent names are represented by a flexible and extensible structure called an agent identifier, which can support social names, transport addresses, name resolution services, amongst other things.
· Yellow pages, such as service location and registration services, which are provided by the Directory Facilitator (DF).
· Agent message transport services as described previously in section 3.2.2.
In conjunction with the FIPA Agent Message Transport Specifications, the FIPA Agent Management Specification also provides support for intermittently connected devices, such as laptop computers and personal digital assistants through message buffering, redirection and proxying.
Developers of multi-agent systems require specialised communication techniques in order to structure the interactions in their agent systems. Ad hoc techniques are usually not sufficiently well designed or documented to be consistently extensible and implementable by others, or generally applicable to a wide set of agent problems. The FIPA specifications for agent communication address these issues. The core of these specifications was largely completed in FIPA 97, but this specification set has required continual maintenance and development since then. The specifications of the communication language, along with libraries of predefined communicative act types, interaction protocols and content languages were developed:
- FIPA ACL Communicative Act Specifications is the library of all the 22 FIPA communicative acts and their requirements (see [FIPA00037])
- FIPA ACL Message Structure Specification describes the grammatical structure of the FIPA ACL (see [FIPA00061])
- FIPA Interaction Protocol Library Specification is the library of FIPA interaction protocols and requirements for new interaction protocols (see [FIPA00025]). Currently existing FIPA interactions protocols are:
- FIPA Request Interaction Protocol Specification (see [FIPA00026])
- FIPA Query Interaction Protocol Specification (see [FIPA00027])
- FIPA Request When Interaction Protocol Specification (see [FIPA00028])
- FIPA Contract Net Interaction Protocol Specification (see [FIPA00029])
- FIPA Iterated Contract Net Interaction Protocol Specification (see [FIPA00030])
- FIPA English Auction Interaction Protocol Specification (see [FIPA00031])
- FIPA Dutch Auction Interaction Protocol Specification (see [FIPA00032])
- FIPA Brokering Interaction Protocol Specification (see [FIPA00033])
- FIPA Recruiting Interaction Protocol Specification (see [FIPA00034])
- FIPA Subscribe Interaction Protocol Specification (see [FIPA00035])
- FIPA Propose Interaction Protocol Specification(see [FIPA00036])
- FIPA Content Language Library is a generic description of the requirements for a FIPA content languages. (see [FIPA00007]). The following content languages have been specified by FIPA:
- FIPA SL Content Language Specification (see [FIPA00008])
- FIPA CCL Content Language Specification (see [FIPA00009])
- FIPA KIF Content Language Specification (see [FIPA00010])
- FIPA RDF Content Language Specification(see [FIPA00011])
FIPA has developed specifications of four agent-based applications that contain service and ontology descriptions and case scenarios:
· Personal Travel Assistance: individualised, automated access to travel services (see [FIPA00080]).
· Audio-Visual Entertainment and Broadcasting: negotiating, filtering, and retrieving audio-visual information, in particular for digital broadcasting networks (see [FIPA00081]).
· Network Management and Provisioning: automated provisioning ofdynamic Virtual Private Network services where a user wants to set up a multi-media connection with several other users (see [FIPA00082]).
· Personal Assistant: management of a user's personal meeting schedule, in particular in determining time and place arrangements for meetings with several participants (see [FIPA00083]).
Additionally, the Agent Software Integration specification (see [FIPA00079]) contains guidelines for integrating legacy software, that is, software that does not communicate using FIPA ACL.
Sixteen FIPA platforms have been implemented by diverse companies, four of these are freely accessible under open source (see Table 1). These FIPA platforms have been distributed and tested in large-scale projects, which collectively have been downloaded several thousands of times.
Comtec Agent Platform
Java Agent Development Framework (JADE)
Fujitsu Laboratories of America (USA)
April Agent Platform (AAP)
Nortel Networks (UK)
Table 1: Available Open Source FIPA Agent Platform Implementations
In addition to a choice of FIPA platforms which are aimed at agent researchers with software development experience, there is also a need for agent development environments that cater for non-specialists. ZEUS is one such platform and it is based around a GUI that facilitates the rapid development of collaborative agent applications (see Table 2).
BT Laboratories (UK)
ZEUS Agent Building Toolkit
Table 2. Available Open Source FIPA Agent Development Environments
The next generation of platforms is already under development: two ongoing European projects include work on enabling the FIPA platforms for wireless devices (CRUMPET [CRUMPET] and LEAP [LEAP]), and a Java Community Process (JAS) addressing Java Interfaces for agent services has recently started [JAS-2000]. These initiatives aim to deliver new implementations by the end of 2001.
FIPA TCs and WGs are currently working on a number of areas that are being specified for standardisation:
· Domains and Policies TC
The general focus of this TC is the application and management of policies and constraints on agents and collections of agents to control their behaviour. This requires providing mechanisms for describing what policies can be applied to which agents and in what environments, for example, what controls are available and how to report inability or conflict when applying policies. The range of possible mechanisms for enforcing policies can extend from reputation and social sanctions to complete withdrawal of supporting services for a non-conforming agent.
· Agreements Management TC
The Agreements Management TC is concerned with providing support to allow agent platforms to manage and maintain large constellations of agent platforms and agents, to define configurations and dependency links between these entities and to provide management and configuration methods for controlling federated agent platforms and communities of agents. As part of this work, it is necessary to consider agreements, or contracts, between agents and to specify the services within those agreements. An agreement to provide a service of some kind is the goal of a process of negotiation between agents and the basis for their collaborative activity.
· Gateways TC
The aim of this TC is to enhance the nomadic application environment and its objective is to look at the interoperability of the existing FIPA message transport services by using different transport protocols and message encoding, and, to support messaging in the environment of nomadic application. This requires investigating issues such as support for disconnected modes of operation, roaming from one mediator to another one, profiles that specify capabilities of gateways and mobile terminals, and a bit-efficient representation of information, including the message envelope and the content of the ACL message.
· Product Design and Manufacturing WG
The objective of this WG is to promote and support the development of agent applications within the manufacturing domain, such as workflow management, enterprise integration, supply chain management, information management, scheduling, e-commerce and control of transportation.
· AgentCities WG
The AgentCities WG aims to encourage and support the development of a continually available, publicly accessible network of deployed FIPA agent services. This network is to serve as an experimental test bed for interoperability testing, application development and as a showcase for FIPA technology. An AgentCity is a metaphor for a virtual set of agents and services that represent a real place or city and as the network of cities grows, there are rich potential interactions between many different agents and consequently the possibility of complex business models emerging.
Some FIPA SIGs are currently considering other technologies for standardisation:
· Ontology SIG
Investigating the nature and realisation of ontologies and ontology descriptions within FIPA specifications.
· Security SIG
Investigating the security related issues within FIPA architectures and formulating a long term strategy for the integration of security features into FIPA specifications.
· Peer-to-Peer SIG
Investigating the links between FIPA technology and new paradigms for system-system interaction. In particular coordinating with related peer-to-peer efforts such as Intel’s peer-to-peer forum.
FIPA has devoted its first years to specify the basics elements of an agent-based world, defining the Communication language, the management and the connection to existing software. This initial specification has been implemented by several teams and showed the way for further improvement towards a more modular agent environment capable of evolution and integration of new technologies, e.g. using several Message Transport Layers, and moving towards higher levels of abstraction. Four of these new implementations are already accessible in open source, and new FIPA implementations enable now agents to run on small wireless devices such as PDA. As such FIPA is making an important contribution to the practical and commercial viability of agent systems by providing a good basis to develop future agent-based applications.
FIPA is now looking ahead to some of the major challenges that are already beginning to arise in the new “networked” world, and works on specifications for:
The authors would like to express their thanks to all of the people and organisations (both past and present) who have contributed to the FIPA standardisation process.
CRUMPET “The Creation of User-friendly Mobile services Personalised for Tourism”, IST-2000---- (Number unknown/unassigned).
FACTS: “FIPA Agent Communication Technologies and Services”, Project Number ACTS-1997- AC317.
LEAP: “Lightweight Extensible Agent Platform”, Project Number IST-1999-10211, http://www.cordis.lu/ist/projects/99-10211.htm, and http://leap.crm-paris.com/
[JAS-2000] JAS Java Agent Services Initiative, http://java.sun.com/aboutJava/communityprocess/jsr/jsr_087_jas.html, October 2000.
[GRID] “The DARPA Grid Architecture” http://coabs.globalinfortek.com, see also http://fipa.umbc.edu/18/kahn.pdf.