`
turingfellow
  • 浏览: 129609 次
  • 性别: Icon_minigender_1
  • 来自: 福建省莆田市
社区版块
存档分类
最新评论

developing multi-agent system with jade (2)

    博客分类:
  • jade
阅读更多
  actions, (2) agents   goals may be interdependent,
(3) agents may have different capabilities and different knowledge, and (4) agents   goals may be
more rapidly achieved if different agents work on each of them. Coordination among agents can be
handled with a variety of approaches including organizational structuring, contracting, multi-agent
planning and negotiation.
   Organizational structuring provides a framework for activity and interaction through the deni-
tion of roles, communication paths and authority relationships (Durfee, 1999). The easiest way of
ensuring coherent behaviour and resolving conicts seems to consist of providing the group with

About Agents                                                                                         7



an agent which has a wider perspective of the system, thereby exploiting an organizational or hier-
archical structure. This is the simplest coordination technique and yields a classic master/slave or
client/server architecture for task and resource allocation among slave agents by a master agent. The
master controller can gather information from the agents in the group, create plans and assign tasks
to individual agents in order to ensure global coherence. However, such an approach is impractical
in realistic applications because it is very difcult to create such a central controller, and in any
case, centralized control, as in the master/slave technique, is contrary to the decentralized nature
of multi-agent systems.
   An important coordination technique for task and resource allocation among agents and deter-
mining organizational structure is the contract net protocol (Smith and Davis, 1980). This approach
is based on a decentralized market structure where agents can take on two roles, a manager and con-
tractor. The basic premise of this form of coordination is that if an agent cannot solve an assigned
problem using local resources/expertise, it will decompose the problem into sub-problems and try
to nd other willing agents with the necessary resources/expertise to solve these sub-problems.
The problem of assigning the sub-problems is solved by a contracting mechanism consisting of:
(1) contract announcement by the manager agent, (2) submission of bids by contracting agents in
response to the announcement, and (3) the evaluation of the submitted bids by the contractor, which
leads to awarding a sub-problem contract to the contractor(s) with the most appropriate bids (see
Figure 2.4).
   Another approach is to view the problem of coordinating agents as a planning problem. In order
to avoid inconsistent or conicting actions and interactions, agents can build a multi-agent plan
that details all the future actions and interactions required to achieve their goals and interleave
execution with additional planning and replanning. Multi-agent planning can be either centralized
or distributed. In centralized multi-agent planning, there is usually a coordinating agent that, on
receipt of all partial or local plans from individual agents, analyses them to identify potential
inconsistencies and conicting interactions (e.g. conicts between agents over limited resources).
The coordinating agent then attempts to modify these partial plans and combines them into a multi-
agent plan where conicting interactions are eliminated (Georgeff, 1983). In distributed multi-agent
planning, the idea is to provide each agent with a model of other agents   plans. Agents communicate
in order to build and update their individual plans and their models of other agents until all conicts
are removed (Georgeff, 1984).
   Partial global planning integrates the strengths of the organizational, planning, and contracting
approaches by uniting them into a single approach (Durfee and Victor, 1987). The goal of this
approach is to gain the multi-agent planning benets of detailed, situation-specic coordination



                   Manager                                 Manager


                                 Contractors                              Contractors



                  1) Announcement                         3) Awarding


                                      Manager


                                                    Contractors




                                      2) Bidding


                              Figure 2.4 Phases of the contract net protocol

8                                                                             Agent Technology Overview



while avoiding excessive computation and communication costs. This is possible because the jointly
known organizational structures effectively prune the space of possible plans to keep the problem
tractable. In addition, partial global planning views contracts as jointly held plans that specify future
exchanges of tasks and results among agents. Hence, within partial global planning, coordination
involves both sharing tasks and sharing results; both adhering to long-term organizational roles and
reactively planning to achieve short-term objectives.
   Negotiation is probably the most relied upon technique for coordinating agents. In particular,
negotiation is the communication process of a group of agents in order to reach a mutually accepted
agreement on some matter (Bussmann and Muller, 1992). Negotiation can be competitive or coop-
erative depending on the behaviour of the agents involved. Competitive negotiation is used in
situations where agents have independent goals that interact with each other; they are not a priori
cooperative, share information or willing to back down for the greater good. Cooperative negotia-
tion is used in situations where agents have a common goal to achieve or a single task to execute.
In this case, the multi-agent system has been centrally designed to pursue a single global goal.


2.1.4 PROGRAMMING LANGUAGES AND TOOLS

Multi-agent systems programming languages, platforms and development tools are important com-
ponents that can affect the diffusion and use of agent technologies across different application
domains. In fact, the success of multi-agent systems is largely dependent on the availability of
appropriate technology (i.e. programming languages, software libraries and development tools) that
allows relatively straightforward implementation of the concepts and techniques that form the basis
of multi-agent systems.
   Multi-agent systems can be realized by using any kind of programming language. In particular,
object-oriented languages are considered a suitable means because the concept of agent is not
too distant from the concept of object. In fact, agents share many properties with objects such as
encapsulation, and frequently, inheritance and message passing. However, agents also differ from
objects in several key ways; they are autonomous (i.e. they decide for themselves whether or not
to perform an action on request from another agent); they are capable of a exible behaviour; and
each agent of a system has its own thread of control.
   Agent-oriented programming languages are a new class of programming languages that focus on
taking into account the main characteristics of multi-agent systems. Minimally, an agent-oriented
programming language must include some structure corresponding to an agent, but many also pro-
vide mechanisms for supporting additional attributes of agency such as beliefs, goals, plans, roles
and norms. Today, several agent-oriented languages are available (Bordini et al., 2006). Some are
designed from scratch, directly encoding some theory of agency, while others extend existing lan-
guages to suit the peculiarities of the paradigm. Moreover, some take either a purely declarative
or a purely imperative programming approach (FLUX (Thielscher, 2005) and JACK Agent Lan-
guage (Winikoff, 2005) are respective examples). Other hybrid languages combine the declarative
and imperative features of other languages (3APL (Dastani et al., 2005) and Jason (Bordini et al.,
2005) are examples of this class). Moreover, some of these languages (e.g. 3APL and JACK Agent
Language) provide an integrated development environment to simplify the realization of agent-based
systems by automating some tedious coding tasks such as refactoring and testing.
   Software platforms and frameworks are the other key means enabling the development of multi-
agent systems. Most provide a means to deploy multi-agent systems on different types of hardware
and operating systems, usually providing a middleware to support their execution and essential
operations such as communication and coordination. Some of these platforms and frameworks have
the common goal of providing FIPA-compliant functionalities to support interoperation between
different multi-agent systems. Moreover, some also have the goal of supporting different kinds of
hardware, communication networks and agent architectures (e.g. JADE (Bellifemine et al., 2001)),
and others of uniquely supporting special kinds of agents (e.g. mobile agents (Lange and Oshima,
1998)).

About Agents                                                                                       9



   An important characteristic that multi-agent systems should provide is the capability to support
interoperability among legacy software systems. Therefore, the availability of software tools for
their integration with other common technologies can be a key to their success. The Internet is
one the most important application domains and the most important communication means that
multi-agent systems can use to provide interoperability among legacy software systems; therefore,
a lot of current research and development work is oriented towards providing suitable techniques
and software tools for the integration of multi-agent systems with Web technologies such as, for
example, Web services and Semantic Web technologies.
   Web services are a technology that is rapidly changing the Internet through the provision of a
language-neutral, environment-neutral programming model fostering use of the Web for application
integration both inside and outside an enterprise (Tsalgatidou and Pilioura, 2002; Weikum, 2001).
Different important works have proposed integration between agent and Web services technologies
as an ideal means of both supporting software interoperability and for providing more sophis-
ticated services. In particular, agents have proven useful when directly acting as Web services,
providing agent-based services for consumption by Web services, and dynamically coordinating
the execution of a set of Web services by providing new services as a composition of other ser-
vices (Buhler and Vidal, 2005; Greenwood et al., 2005; Negri et al., 2006) (see also Chapter 10 of
this book).
   The Semantic Web is an extension of the current Web in which information is given well-dened
meaning, thereby better enabling computers and people to work in cooperation. In particular, the
Semantic Web provides an infrastructure and a set of technologies that enable not just Web pages,
but databases, services, programs, sensors, personal devices and even household appliances to both
consume and produce data on the Web (Hendler et al., 2002). Many different organizations are
working in the realization of multi-agent systems where Semantic Web technologies are used to sup-
port agents both in the searching, ltering and manipulation of information and in the composition
of processes (Labrou, 2002; Sycara et al., 2003; Silva et al., 2003).



2.1.5 APPLICATIONS OF MULTI-AGENT SYSTEMS

Multi-agent systems are being used in an increasingly wide variety of applications, ranging from
comparatively small systems for personal assistance to open, complex, mission critical systems for
industrial applications (Jennings and Wooldridge, 1998).
   Industrial applications are very important for multi-agent systems because they are where
the rst multi-agent system techniques were experimented with and demonstrated their initial
potential. Examples of the application of multi-agent systems in industrial settings include process
control (Jennings, 1994), system diagnostics (Albert et al., 2003), manufacturing (Parunak, 1987),
transportation logistics (Neagu et al., 2006), and network management (Greenwood et al., 2006).
   One of the most important application elds of multi-agent systems is information management
(Decker and Sycara, 1997). In particular, the Internet has been shown as an ideal domain for
multi-agent systems due to its intrinsically distributed nature and the sheer volume of information
available. Agents can be used, for example, for searching and ltering this mass of informa-
tion (Klusch, 2001). The Internet has also pushed the use of agent technologies in the commerce
and business process management elds. In fact, before the spread of Internet commerce, business
process management was almost entirely driven by human interactions: humans deciding when to
buy goods, how much they are willing to pay, and so on. Now electronic commerce and automated
business processes are increasingly assuming a pivotal role in many organizations because they
offer opportunities to signicantly improve the way in which the different entities involved in the
business process interact. In this scenario multi-agent systems have been shown to be both suitable
for the modelling and the design of business process management systems (Camarinha-Matos and
Afsarmanesh, 2001) and as key components for the automation of some or all the steps of these
processes (Jennings et al., 1996).

10                                                                          Agent Technology Overview



   Trafc and transportation is also an important eld, where the distributed nature of trafc and
transport processes and the strong independence among the entities involved in such processes make
multi-agent systems a valuable tool for realizing genuinely effective commercial solutions (Neagu
et al., 2006). Several domains have been addressed, with some such as OASIS (Ljungberg and
Lucas, 1992) providing strong evidence that multi-agent systems are an ideal means for open,
complex, mission-critical systems. OASIS is a sophisticated agent air trafc control system based
on the BDI agent model, deployed and used with success at Sydney airport in Australia.
   Telecommunication systems are another application eld where multi-agent systems have been
used with success. In fact, telecommunication systems are large, distributed networks of intercon-
nected components which need to be monitored and managed in real time, and form the basis of a
competitive market where telecommunication companies and service providers aim to distinguish
themselves from their competitors by providing better, quicker or more reliable services. Therefore,
multi-agent systems are used both for the management of such distributed networks and for the
realization of advanced telecommunication services (Fricke et al., 2001; Hayzelden and Bourne,
2001; Greenwood et al., 2006).
   Many multi-robotic systems also use multi-agent and distributed planning techniques for the
coordination among the different robots. FIRE coordinates the actions of multiple robots at several
layers of abstraction (Goldberg et al., 2002). The top planning layer uses a market-based strategy
to distribute tasks among robots, where robot travel time is the primary measure of cost. MISUS
combines techniques from planning and scheduling with machine learning to perform autonomous
scientic exploration with cooperating rovers (Estlin et al., 2005). Distributed planning and schedul-
ing techniques are used to generate efcient, multi-rover coordination plans, monitor plan execution
and perform replanning when necessary. Machine learning clustering components are used to deduce
geological relationships among collected data and select new science activities. Moreover, this sys-
tem is able to reason about interdependent goals to perform plan optimization and to increase the
value of collected data.
   Other interesting multi-agent system applications can be found in health care (Moreno and
Nealon, 2003). In fact, multi-agent systems have already been proposed to deal with many different
kinds of problems in the health care domain, including patient scheduling and management, senior
and community care, medical information access and management, and decision support. Several
realized applications have shown that multi-agent systems can be the right solution for building
medical decision support systems (Hudson and Cohen, 2002) and improve the coordination between
the different professionals involved in the health care processes (Lanzola and Boley, 2002).


2.2 THE FOUNDATION FOR INTELLIGENT,
      PHYSICAL AGENTS (FIPA)
The complete FIPA specication set is listed at the end of the bibliography and it is publicly
available on the FIPA website (FIPA). In this section we provide some history and context for
FIPA and select a few of the specications of particular relevance to JADE. Naturally, as JADE is
largely an implementation of the FIPA specications, it is highly dependent on the ideas generated
through the specication process and expressed in the documents themselves. Because JADE has
in some ways extended the FIPA model in several areas, the specications do not provide complete
coverage. However, the singular fact remains that in all aspects relating to interoperability, the core
purpose of FIPA, JADE is compliant.


2.2.1 FIPA HISTORY AND GOALS

FIPA was established in 1996 as an international non-prot association to develop a collection of
standards relating to software agent technology. The initial membership, a collection of academic
and industrial organizations, drew up a set of statutes guiding the production of a set of de jure
standard specications for software agent technologies. At that time software agents were already

The Foundation for Intelligent, Physical Agents (FIPA)                                              11



very well known in the academic community but have to date received only limited attention
from commercial enterprises beyond an exploratory perspective. The consortium agreed to produce
standards that would form the bedrock of a new industry by being usable across a vast number of
applications.
   At the core of FIPA is the following set of principles:


1. Agent technologies provide a new paradigm to solve old and new problems;
2. Some agent technologies have reached a considerable degree of maturity;
3. To be of use some agent technologies require standardization;
4. Standardization of generic technologies has been shown to be possible and to provide effective
   results by other standardization fora;
5. The standardization of the internal mechanics of agents themselves is not the primary concern,
   but rather the infrastructure and language required for open interoperation.


FIPA was initially set up with a ve-year mandate to specify selected aspects of multi-agent systems;
this mandate was indenitely extended in 2001. Until the end of 2005 FIPA was governed by a
member-elected Board of Directors responsible for providing strategic guidance and managing
formal administrative duties. Decisions relating to the creation of technical groups to produce
specications and oversee the life cycle of in-development specications were managed by the FIPA
Architecture Board (FAB). Members of the FAB were elected by the Board of Directors. Technical
work oriented toward the production of specications was conducted in Technical Committees
(TCs) that were created when a new proposal of work was accepted and dissolved when work was
completed or abandoned. In addition Work Groups (WGs) were formed as fora to discuss technical
issues and establish the groundwork required before forming a TC. Finally, Special Interest Groups
(SIGs) were occasionally formed to discuss work related to FIPA that was not intended to lead to
technical specication.
   At its peak FIPA counted more than 60 members from more than 20 different countries world-
wide among its members, and through an iterative process over several years developed a core
set of specications that went through three cycles of review: FIPA  97, FIPA  98 and FIPA2000.
Accompanying the last of these iterations was the FIPA Abstract Architecture that abstracted the
implementation agnostic principles expressed in the FIPA2000 specication set to produce a speci-
cation dening all core architectural elements and their relationships, guidelines for the specication
of agent systems in terms of particular software and communications technologies and specica-
tions governing the interoperability and conformance of agents and agent systems. This work and
other selected specications are discussed in Section 2.2.3.
   A brief history of FIPA follows:

1996: FIPA established its rst call for proposals used to seek different application areas of interest
to the community and which would form the basis of a FIPA  97 specication set. Of the 12
responses received, four were selected by consensus: personal assistant, personal travel assistance,
audio-visual entertainment broadcasting, and network provisioning and management. A list of the
agent technologies needed to create these four applications was identied.

1997: FIPA  97, the rst set of specications, was identied as a collection of seven parts. The
rst three would be normative and specify the core middleware technologies of agent management,
agent communication and agent/software interaction. The remaining four parts would be informative
applications consisting of personal assistant, personal travel assistance, audio-visual entertainment,
and broadcasting network provisioning and management.
   From the communication perspective, FIPA decided to adopt ARCOL (Sadek, 1991) from France
Telecom as the basis of an agent communication language, soon to become known as FIPA-ACL,
   
or just ACL. The decision to adopt ARCOL emerged from an intense and controversial debate
concerning the merits of ARCOL over KQML (Labrou et al., 1999). Ultimately ARCOL won the

12                                                                           Agent Technology Overview



debate because it is underpinned by formal semantics. Following this, FIPA also decided to adopt
the SL language as an informative standard for the expression of message content and several
cooperation protocols, also provided by France Telecom.
                                                     
   With regard to agent management, FIPA  97 dened the initial FIPA Agent Management Ontology
including the concept of an agent platform consisting of an Agent Communication Channel (ACC),
Agent Management System (AMS) and Directory Facilitator (DF). IIOP (1999) was selected as the
baseline protocol for platform inter- and intra-operability.

1998 C9: The core specications were revised with extensions to the basic agent management mech-
anisms including mobility management and to the communication work including new interaction
protocols and human Cagent interaction extensions. In addition preliminary work was conducted on
agent security management and an ontology service to host and serve domain ontologies.
   In late 1998 plans were made for a FIPA-compliant agent software interoperability test for
early 1999. Other than JADE several other early platforms were showcased at the event including
FIPA-OS (Buckle et al., 2002) and the ComTec Agent Platform (Suguri, 1998).
   Also in early 1999 the delayed FIPA  98 specication set was released, consisting of many
improvements on, and clarications of, the FIPA  97 set. Two new TCs were formed, the rst
to develop the FIPA Abstract Architecture and the second to develop specications for nomadic
application support.

2000 C2: FIPA issued a new mission statement:   To promote technologies and interoperability
specications that facilitate the end-to-end inter networking of intelligent agent systems in mod-
ern commercial and industrial settings.   This is accompanied by a renewed focus on high-level
semantic-based communications, interoperability between agents (rather than platforms), and agent
agreements and interactions over extended periods of time.
   The preliminary development of the FIPA Abstract Architecture was adopted as the new FIPA
overall architectural model. It has well-dened abstractions that will not break as technology
changes, contains mappings to commonly used technologies (e.g. CORBA, JINI), and offers support
for alternate mechanisms including message transports, content encodings and explicit denition of
implicitly used agent terms.
   A new life-cycle model for standards was also adopted consisting of the three major phases:
preliminary, experimental and standard. The experimental phase implies that the specication must
undergo implementation-based proof of concept. The additional classications of obsolete and
deprecated were also introduced.
   Two new TCs were formed. The rst was to address gateway issues, support for mobile devices,
and the collection of interaction protocols into a new library format. The second was to develop
a semantic framework to address the relationship between external signals and internal states and
account for communicative acts, interaction protocols, contracts, policies, service models and ontolo-
gies.
   During 2000 and in early 2001 several of the mature specications were promoted to experimental
status and released at the FIPA2000 specication set. Platform implementations of these documents
underwent fresh interoperability trials, termed a   bake-off  , including JADE and some of the other
leading platforms available at the time  C FIPA-OS (Buckle et al., 2002) and Zeus (Nwana et al.,
1999).
   In 2002 a special TC was created called   X2S  , mandated to harmonize all existing experimental
specications to prepare them for nal promotion to standard status. In late 2002, 25 of the FIPA
specications were nally promoted to standard status, 56% of the entire specication set.

2003 C4: With industrial support waning as standardization of the core specications was accom-
plished, FIPA now focused on areas of ad hoc communication, semantics, security, services,
modelling and methodologies. The latter of these attempt to clarify the denition of AUML (the
Agent Unied Modelling Language) and develop a fragment library and method base, respectively.
   In late 2004 the original FIPA organization was discontinued due to lack of continued support.

The Foundation for Intelligent, Physical Agents (FIPA)                                              13



2005 Ccurrent: Subsequent to a discussion phase and some renewed interest, FIPA was reincorpo-
rated in mid-2005 as a standards activity of the IEEE, called FIPA-IEEE. Several workgroups were
set up to focus on the areas of agent and Web service interoperability, human Cagent communication,
mobile agents and peer-to-peer nomadic agents.
   To date some of the key achievements of FIPA are as follows:

A set of standard specications supporting inter-agent communication and key middleware ser-
  vices.
An abstract architecture providing an encompassing view across the entire FIPA2000 standards.
  This architecture underwent an incomplete reication as a Java Community Project known as
  the Java Agent Services (JAS) (JSR82).
A well-specied and much-used agent communication language (FIPA-ACL), accompanied by
  a selection of content languages (e.g. FIPA-SL) and a set of key interaction protocols ranging
  from single message exchange to complex transactions.
Several open source and commercial agent tool-kits with JADE generally considered as the
  leading FIPA-compliant open source technology available today.
Several projects outside FIPA such as the completed Agentcities project that created a global
  network of FIPA-compliant platforms and agent application services.
An agent-specic extension of UML, known as AUML or Agent.


2.2.2 THE CORE CONCEPTS OF FIPA

During the evolution of FIPA many agent-related ideas have been proposed. Some have reached
fruition by promotion to standard status, several have been developed but remain incomplete, and
others have fallen by the wayside for one reason or another. Of all these ideas, those of most central
importance to the work are agent communication, agent management and agent architecture. This
section discusses some of the key concepts associated with each of these areas.


2.2.2.1 Agent Communication

Agents are fundamentally a form of distributed code processes and thus comply with the clas-
sic notion of a distributed computing model comprising two parts: components and connectors.
Components are consumers, producers and mediators of communication messages exchanged via
connectors. Early standards bodies such as the ISO and IETF took a network-oriented approach in
developing the layered protocol stacks that underlie the majority of computer communication we
know today  C the OSI Reference Model and the TCP/IP Model. Both are utilized through interfaces
onto software services that implement the protocols.
   During the 1990s these network-oriented models were supplemented with several service-oriented
model organizations such as the OMG, DCE, W3C, GGF and FIPA. A service-oriented model is
essentially a communication protocol stack with multiple sub-layer application protocols instead of
a single layer application protocol. The FIPA model is described shortly, but rst we give some
additional context.
   The FIPA-ACL is grounded in speech act theory which states that messages represent actions,
or communicative acts  C also known as speech acts or performatives. A simple example would be
  My name is John   which, when issued, informs the recipient with an item of information. The
FIPA-ACL set of 22 communicative acts was based on the ARCOL proposal of France Telecom         
where every act is described using both a narrative form and a formal semantics based on modal
logic (Garson, 1984) that species the effects of sending the message on the mental attitudes of
the sender and receiver agents. This form of logic is consistent with the BDI  C or Belief, Desires,
Intention reasoning model (Rao and Georgeff, 1995).
   Some of the most commonly used acts are inform, request, agree, not understood, and refuse.
These capture the essence of most forms of basic communication and are described further in

14                                                                         Agent Technology Overview



Section 2.2.3. It is stated in the FIPA standards that to be fully compliant an agent must be
able to receive any FIPA-ACL communicative act message and at the very least respond with
a not-understood message if the received message cannot be processed.
   Based on these communicative acts, FIPA has dened a set of interaction protocols, each consist-
ing of a sequence of communicative acts to coordinate multi-message actions, such as the contract
net for establishing agreements and several types of auctions. A selection of these protocols is
highlighted in Section 2.2.3.
   Within the structure of each message itself, FIPA-ACL does not mandate the use of any par-
ticular language for expressing content, although specications do exist for several representations
including FIPA-SL, FIPA-KIF and FIPA-RDF. Only FIPA-SL has been promoted to standard status.


2.2.2.2 FIPA Sub-Layers

As previously mentioned, the FIPA communication stack can be separated into several sub-layers
within the application layer of the classical OSI or TCP/IP stack. These are detailed as follows:

Sub-layer 1 (Transport): In the FIPA-ACL layered protocol model, the lowest application sub-
   layer protocol is the transport protocol. FIPA has dened message transport protocols for IIOP
   (IIOP, 1999), WAP (WAP) and HTTP (HTTP).
Sub-layer 2 (Encoding): Rather than send simple byte-encoded messages, FIPA denes several
   message representations for using higher-level data structures including XML, String and Bit-
   Efcient. The latter is intended for use when communicating over low-bandwidth connections.
Sub-layer 3 (Messaging): In FIPA, message structure is specied independent of the particular
   encoding to encourage exibility. The important aspect at this level is that key parameters are
   necessary in addition to the payload or content to be exchanged, e.g. the sender and receiver,
   the message type (communicative act), time-outs for replies. An example of FIPA-ACL message
   structure is given in Section 2.2.3.
Sub-layer 4 (Ontology): The individual terms contained in the payload or content of a FIPA
   message can be explicitly referenced to an application-specic conceptual model or ontology.
   Although FIPA intrinsically allows for the use of ontologies when expressing message content,
   it does not specify any particular representation for ontologies or provide any domain-specic
   ontologies. It is, though, possible to reference Web-based ontologies if required.
Sub-layer 5 (Content expression): The actual content of FIPA messages can be of any form, but
   FIPA has dened guidelines for the use of general logical formulas and predicates, and algebraic
   operations for combining and selecting concepts. The language most often used for expressing
   content is FIPA-SL, with examples of logic formulae including: not, or, implies, equiv, etc., and
   examples of algebraic operators including any and all.
Sub-layer 6 (Communicative act): The simple classication of a message in terms of the action,
   or performative, that it implies. Examples include inform, request and agree.
Sub-layer 7 (Interaction protocol or IP): Typically messages are rarely exchanged in isolation
   but rather form part of some interaction sequence. FIPA denes several interaction protocols
   specifying typical message exchange sequences such as request (described in Section 2.2.3),
   which describes one party making a request of another which in turn should agree or refuse to
   comply.


2.2.2.3 Agent Management

In addition to communication, the second fundamental aspect of agent systems addressed by
the early FIPA specications is agent management: a normative framework within which FIPA-
compliant agents can exist, operate and be managed. It establishes the logical reference model for
the creation, registration, location, communication, migration and operation of agents. The agent
management reference model consists of the components depicted in Figure 2.5.

The Foundation for Intelligent, Physical Agents (FIPA)                                             15



                                   has 0..n                    has_a
                                                   Agent
                                                 Platform

                            DF                  hosts                      AMS
                                                0..n

                   contains                                                   contains
                     0..n           has 0..n         Agent       has_a             0..n


                     Agent Service                                       Agent
                                                      uses_a
                       Description                                    Description


                                                   MTS


                         Figure 2.5    Depiction of the agent management ontology


Agent Platform (AP): This provides the physical infrastructure in which agents are deployed. The
AP consists of the machines, operating systems, FIPA agent management components (described
below), the agents themselves and any additional support software. The specic internal design of
an AP is left to the developers of an agent system and is not a subject of FIPA standardization
beyond the components discussed here. As a single AP may be spread across multiple computers,
resident agents do not have to be co-located on the same host.

Agent: An agent is a computational process that inhabits an AP and typically offers one or more
computational services that can be published as a service description. The particular design of these
services, otherwise known as capabilities, is not the concern of FIPA, which only mandates the
structure and encoding of messages used to exchange information between agents (and other third-
party technologies if FIPA compliant). An agent must have at least one owner and must support
at least one notion of identity which can be described using the FIPA Agent Identier (AID) that
labels an agent so that it may be distinguished unambiguously. An agent may be registered at a
number of transport addresses at which it can be contacted.

Directory Facilitator (DF): The DF is an optional component of an AP providing yellow pages
services to other agents. It maintains an accurate, complete and timely list of agents and must
provide the most current information about agents in its directory on a non-discriminatory basis to
all authorized agents. An AP may support any number of DFs which may register with one another
to form federations.
   Every agent that wishes to publicize its services to other agents should nd an appropriate DF
and request the registration of its agent description. There is no intended future commitment or
obligation on the part of the registering agent implied in the act of registering. Agents can subse-
quently request the deregistration of a description at which time there is no longer a commitment
on behalf of the DF to broker information relating to that agent. At any time, and for any reason,
an agent may request the DF to modify its agent description. In addition, an agent may issue a
search request to a DF to discover descriptions matching supplied search criteria. The DF does
not guarantee the validity of the information provided in response to a search request. However,
the DF may restrict access to information in its directory and will verify all access permissions for
agents which attempt to inform it of agent state changes.

Agent Management System (AMS): The AMS is a mandatory component of an AP and is responsi-
ble for managing the operation of an AP, such as the creation and deletion of agents, and overseeing
the migration of agents to and from the AP. Each agent must register with an AMS in order to
obtain an AID which is then retained by the AMS as a directory of all agents present within the AP
and their current state (e.g. active, suspended or waiting). Agent descriptions can be later modied

16                                                                          Agent Technology Overview



                                                                 Transport
                                      Envelope
                                                                 information

                                                                 Encoded

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics