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

developing multi-agent system with jade (3)

    博客分类:
  • jade
阅读更多

                                      Payload                     message

                                      Message                     Message
                                                                 parameters

                                                                 Message
                                       Content
                                                                 content




                                  Figure 2.6   FIPA message structure


under restriction of authorization by the AMS. The life of an agent with an AP terminates with its
deregistration from the AMS. After deregistration, the AID of that agent can be removed by the
directory and can be made available to other agents who should request it. Agent descriptions can
also be searched for within the AMS, and the AMS is the custodian of the AP description that can
be retrieved by requesting the action get-description.
   The AMS can request that an agent performs a specic management function, such as to terminate
its execution, and has the authority to enforce the operation if the request is ignored. Only a single
AMS can exist in each AP and if the AP spans multiple machines, the AMS is the authority across
all those machines.

Message Transport Service (MTS): The MTS is a service provided by an AP to transport FIPA-
ACL messages between agents on any given AP and between agents on different APs. Messages
are providing a transport envelope that comprises the set of parameters detailing, for example, to
whom the message is to be sent. The general structure of a FIPA-compliant message is depicted in
Figure 2.6.


2.2.2.4 Abstract Architecture

In addition to agent communication and agent management, between 2000 and 2002 an abstract
agent architecture was created and standardized as a means to circumvent the impact on platform
implementations of incremental revision to core specications. This was achieved by abstracting the
key aspects of the most critical mechanisms such as message transport and directory services into
a unied specication. The overall goal of the approach is to permit the creation of systems that
seamlessly integrate within their specic computing environment while interoperating with agent
systems residing in separate environments.
   Agent systems built according to the earlier FIPA  97 and   98 specications can interoperate
with agent systems built according to the Abstract Architecture through transport gateways with
some limitations. The FIPA2000 architecture is a closer match and allows full interoperability via
gateways. Because the Abstract Architecture permits the creation of multiple concrete realizations,
it also provides mechanisms to permit them to interoperate including gateway transformations for
both transport and encodings.
   The Architecture species the ACL message structure, message transport, agent directory services
and service directory services as mandatory. Other aspects are considered optional.


2.2.3 A SELECTION OF KEY FIPA SPECIFICATIONS

To date FIPA has produced 25 standard specications, with a further 14 remaining at the experi-
mental stage, and 3 at the preliminary stage. The complete list of specications is provided at the

The Foundation for Intelligent, Physical Agents (FIPA)                                              17



end of the bibliography. In this section we highlight a selection of the key standard specications
in a logical, rather than numerical, order.


2.2.3.1 FIPA Abstract Architecture Specication (SC00001)

As discussed previously, the FIPA Abstract Architecture exists to provide a common, unchanging
point of reference for FIPA-compliant implementations that captures the most critical and salient
features of agent systems while providing some isolation from small iterative changes that may
impact on the underlying FIPA2000 specication set.
  The Architecture denes at an abstract level how two agents can locate and communicate with
each other by registering themselves and exchanging messages. Agents communicate by exchanging
messages which represent speech acts and which are encoded in an agent communication language.
Services provide support services for agents and include the standard services of agent directory
services, message transport services and service directory services. The Architecture is explicitly
neutral about how services are presented, stating that they may be implemented either as agents
or as software that is accessed via method invocation using programming. An agent providing a
service is more constrained in its behaviour than a general-purpose agent. In particular, these agents
are required to preserve the semantics of the service. This implies that these agents do not have
the degree of autonomy normally attributed to agents. They may not arbitrarily refuse to provide
the service.
  Some of the most important items specied by the FIPA Abstract Architecture are:


Agent messages are the fundamental form of communication between agents. The structure of a
  message is a set of key values written in FIPA-ACL. The content of the message is expressed
  in a content language, such as FIPA-SL or FIPA-KIF, and content expressions can be grounded
  by referenced ontologies. Messages can recursively contain other messages within their content
  and must contain key parameters such as the sender and receiver names. Prior to transmission
  messages must be encoded into a payload and a message transport envelope for the particular
  protocol in use.
A message transport service is dened as the means to send and receive transport messages
  between agents. This is considered a mandatory element of FIPA agent systems.
An agent directory service is dened as a shared information repository in which agents may
  publish their agent directory entries and in which they may search for agent directory entries of
  interest. This is considered a mandatory element of FIPA agent systems.
A service directory service is dened as a shared repository in which agents and services can
  discover services. Services include, for example, message transport services, agent directory
  services, gateway services and message buffering. A service directory service can also be used to
  store the service descriptions of application-oriented services, such as commercial and business-
  oriented services. This is considered a mandatory element of FIPA agent systems.


2.2.3.2 FIPA-ACL Message Structure Specication (SC00061)

A FIPA-ACL message contains a set of one or more message parameters. Precisely which parameters
are needed for effective agent communication will vary according to the situation; the only parameter
that is mandatory in all ACL messages is the performative, although it is expected that most
ACL messages will also contain sender, receiver and content parameters. The FIPA-ACL message
parameters are shown in Table 2.1 without regard to specic encodings. FIPA denes three specic
encodings: String (EBNF notation), XML and Bit-Efcient.
  User-dened message parameters may also be included by preceding the parameter name with
