Standards for Agents: MASIF and FIPA Specifications

 

An agent platform is a software environment in which software agents run.  It provides support for software agents to execute, to manage their execution, to access system resources, and to guarantee integrity and protection of agents and the platform itself.  Agents platforms also provide support for migration, naming, location and communication services.  Examples of agent platforms are:

IBM's Aglets

General Magic's Odyssey

ObjectSpace's Voyager

IKV's Grasshopper

Mitsubishi's Concordia

UCI's Messengers (?)

 

These systems differ widely in architecture and implementation, thereby impeding interoperability and rapid deployment of mobile agent technology in the marketplace.  To promote interoperability, some aspects of mobile agent technology needs to be standardized.

 

Currently there are two standards for mobile agent technology: The Object Management Group's Mobile Agent System Interoperability Facility and the specifications promulgated by the Foundation for Intelligent Physical Agents.

 

Object Management Group (OMG) was formed in 1989 by 11 companies including 3Com, HP, Canon, Sun, Unisys and American Airlines.  Now it includes about 800 members.  It is a not-for-profit corporation.  Its most famous standard perhaps is CORBA.   The OMG was formed to create a component-based software marketplace by hastening the introduction of standardized object software.  Its charter includes the establishment of industry guidelines and detailed object management specifications to provide a common framework for application development.  Conformance to these specifications will amke it possible to develop a heterogenous computing environment across all major hardware platforms and operating systems.

 

In 1995 the OMG started working on a standard, called Mobile Agent Facility (MAF), in order to promote interoperability among agent platforms.  In 1997, a joint submission by IBM, General Magic, The Open Group, GMD FOKUS, and etc was presented to the OMG.  And the standard's name was changed from MAF to Mobile Agent System Interoperability Facility (MASIF).  In 1998 this specification was accepted as an OMG standard.  The current edition was issued in 2000.  IKV's Grasshopper agent system (version 1 available in 1998) is conformant to MASIF.  It is a mobile agent and runtime platform developed in Java, built upon a distributed object-oriented middleware.  As submitters of the MASIF standard, IBM and GMD FOKUS agreed to implement the MASIF spec within their own agent platforms.  (GMD stands for German National Research Center for Information Technology, FOKUS stands for Research Institute for Open Communication Systems.)  There is aother mobile agent system called Secure and Open Mobile Agent (SOMA) System, developed by Universita' di Bologna in Italy.  SOMA has been developed by "closely considering compliance with MASIF."

 

 

The Foundation for Intelligent Physical Agents (FIPA) was formed in 1996 to produce software standards for heterogenous and interacting agents and agent-based systems.  It is a non-profit association formed under Swiss law.  Its members include companies and universities. 

 

FIPA identified a list of agent technologies deemed to be specifiable in 1997 and standardization work started.  There is a set of spec called FIPA 97 and another called FIPA 98, both are now on Obsolete Status.  The current spec is FIPA 2000, half of which is in the Preliminary Staus, another half on Experimental Status.

 

At this time, the FIPA's specifications are grouped into 5 categories:

1. Applications

2. Abstract Architecture

3. Agent Communication

4. Agent Management

5. Agent Message Transport

In this presentation, we will talk more about the latter three. They are further subdivided into a number of areas:

Agent Communication:       FIPA ACL Message Structure Spec

                Interaction Protocols:          FIPA Interaction Protocol Library Spec

                                                                FIPA Request Interaction Protocol Spec

                                                                FIPA Query Interaction Protocol Spec

                                                                FIPA Request When Interaction Protocol Spec

                                                                FIPA Contract Net Interaction Protocol Spec

                                                                FIPA Iterated Contract Net Interaction Protocol Spec

                                                                FIPA English Auction Interaction Protocol Spec

                                                                FIPA Dutch Auction Interaction Protocol Spec

                                                                FIPA Brokering Interaction Protocol Spec

                                                                FIPA Recruiting Interaction Protocol Spec

                                                                FIPA Subscribe Interaction Protocol Spec

                                                                FIPA Propose Interaction Protocol Spec

                Communicative Acts:          FIPA Communicative Acts Library Spec

                Content Languages:            FIPA Content Languages Spec

                                                                FIPA SL Content Language Spec

                                                                FIPA CCL Content Language Spec

                                                                FIPA KIF Content Language Spec

                                                                FIPA RDF Content Language Spec

Agent Management:           FIPA Agent Management Spec

                                                FIPA Agent Management Support for Mobility Spec

Agent Message Transport: FIPA Agent Message Transport Service Spec

                ACL Representations          FIPA ACL Message Representation in Bit-Efficient Spec

                                                                FIPA ACL Message Representation in String Spec

                                                                FIPA ACL Message Representation in XML Spec

                Envelope Representations FIPA Agent Message Transport Envelope Rep in XML Spec

                                                                FIPA Agent Message Transport Envelope Rep in Bit-Efficient Spec

                Transport Protocols            FIPA Wireless Message Transport Protocol Spec

                                                                FIPA Agent Message Transport Protocol for IIOP Spec

                                                                FIPA Agent Message Transport Protocol for WAP Spec

                                                                FIPA Agent Message Transport Protocol for HTTP Spec

About 16 FIPA-compliant platforms have been implemented by diverse companies, 4 of which are freely accessible under open source code: Nortel Network's FIPA-OS, Fujitsu Laboratories of America's April Agent Platform, CSELT(Italy)'s Java Agent Development Framework (JADE), and Comtec (Japan)'s Comtec Agent Platform .  FIPA-OS is an agent runtime and development platform using Java. 

 

MASIF in more details

 

The MASIF identifies a Distributed Agent Environment (DAE) and a Distributed Processing Environment (DPE).  In a DAE, there are the following elements:

Place: A place is a context in which an agent can execute, so a place is an execution environment. 

Agency: An agency is an agent system.  An agency can have several places.  An agent system represent a platform that can create, interpret, execute, and transfer agents.

Region:   A region is a group of agencies that belong to a single authority. 

Two interfaces represent the core of the MASIF standard:

1. MAFAgentSystem: It is associated with every agency and provides operations for the management and transfer of agents.  The following methods provided by the MAFAgentSystem interface offer a basic set of operations for agent management and transport:

create _agent

fetch_class

find_nearby_agent_system

get_agent_status

get_agent_system_info

get_authinfo

get_MAFFinder

list_all_agents

list_all_agents_of_authority

list_all_places

receive_agent

resume_agent

suspend_agent

terminate_agent

terminate_agent_system

2. MAFFinder: It is associated with a region.  It supports localization of agents, agencies, and places in the scope of a region.  It offers the following methods:

register_agent

register_agent_system

register_place

lookup_agent

lookup_agent_system

lookup_place

unregister_agent

unregister_agent_system

unregister_place

The following agent functionalities are covered by MASIF:

1. Agent management: This comprises the creation, termination, suspension, and resumption of agents.  The MAFAgentSystem provides several methods for this purpose.

2. Agent tracking: Agencies, places and agents are registered in a region registration component via MAFFinder.

3. Agent transport: MAFAgentSystem ofers two methods to support agent migration: receive_agent for transferring an agent's state and other required data, and fetch_class for additionally retrieving an agent's code, if needed.

4. Agent and agency naming: Standardized syntax and semantics of agent and agency names enable agents and agencies to identify each other and allow clients to identify agents and agencies.

5. Agent type and location syntax: Agency types provide information about important aspects of specific agencies, such as the used implementation language.  The location is standardized in order to enable to locate each other.

MASIF relies on CORBA to handle agent security.  MASIF does not address the agent communication aspect.

 

FIPA Spec in more details

 

In addition to agent management, the FIPA spec cover agent communication and agent message transport that MASIF does not cover.  FIPA developed an Agent Communication Language (ACL).  It is a high level language with a precise syntax and semantics allowing agents to communicate.  An agent message consists of two parts.  The envelope conveys information for the transportation.  The message body contains the actual message.  The FIPA ACL is based on the Speech Act Theory: message are actions, or "comunicative acts", as they are intended to perform a specific action by virtue of being sent.  FIPA ACL derives from Knowledge Query and Manipulation Language (KQML).

 

Comparison of MASIF and FIPA Spec

 

A commentator says that MASIF is based on agent platforms and it enables agents to migrate from one platform to another.  FIPA spec is based on remote communication services.  The former is primarily based on mobile agents travelling amongst agent system via CORBA interfaces and does not address inter-agent communication.  The latter focus on intelligent agent communication via content languages and do not say much about mobility (but see below about FIPA 2000).  FIPA adopts an agent communication paradigm, which can better express the nature of cooperation and is more suitable for integration with other AI technologies.  MASIF adopts a mobile agent paradigm which is more appropriate in situations where dynamic and autonomous swapping, replacement, modification, and updating of application components are required. 

 

Integration

 

A FIPA 2000 spec deals with the mobility aspect of agents.  It tries to integrate FIPA and MASIF.

An Annex of the ACTS (Advanced Communications, Technologies and Services - an European research collaborative program) baseline document analyzes the possibilities of MASIF/FIPA integration.

Grasshopper-2 has been available since 2000 and is both MASIF- and FIPA-compliant, through a MASIF add-on and an FIPA add-on.