OBJS Technical Note
Agent Standards Overview
Frank Manola
Object Services and Consulting, Inc.
July 1998
OMG MASIF
OMG's MASIF is intended to support high level interoperability among heterogeneous
agent systems. The goals are to standardize:
-
agent management--e.g., creating, suspending, resuming, and terminating
agents
-
agent transfer--(for similar agent system implementations) mechanisms for
receiving agents and fetching their classes
-
agent and agent system names
-
agent system type and location syntax
-
agent tracking--tracing agents registered with naming services of different
agent systems
It does not address:
-
multi-hop security
-
movement of agents between dissimilar agent systems (e.g., code conversion)
-
agent communication--this is left to implementors; no ACL is defined, nor
are communication or negotiation protocols
MASIF defines a reference model which defines concepts such as:
-
agent system--a platform that can create, interpret, execute, transfer,
and terminate agents.
-
agent system type--describes the vendor, language, and serialization mechanism
(e.g., "Aglet" is an agent system type)
-
place--an exection environment in an agent system in which an agent can
execute. A given agent system can support multiple places. Conceptually
a location.
-
region--a set of agent systems that have the same authority, but not necessarily
the same agent system type
MASIF defines the MAFAgentSystem interface to support agent management,
agent transfer, and agent tracking functions. MASIF also defines the MAFFinder
interface, which provides methods for maintaining a dynamic name and location
database of agents, places, and agent systems.
The specification discusses its relationship with CORBA Naming, Lifecycle,
Externalization, and Security Services.
Further work (for later RFPs) has also been identified, for example:
-
higher levels of interoperability among Java-based platforms, e.g., serialization
formats and internal agent system capabilities
-
further IDL interfaces, e.g., for low-level agent communications
-
cooperation with FIPA, e.g., support of high-level communication (ACL)
for MASIF agents
-
integration of further CORBA services, e.g., trader
-
refinement of the region and place concepts
The MASIF interfaces are defined at the agent system level, rather than
at the agent level. Agent systems and agents may be, but are not required
to be, CORBA objects. Hence, MASIF does not represent a thorough integration
of agent technology into CORBA. However, when agents are defined
as CORBA objects, they potentially have access to all CORBA services, any
legacy software wrapped by CORBA objects, etc.
FIPA
The FIPA97 specifications define normative specifications for:
-
agent management (or agent platform services)
-
white pages via an Agent Name Server (ANS)
-
yellow pages via a Directory Facilitator (DF)
-
registration in a given DF defines a domain (agent community)
-
an Agent Platform defines a logical "place" containing an ANS, DF, management
tools, and a collection of agents
-
interplatform communication takes place via an Agent Communication Channel
(ACC), which defaults to CORBA IIOP
-
agent communication language
-
based on speech acts
-
has a formal semantics
-
also included are several predefined protocols (e.g., contract-net negotiation
and auction protocols), and the concept of registered generic and application-specific
protocols
-
agent-software integration
-
defines Agent Request Broker and Wrapper roles
-
allows an agent system to integrate non-agent software
-
details of how wrapper communicates with wrapped software are left to the
implementor (a Wrapper is an agent, and communicates with other agents
via ACL)
and several reference applications for:
-
personal travel assistance
-
personal assistant
-
network provisioning and management
-
audio/video entertainment and broadcasting
FIPA98 is extending these specifications, including work on:
-
agent management support for mobility (identifying the relationship between
this work and MASIF is explicitly targeted)
-
an ontology service, supporting
-
translation of terms between different ontologies
-
downloading meanings of terms, axioms, and relationships between terms
-
querying for relationships between ontologies
-
uploading and updating of ontologies
-
additional applications, e.g., product design and manufacturing agents
FIPA does not currently constrain the low-level implementation of agents
to any great extent, nor, except for defining agent platform services,
does it constrain the infrastructure a great deal. Hence, there is not
the sort of reification of the infrastructure (defining lower-level components
as agents) currently going on in CORBA (e.g., with respect to portability
issues).
Comments
The FIPA and MASIF work are somewhat complementary, in that FIPA has so
far primarily worried about high-level agent to agent communication (ACL,
negotiation protocols, ontologies), and has not said much about mobility,
while MASIF has primarily considered mobility and, to some extent, issues
involved in interoperability among heterogeneous agent systems, and does
not say much about agent communication (at either high or low level). The
MASIF effort is more a bottom-up activity (and doesn't necessarily assume
its agents are "intelligent"), while FIPA is more top-down (however, FIPA
Agent Communication Channels are required to support at least IIOP as a
default method of communication).
Both standards discuss agent management functions and general agent
reference models, including "place" and "platform" concepts, white and
yellow pages, etc., and, at a relatively high level, they are not dissimilar.
DARPA has identified specific types of agent standards it feels are
needed. These include:
-
Agent reference model
-
agent management and control
-
privacy, security, access control, and veracity
-
Agent-to-Agent communication
-
communication languages
-
knowledge sharing
-
goals and task descriptions
-
coordination protocols
-
security protocols
-
Agent-Software communication
-
communication (APIs) between agents and non-agent software
These general categories of standards seem roughly the same as those identified
by FIPA. Of these, standards relating to security, and to goals and task
descriptions, seem least developed. Both FIPA and MASIF address providing
an agent reference model, and agent-software communication (MASIF somewhat
indirectly). MASIF does not deal with agent-to-agent communication at all.
Both FIPA and MASIF steer away from trying to overly constrain agent
implementation technology at this early stage in its development. The contrast
in levels of detail is particularly clear in comparing what MASIF tries
to specify compared with the level of detail in other OMG specifications.
While on the one hand this reluctance provides a useful degree of flexibility
in allowing the technology to freely develop, it also means that some obvious
approaches to integrating the two technologies, e.g., definding CORBA interfaces
for individual agents based on FIPA specifications, are left unspecified
(although this would be straightforward for individual developers to do).
On balance, given the early stage of agent technology, and the lack of
experience with full-blown operational systems, this incremental approach
to developing the standards is probablywise.
There is a great deal of potential synergy between the FIPA and OMG
activities. One such area is that of OMG's domain-specific work, much of
which could be usefully integrated into FIPA's work when completed. (Another
area, of course, is the whole area of construction of FIPA agent technology
using OMG distributed object technology as a base). FIPA is very much aware
of these potential synergies; by the same token, the MASIF submitters are
very much aware of FIPA's activities. Annex C of the ACTS baseline document
<http://olympus.algo.com.gr/acts/dolphin/AC-baseline.html> discusses
some scenarios for OMG/FIPA integration, and general mappings between MASIF
and FIPA agent-related concepts.