the string   X-  .

18                                                                             Agent Technology Overview



Table 2.1   ACL message parameters


Parameter                                                      Description


Performative                 Type of the communicative act of the message
sender                       Identity of the sender of the message
receiver                     Identity of the intended recipients of the message
reply-to                     Which agent to direct subsequent messages to within a conversation thread
content                      Content of the message
language                     Language in which the content parameter is expressed
encoding                     Specic encoding of the message content
ontology                     Reference to an ontology to give meaning to symbols in the message content
protocol                     Interaction protocol used to structure a conversation
conversation-id              Unique identity of a conversation thread
reply-with                   An expression to be used by a responding agent to identify the message
in-reply-to                  Reference to an earlier action to which the message is a reply
reply-by                     A time/date indicating by when a reply should be received



This is a simple example of a FIPA-ACL message with a request performative:


(request
      :sender (agent-identifier :name alice@mydomain.com)
      :receiver (agent-identifier :name bob@yourdomain.com)
     ntology travel-assistant
      :language FIPA-SL
      :protocol fipa-request
      :content
         ""((action
              (agent-identifier :name bob@yourdomain.com)
               (book-hotel :arrival 15/10/2006
                                 :departure 05/07/2002 ... )
         ))""
)




2.2.3.3 FIPA-ACL Communicative Act Library Specication (SC00037)

The FIPA-ACL denes communication in terms of a function or action, called the communicative
act or CA, performed by the act of communicating. This standard provides a library of all the CAs
specied by FIPA. The set of FIPA standardized CAs are listed in Table 2.2.
  In general CAs are based on speech act theory (Searle, 1969) which denes the functions of sim-
ply specied actions. These functions are detailed in the FIPA CA Library specication (FIPA37),
but examples include interrogatives which query for information, exercitives which ask for an
action to be performed, referentials which share assertions about the world environment, phatics
which establish, prolong or interrupt communication, paralinguistics which relate a message to
other messages, and expressives which express attitudes, intentions or beliefs.
  A message can perform several functions at the same time. For example the FIPA CA Agree
is described as the action of agreeing to perform some action possibly in the future. This is
phatic in terms of agreeing to proceed and is paralinguistic in terms of referring to another FIPA
CA Chence, Agree is principally classied as a phatic function. All FIPA CAs inherently support
the expressive function as a secondary function as they are dened in a modal logic form that

The Foundation for Intelligent, Physical Agents (FIPA)                                                        19



Table 2.2  The FIPA communicative acts


FIPA communicative act                                             Description


Accept Proposal                   The action of accepting a previously submitted proposal to perform an
                                   action
Agree                             The action of agreeing to perform some action, possibly in the future
Cancel                            The action of one agent informing another agent that the rst agent no
                                   longer has the intention that the second agent performs some action
Call for Proposal                 The action of calling for proposals to perform a given action
Confirm                           The sender informs the receiver that a given proposition is true, where the
                                   receiver is known to be uncertain about the proposition
Disconfirm                        The sender informs the receiver that a given proposition is false, where the
                                   receiver is known to believe, or believe it likely that, the proposition is
                                   true
Failure                           The action of telling another agent that an action was attempted but the
                                   attempt failed
Inform                            The sender informs the receiver that a given proposition is true
Inform If                         A macro action for the agent of the action to inform the recipient whether
                                   or not a proposition is true
Inform Ref                        A macro action allowing the sender to inform the receiver of some object
                                   believed by the sender to correspond to a specic descriptor, for example
                                   a name
Not Understood                    The sender of the act (for example, i) informs the receiver (for example, j)
                                   that it perceived that j performed some action, but that i did not
                                   understand what j just did. A particular common case is that i tells j that
                                   i did not understand the message that j has just sent to i
Propagate                         The sender intends that the receiver treat the embedded message as sent
                                   directly to the receiver, and wants the receiver to identify the agents
                                   denoted by the given descriptor and send the received propagate
                                   message to them
Propose                           The action of submitting a proposal to perform a certain action, given
                                   certain preconditions
Proxy                             The sender wants the receiver to select target agents denoted by a given
                                   description and to send an embedded message to them
Query If                          The action of asking another agent whether or not a given proposition is true
Query Ref                         The action of asking another agent for the object referred to by a referential
                                   expression
Refuse                            The action of refusing to perform a given action, and explaining the reason
                                   for the refusal
Reject Proposal                   The action of rejecting a proposal to perform some action during a
                                   negotiation
Request                           The sender requests the receiver to perform some action
                                 One important class of uses of the request act is to request the receiver to
                                 perform another communicative act
Request When                      The sender wants the receiver to perform some action when some given
                                   proposition becomes true
Request Whenever                  The sender wants the receiver to perform some action as soon as some
                                   proposition becomes true and thereafter each time the proposition
                                   becomes true again
Subscribe                         The act of requesting a persistent intention to notify the sender of the value
                                   of a reference, and to notify again whenever the object identied by the
                                   reference changes

20                                                                           Agent Technology Overview



expresses attitudes, intentions and beliefs. Additionally, all FIPA CAs can refer to concepts from
an explicit conceptualization dened by, for example, an ontology.


2.2.3.4 FIPA-SL Content Language Specication (SC00008)

The FIPA Semantic Language (SL) is used to dene the intentional semantics for the FIPA CAs as
a logic of mental attitudes and actions, formalized in a rst-order modal language with identity. SL
is dened in terms of a string expression grammar, dened to be a sub-grammar of the more general
s-expression syntax. Content expressions are dened in terms of action expressions or propositions.
These in turn are represented as well-formed formulas (wff) consisting of terms (constant, set,
sequence, functional term, action expression) and constants (numerical constants, string, datetime).
A well-formed formula is constructed from an atomic formula by applying construction opera-
tors or logical connective operators. Examples of these include negation, conjunction, disjunction,
implication, equivalence, universal quantier, belief, intention, done, iota, any and all. Details of
all these and others are provided in the specication document.
   FIPA denes three subsets of SL (SL0, SL1 and SL2), differing in terms of which operators are
supported. FIPA SL1 extends the minimal representational form of FIPA SL0 by adding Boolean
connectives to represent propositional expressions, such as not, and, or. FIPA SL2 extends SL1 by
adding construction, logic modal operators and the action operator feasible. SL2 allows rst-order
predicate and modal logic but is restricted to ensure that it must be decidable. Different CAs require
the use of different SL subsets, e.g. queries requires the use of a referential operator to assign a
value for the results as dened in SL2, whereas requests requires use of the action operator   done  
dened in SL0.
   A FIPA-SL content expression may be used as the content of an ACL message. There are three
cases:


1. A proposition, which may be assigned a truth value in a given context. A proposition is used
   in the inform CA and other CAs derived from it.
2. An action, which can be performed. An action may be a single action or a composite action
   built using the sequencing and alternative operators. An action is used as a content expression
   when the act is request and other CAs derived from it.
3. An identifying reference expression, which identies an object in the domain. This is the refer-
   ential operator and is used in the inform-ref macro act and other CAs derived from it.


There follows a simple example depicting an interaction between agents A and B that makes use
of the iota operator, where agent A is supposed to have the following knowledge base KB= {P(A),
Q(1, A), Q(1, B)}. The iota operator introduces a scope for the given expression (which denotes
a term), in which the given identier, which would otherwise be free, is dened. The expression
(iota x (P x)) may be read as   the x such that P [is true] of x  . The iota operator is a constructor
for terms which denote objects in the domain of discourse.

   (query-ref
      :sender (agent-identifier :name B)
      :receiver (set (agent-identifier :name A))
      :content
         "((iota ?x (p ?x)))"
      :language fipa-sl
      :reply-with query1)


   (inform
      :sender (agent-identifier :name A)

The Foundation for Intelligent, Physical Agents (FIPA)                                            21



      :receiver (set (agent-identifier :name B)
      :content
        " ((= (iota ?x (p ?x)) alpha)) "
      :language fipa-sl
      :in-reply-to query1)



The only object that satises proposition P(x) is alpha; therefore, the query-ref message is replied
by the inform message as shown.



2.2.3.5 FIPA Request Interaction Protocol Specication (SC00026)

Depicted by the sequence diagram in Figure 2.7, the FIPA Request Interaction Protocol (IP) allows
one agent, the Initiator, to request another, the Participant, to perform an action. The Participant
processes the request and makes a decision whether to accept or refuse the request.



                         FIPA-Request-Protocol



                                  Initiator                        Participant




                                                    request




                                                   refuse

                                                   [refused]


                                                     agree

                                             [agreed and
                                             notification necessary]


                                                   failure




                                           inform-done : inform

                                                                    [agreed]




                                           inform-result : inform




                            Figure 2.7     The FIPA Request Interaction Protocol

22                                                                            Agent Technology Overview



   If conditions indicate that an explicit agreement is required (that is,   notication necessary   is
true), then the Participant communicates an agree. This agreement may be optional depending on
circumstances, for example, if the requested action is very quick and can happen before a time
specied in the reply-by parameter. Once the request has been agreed upon, then the Participant
must communicate either:

A failure if it fails in its attempt to ll the request,
An inform-done if it successfully completes the request and only wishes to indicate that it is
   done, or
An inform-result if it wishes to indicate both that it is done and notify the interaction Initiator
   of the results.

Any interaction using this interaction protocol is identied by a globally unique, non-null
conversation-id parameter, assigned by the Initiator and set in the ACL message structure. The
agents involved in the interaction must tag all of its ACL messages with this conversation identier.
This enables each agent to manage its communication strategies and activities; for example, it allows
an agent to identify individual conversations and to reason across historical records of conversations.
   At any point in the IP, the receiver of a communication can inform the sender that it did not
understand what was communicated. This is accomplished by returning a not-understood message.
Figure 2.7 does not depict a not-understood communication as it can occur at any point in the IP.
The communication of a not-understood within an interaction protocol may terminate the entire IP
and termination of the interaction may imply that any commitments made during the interaction
are null and void.
   In addition, at any point in the IP, the Initiator may cancel the interaction by initiating the
Cancel Meta-Protocol shown in Figure 2.8. The conversation-id parameter of the cancel interaction
is identical to the conversation-id parameter of the interaction that the Initiator intends to cancel.
The semantics of cancel should roughly be interpreted as meaning that the Initiator is no longer
interested in continuing the interaction and that it should be terminated in a manner acceptable to
both the Initiator and the Participant. The Participant either informs the Initiator that the interaction
is done using an inform-done or indicates the failure of the cancellation using a failure.



                  FIPA-Cancel-Meta-Protocol



                                Initiator                              Participant




                                       cancel(canceled-communicative-act)



                                           inform-done : inform

                                                [not failed]



                                                  failure

                                                            [failed]



                               Figure 2.8   The FIPA Cancel Meta-Protocol

The Foundation for Intelligent, Physical Agents (FIPA)                                              23




                FIPA-Contract Net-Protocol


                                Initiator                                Participant




                                                       cfp                m




                                       i 2n         refuse

                                                                         n
                                                                     dead-
                                                                       line


                                       j = n  i    propose



                                                  reject-proposal        k 2j




                                                 accept-proposal    I = j  k


                                                   failure


                                            inform-done : inform


                                            inform-result : inform




                          Figure 2.9      The FIPA Contract Net Interaction Protocol



2.2.3.6 FIPA Contract Net Interaction Protocol Specication (SC00026)

As an example of a slightly more complex interaction protocol, the FIPA Contract Net Interaction
Protocol (IP) describes the case of one agent (the Initiator) that wishes to have some task performed
by one or more other agents (the Participants) and further wishes to optimize a function that
characterizes the task. This characteristic is commonly expressed as cost, but could also be soonest
time to completion, fair distribution of tasks, etc. For a given task, any number of the Participants
may respond with a proposal; the rest must refuse. Negotiations then continue with the Participants
that proposed. The IP is depicted in Figure 2.9.
  The Initiator solicits m proposals from other agents by issuing a call for proposals (cfp) CA
which species the task and any conditions the Initiator places upon the execution of the task.
Participants receiving the call for proposals are viewed as potential contractors and are able to
generate n responses. Of these, j are proposals to perform the task, specied as propose CAs.
  The Participant  s proposal includes the preconditions that the Participant is setting out for the
task, which may be the price, time when the task will be done, etc. Alternatively, the i = n  j
Participants may refuse to propose. Once the deadline passes, the Initiator evaluates the received

24                                                                            Agent Technology Overview



j proposals and selects agents to perform the task; one, several or no agents may be chosen. The l
agents of the selected proposal(s) will be sent an accept-proposal CA and the remaining k agents
will receive a reject-proposal CA. The proposals are binding on the Participant, so that once the
Initiator accepts the proposal the Participant acquires a commitment to perform the task. Once the
Participant has completed the task, it sends a completion message to the Initiator in the form of
an inform-done or a more explanatory version in the form of an inform-result. However, if the
Participant fails to complete the task, a failure message is sent.
   This IP requires the Initiator to know when it has received all replies. In the case that a Participant
fails to reply with either a propose or a refuse CA, the Initiator may potentially be left waiting
indenitely. To guard against this, the cfp CA includes a deadline by which replies should be
received by the Initiator. Proposals received after the deadline are automatically rejected with the
given reason that the proposal was late. The deadline is specied by the reply-by parameter in the
ACL message.


2.2.3.7 FIPA Agent Message Transport Service Specication (SC00067)

A FIPA Message Transport Service (MTS) provides the mechanism for the transfer of FIPA-ACL
messages between agents using a Message Transport Protocol (MTP). The agents involved may
be local to a single AP or on different APs. On any given AP, the MTS is provided by an Agent
Communication Channel (ACC).
   A message is made up of two parts: a message envelope for expressing transport information and a
message payload comprising the encoded ACL message of the agent communication. Any MTP may
use a different internal representation to describe a message envelope, but must express the same
terms, represent the same semantics and perform the corresponding actions. A message envelope
comprises a collection of parameters each of which is a name/value pair with the mandatory elds
of to, from, date and acl-representation.
   An ACC provides an MTS and is responsible for sending and receiving messages on an AP. An
ACC must transfer the messages it receives in accordance with the transport instructions contained
in the message envelope and is only required to read the message envelope; it is not required to
parse the message payload. In performing message transfer tasks, the ACC may be required to
obtain information from the AMS or DF on its own AP. Some implementations of ACCs may
provide some form of buffering capability to help agents manage their messages.
   Each ACC handling a message may add new information to the message envelope, but it may
never overwrite existing information. ACCs can also add new parameters to a message envelope
which override existing parameters that have the same parameter name; the mechanism for disam-
biguating message envelope entries is specied by each concrete message envelope syntax. The
message forwarding behaviour of an ACC is determined by the instructions for message delivery
that are expressed in the message envelope, the parameters of which are described in Table 2.3.
   The recipients of a message are specied in the to parameter of a message envelope and take
the form of AIDs. Depending upon the presence of intended-receiver parameter, the ACC
forwards the message in one of the following ways:

If an ACC receives a message envelope without an intended-receiver parameter, then it
  generates a new intended-receiver parameter from the to parameter (possibly containing
  multiple AIDs). It may also generate multiple copies of the message with different intended-
  receiver parameters if multiple receivers are specied. In all cases, the ACC is required to
  process all entries in the to eld parameter and not to add and not to remove any AID that was
  contained in the original message. The intended-receiver parameters form a delivery path
  showing the route that a message has taken.
If an ACC receives a message envelope with an intended-receiver parameter, this is used
  for delivery of this instance of the message and the to parameter is ignored.

The Foundation for Intelligent, Physical Agents (FIPA)                                                    25



Table 2.3   FIPA message envelope parameters


Parameter                        Description


to                               The names of the primary recipients of the message
from                             The name of the agent that sent the message
comments                         Text comments
acl-representation               The syntax representation of the message payload
payload-length                   The length in bytes of the message payload
payload-encoding                 The language encoding of the message payload
date                             The creation date and time of the message envelope
intended-receiver                The name of the agents to whom this instance of a message is to be delivered
received                         A stamp indicating the receipt of a message by an ACC
transport-behaviour              The transport requirements of the message



If an ACC receives a message envelope with more than one intended-receiver parameter,
  the most recent is used.

Before forwarding the message, the ACC adds a completed received parameter to the message
envelope. Once an ACC has forwarded a message it no longer needs to keep any record of the
existence of that message.
  The AID given in the to or intended-receiver parameter (in the case of both parameters
being present, the information in the intended-receiver parameter is used) of a message
envelope may contain multiple transport addresses for a single receiving agent. The ACC uses the
following method to try to deliver the message:

Try to deliver the message to the rst transport address in the addresses parameter; the rst
  is chosen to reect the fact that the transport address list in an AID is ordered by preference.
If this fails, because the agent or AP was not available or because the ACC does not support the
  appropriate message transport protocol, etc., then the ACC creates a new intended-receiver
  parameter containing the AID with the failed transport address removed. The ACC then attempts
  to send the message to the next transport address in AID in the intended receiver list (now the
  rst in the newly created intended-receiver parameter).
If delivery is still unsuccessful when all transport addresses have been tried (or the AID contained
  no transport addresses), the ACC may try to resolve the AID using the name resolution services
  listed in the resolvers parameter of the AID. Again, the name resolution services should be
  tried in the order of their appearance.

Finally, if all previous message delivery attempts have failed, then an appropriate error message
for the nal failure is passed back to the sending agent.
  An ACC uses the following rules in delivering messages to multiple intended receivers:

If an ACC receives a message envelope with no intended-receiver parameter and a to
  parameter containing more than one AID, it may or may not split these up to form separate
  messages. Each message would contain a subset of the agents named in the to and intended-
  receiver parameters.
If an ACC receives a message envelope with an intended-receiver parameter containing
  more than one AID, it may or may not split these up to form separate messages.
If an ACC splits a message as described above, then it is enforced not to add and not to remove
  any AID that was contained in the original message.

The resulting messages are handled as in the single receiver case.

26                                                                          Agent Technology Overview



   An agent has three options when sending a message to another agent resident on a remote AP:


1. Agent A sends the message to its local ACC using a proprietary or standard interface. The ACC
   then takes care of sending the message to the correct remote ACC using a suitable MTP. The
   remote ACC will eventually deliver the message.
2. Agent A sends the message directly to the ACC on the remote AP on which Agent B resides.
   This remote ACC then delivers the message to B. To use this method, Agent A must support
   access to one of the remote ACC  s MTP interfaces.
3. Agent A sends the message directly to Agent B, by using a direct communication mechanism.
   The message transfer, addressing, buffering of messages and any error messages must be handled
   by the sending and receiving agents. This communication mode is not covered by FIPA.


Finally, the transport description forms part of an AP and is expressed in fipa-sl0. The following
transport description is for an AP which supports IIOP and HTTP-based transports:

  (ap-description


  :name myAPDescription
  :ap-services
   (set
     (ap-service
      :name myIIOPMTP
      :type fipa.mts.mtp.iiop.std
      :addresses
       (sequence
           corbaloc:iiop:agents.fipa.org:10100/acc
           IOR:00000000002233
           corbaname::agents.fipa.org:10000/nameserver#acc))
     (ap-service
      :name myHTTPMTP
      :type fipa.mts.mtp.http.std
      :addresses
       (sequence
           http://agents.fipa.org:8080/acc))) )



2.2.4 THE RELEVANCE OF FIPA TO JADE

We recall that FIPA is based on the tenet that only the external behaviour of system components
should be specied, leaving internal architecture and implementation details to the developers
of individual platforms. This ensures seamless interoperation between fully compliant platforms.
JADE complies with this notion by ensuring complete compatibility with the primary FIPA2000
specications (communication, management and architecture) that provide the normative framework
within which FIPA agents can exist, operate and communicate, while adopting a unique, proprietary
internal architecture and implementation of key services and agents.
   JADE is of course only one of several agent platforms, applications and collaborative projects
that have been, and are continuing to be, compliant with the FIPA standards. This compliance has
been tested on several occasions through such events as the FIPA interoperability tests conducted in
1999 and 2001 and the large-scale Agentcities project (Agentcities) that integrated several globally
distributed FIPA-compliant platforms. With the continued growth of inter-organization application
domains such as supply networks and inter-provider telecommunications, there is an increased
likelihood that open interoperation will become an important factor.

The Foundation for Intelligent, Physical Agents (FIPA)                                              27



   In terms of its coverage of the FIPA standards, JADE implements the complete Agent Manage-
ment specication including the key services of AMS, DF, MTS and ACC. Of course through use
and experience these services have been extended with additional features, but the core compliance
to FIPA has been maintained. JADE also implements the complete FIPA Agent Communication
stack, ranging from the availability of FIPA-ACL for message structure, FIPA-SL for message
content expression, plus support for many of the FIPA interaction and transport protocols.
   An example of where JADE exceeds, but does not break, the FIPA standards, is the JADE
transport mechanism which supports all specied operations, but is also capable of adapting a
connection type by seamlessly selecting the best available protocol according to the particular
usage situation.
   Some of the ancillary aspects of the FIPA standards, such as some of the more esoteric interaction
protocols and non-standardized work such as the ontology service, have yet to be developed for
JADE even if programmers can nd all the tools and abstractions needed to implement them.
However, there are also many JADE components that go far beyond the FIPA specications.
For example, JADE provides a distributed, fault tolerant, container architecture, internal service
architecture, persistent message delivery, semantic framework, security mechanisms, agent mobility
support, web-service interaction, graphical interfaces, and much more. Many of these are described
in the main body of this book, as is the critical aspect of agent-oriented systems that FIPA does
not address  C the internal architecture of agents themselves.
   Due to its open source status, strong support from industry and a broad user community, JADE
is now generally considered to be the leading FIPA-compliant open source agent framework.


3

The JADE Platform


This chapter provides a basic overview of the JADE platform and the main components constituting
its distributed architecture. Furthermore, it describes how to launch the platform with the various
command-line options and how to experiment with the main graphical tools.


3.1 BRIEF HISTORY
The rst software developments, that eventually became the JADE platform, were started by Tele-
com Italia (formerly CSELT) in late 1998, motivated by
分享到:
评论

相关推荐

    Developing multi-agent system with Jade

    《Developing Multi-Agent System with Jade》是一本专为学习和实践多智能体系统(Multi-Agent Systems,MAS)开发而编写的指南,尤其聚焦于使用JADE(Java Agent DEvelopment Framework)平台。JADE是一个开源的、...

    Developing Multi-Agent Systems with JADE

    是一篇关于JADE构建Agent的文章,大家可以学习一下,很不错的资源

    JADE中文英文教程大全

    另一本书《Developing multi-agent System with JADE.pdf》则是关于使用JADE开发多智能体系统的实战指南。这本书可能会逐步讲解从项目规划到系统实现的全过程,包括如何设计智能体的逻辑,如何处理代理之间的交互,...

    基于三菱PLC和触摸屏的停车场智能管理系统设计与实现

    内容概要:本文详细介绍了基于三菱PLC和三菱触摸屏构建的停车场智能管理系统。系统分为入口、出口和管理中心三大部分,分别负责车辆身份识别、车位检测、道闸控制、缴费结算等功能。三菱PLC作为核心控制器,通过梯形图编程实现了车辆检测、道闸控制等关键逻辑;三菱触摸屏提供人机交互界面,支持参数设置、状态监控等功能。文中还讨论了PLC与触摸屏之间的通信配置,以及如何通过物联网技术将系统接入云端。 适合人群:从事智能交通系统开发的技术人员,尤其是熟悉三菱PLC编程和触摸屏应用的工程师。 使用场景及目标:适用于新建或改造停车场项目,旨在提高停车场管理效率和服务质量,减少人工干预,实现智能化运营。 其他说明:文中提供了具体的硬件配置建议、PLC编程实例、触摸屏界面设计指南及通信协议解析,有助于读者快速理解和实施类似项目。

    自动化生产领域:汇川AM系列PLC在全自动N95口罩机中的高级编程与控制应用

    内容概要:本文深入探讨了基于汇川AM401/AM403系列PLC和CODESYS高级编程模式构建的全自动N95口罩机控制系统。该系统涵盖了多个关键技术,包括轴控制(如绝对定位、相对定位)、凸轮同步控制、超声波焊接机控制、放卷张力控制、封边轴焊耳轴随动跟随控制、高速低速切换控制、步进电机精细控制等。此外,还介绍了IT7070系列触摸屏提供的友好交互界面及其产量统计功能。文章详细解析了各部分的具体实现方式,如通过ST语言编写复杂的控制逻辑,利用CAM_Profile生成器动态调整凸轮曲线,以及通过PID算法实现张力控制等。同时,强调了程序的模块化设计和详细的注释,便于维护和扩展。 适合人群:从事自动化生产设备开发的技术人员,尤其是熟悉PLC编程和CODESYS平台的工程师。 使用场景及目标:适用于希望深入了解全自动N95口罩机控制系统设计和实现的专业人士。主要目标是展示如何通过先进的编程技术和控制策略提升口罩生产的效率和质量。 其他说明:文中提到的实际案例和技术细节有助于读者更好地理解和应用相关技术,同时也为类似项目的开发提供了宝贵的参考资料。

    【嵌入式开发】Linux内核移植全流程解析:从准备工作到问题解决的详细指南

    内容概要:本文详细介绍了Linux内核移植在嵌入式开发中的重要性及其具体实施步骤。首先,强调了Linux内核移植作为连接硬件与软件桥梁的重要性,特别是在智能穿戴设备、工业自动化控制系统等广泛应用中的角色。文章随后解析了Linux内核移植的主要步骤,包括准备阶段(选择合适的内核版本、获取源码、配置交叉编译环境)、内核源码修改(硬件平台支持、时钟调整、机器码适配)、内核配置(通过make config、make menuconfig或make xconfig进行配置)、内核编译与安装。此外,还探讨了常见的移植问题及其解决方案,如串口打印异常、文件系统挂载故障和驱动适配难题。最后,通过一个具体的ARM架构开发板移植案例,展示了整个移植流程的实际操作,并展望了Linux内核移植技术的发展趋势。 适合人群:具备一定嵌入式开发基础,特别是对Linux内核有一定了解的研发人员和技术爱好者。 使用场景及目标:①帮助开发者理解Linux内核移植的基本概念和流程;②指导开发者在实际项目中进行Linux内核移植,解决常见问题;③为从事嵌入式系统开发的人员提供理论支持和技术参考。 其他说明:Linux内核移植是一项复杂但极具价值的任务,不仅需要扎实的理论知识,还需要丰富的实践经验。随着技术的进步,Linux内核移植技术也在不断发展,未来的方向将更加注重自动化和智能化,以提高移植效率和成功率。建议读者在学习过程中结合实际案例进行练习,逐步积累经验,掌握这一关键技术。

    识别多项式模型:项生成、结构检测、参数估计和动态验证

    实现全面的系统表征,包括候选项生成、结构检测、参数估计以及动态和静态模型验证。该软件包特别适用于分析具有固有噪声和误差的流动工厂系统,这些系统被建模为受白噪声破坏的二次多项式。 主要特点: 动态数据分析:处理输入和输出的时间序列数据,并验证数据集以进行识别和验证。 结构检测:删除不合适的聚类,并应用AIC和ERR等优化算法来细化模型结构。 参数估计:使用扩展最小二乘(ELS)或受限扩展最小二乘(RELS)计算模型参数。 模型验证:通过残差分析和相关系数评估模型性能。 静态模型仿真:生成静态响应并模拟各种输入条件下的系统行为。 方法概述: 该类包括支持识别过程的几种方法: generateCandidateTerms:构造一个用于系统特征描述的候选术语矩阵。 detectStructure:应用算法精确识别模型结构。 estimateParameters ELS:使用扩展最小二乘法估计动态模型参数。 estimateParameters RELS:使用受限扩展最小二乘法计算参数。 validateModel:分析模型准确性并验证残差行为。 buildStaticResponse:模拟静态模型对不同输入的响应。 displayModel:以文本和面板格式显示已识别的动态模型。 displayStaticModel:展示静态模型及其仿真结果。

    COMSOL变压器模型:时域与频域分析及磁致伸缩、噪声和洛伦兹力的多物理场仿真

    内容概要:本文详细介绍了如何使用 COMSOL Multiphysics 对变压器进行时域和频域分析,探讨了磁致伸缩、噪声和洛伦兹力的影响。文中通过具体的代码示例展示了如何设置时域和频域的边界条件,定义磁致伸缩系数,计算洛伦兹力,并通过多物理场耦合模拟变压器的振动和噪声。此外,还讨论了一些常见的仿真技巧和注意事项,如相位对齐、材料非线性特性和边界条件设置等。 适合人群:从事电力系统研究、变压器设计和仿真的工程师和技术人员。 使用场景及目标:适用于希望深入了解变压器内部物理机制及其对外界因素响应的专业人士。通过掌握这些方法,可以优化变压器设计,减少噪声,提升电力系统的稳定性和可靠性。 其他说明:文章不仅提供了理论背景,还给出了实用的代码片段和仿真技巧,帮助读者更好地理解和应用 COMSOL 进行变压器建模。

    linux系统~~~~~~~

    linux系统~~~~~~~~~~~~~

    TheIntroductionOfApache

    TheIntroductionOfApache(Apache的有关介绍)

    校园疫情防控管理平台 2025免费JAVA微信小程序毕设

    2025免费微信小程序毕业设计成品,包括源码+数据库+往届论文资料,附带启动教程和安装包。 启动教程:https://www.bilibili.com/video/BV1BfB2YYEnS 讲解视频:https://www.bilibili.com/video/BV1BVKMeZEYr 技术栈:Uniapp+Vue.js+SpringBoot+MySQL。 开发工具:Idea+VSCode+微信开发者工具。

    电气仿真中Matlab/Simulink的应用:电力电子、电机控制、新能源发电及电力系统的模型定制与优化

    内容概要:本文详细介绍了Matlab/Simulink在电气仿真领域的应用,涵盖多个方面。首先讨论了三相逆变器建模的关键参数设置,如载波频率和死区时间。接着探讨了电机控制中PI参数整定的方法,特别是永磁同步电机的矢量控制。对于新能源发电,着重讲解了光伏阵列的MPPT算法及其优化策略。此外,还涉及电力系统仿真的技巧,如自定义变压器模型和故障穿越功能的实现。文中提供了大量实用的代码片段,帮助读者更好地理解和应用这些技术。 适合人群:从事电力电子、电机控制、新能源发电以及电力系统仿真的工程师和技术人员。 使用场景及目标:①快速搭建和优化电力电子设备的仿真模型;②提高电机控制系统的设计效率和性能;③优化新能源发电系统的MPPT算法;④增强电力系统仿真的准确性和可靠性。 其他说明:文章强调了仿真过程中常见的问题及解决方案,提供了丰富的实战经验和技巧,有助于读者在实际工作中少走弯路。同时,鼓励读者利用Simulink自带的案例库进行学习和参考。

    MATLAB统计工具箱中的回归分析命令.pptx

    MATLAB统计工具箱中的回归分析命令.pptx

    NSAC全国重点标准化考试联盟认证试题计算机辅助设计AutoCAD.doc

    NSAC全国重点标准化考试联盟认证试题计算机辅助设计AutoCAD.doc

    精灵传信系统 精灵通讯技术 自定义对接易支付 支持网站+小程序双端源码.zip

    精灵传信支持在线提交发送短信,查看回复短信,在线购买额度,自定义对接易支付,设置违禁词,支持网站+小程序双端。 环境要求: PHP >= 73 MySQL>=5.6 Nginx>=1.6 系统安装教程 1.导入安装包里的数据库 2.打开.env文件填写数据库信息 3.设置运行目录public 4.设置伪静态thinkphp 后台账号密码分别是admin,123456

    自动化压测重启Android手机设备

    1. 插上手机后会自动检测手机是否连接,连接成功后会自动重启; 2. 电脑上有adb 环境; 3. 电脑上装有grep 程序

    Matlab-第七讲:编程基础II(-函数-).pptx

    Matlab-第七讲:编程基础II(-函数-).pptx

    基于遗传算法与免疫算法的物流配送中心选址优化及VRP路径规划(MATLAB实现)

    内容概要:本文详细介绍了利用遗传算法和免疫算法解决物流配送中心选址问题的方法,并提供了完整的MATLAB源码及注释。文章首先阐述了物流配送中心选址的重要性和挑战,然后重点讲解了适应度函数的设计,包括处理容量约束和超载惩罚。接着介绍了种群初始化、交叉操作、变异操作的具体实现细节,以及如何通过动态调整变异率来避免早熟收敛。此外,还探讨了免疫算法的应用,通过引入抗体浓度机制防止算法陷入局部最优。最后展示了算法的实际效果,包括运输成本的显著降低和车辆满载率的提升。文中提供的代码具有良好的扩展性,能够适应不同的物流网络规模和需求。 适合人群:从事物流管理、运筹优化领域的研究人员和技术人员,特别是对遗传算法、免疫算法感兴趣的开发者。 使用场景及目标:适用于需要优化物流配送中心选址的企业和个人。主要目标是通过合理的数学建模和智能算法,降低运输成本,提高运营效率,实现资源的最佳配置。 其他说明:本文不仅提供理论解释,还包括详细的代码实现和调优建议,帮助读者更好地理解和应用相关算法。同时,代码中预留了多种扩展接口,方便进一步研究和改进。

    S7-200 PLC实现六位密码锁系统的详细解析及应用场景

    内容概要:本文详细介绍了一套基于西门子S7-200 PLC的六位密码锁系统的设计与实现。首先介绍了系统的硬件配置,包括六个数字输入点、四个功能键以及三个状态指示灯。接着深入讲解了密码锁的关键代码,如输入检测、密码比对、错误处理和防破解机制。文中还分享了许多实际调试的经验和技术细节,如按键防抖、移位寄存器的应用、指针寻址和循环比较等。此外,作者还讨论了如何优化程序性能,提高系统的稳定性和安全性。 适合人群:具备一定PLC编程基础的技术人员,尤其是从事工业自动化领域的工程师。 使用场景及目标:适用于需要高安全性和可靠性的门禁控制系统,如工厂车间、仓库等场所的安全门管理。主要目标是通过PLC实现一个稳定的六位密码锁系统,防止未经授权的访问。 其他说明:文中提供了详细的代码示例和调试技巧,帮助读者更好地理解和实现该系统。同时,作者还提到未来可能加入指纹识别等高级功能,进一步提升系统的安全性。

    JSP重点技术基础习题.doc

    JSP重点技术基础习题.doc

Global site tag (gtag.js) - Google Analytics