- 浏览: 137698 次
- 性别:
- 来自: 福建省莆田市
-
文章分类
最新评论
-
houruiming:
tks for your info which helps m ...
setcontent和setcontentobject用的是同一片内存 -
turingfellow:
in.tftpd -l -s /home/tmp -u ro ...
commands -
turingfellow:
LINUX下的网络设置 ifconfig ,routeLINU ...
commands -
turingfellow:
安装 linux loopbackyum install um ...
commands
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)

: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
发表评论
-
protocols
2011-04-03 19:22 936<!-- The protocols capabilit ... -
dfcap
2011-04-03 19:15 891<!-- The df capability has a ... -
booktrading /seller
2011-03-29 23:19 952<html><head><tit ... -
booktrading / manager
2011-03-29 23:18 1118<html><head><tit ... -
booktrading / common
2011-03-29 23:17 1015<html><head><tit ... -
booktrading / buyer
2011-03-29 23:13 871<!-- <H3>The buyer age ... -
tomcat的context说明书
2011-03-20 17:39 830http://tomcat.apache.org/tomcat ... -
msyql的select语法
2010-09-13 22:52 109213.2.7. SELECT语法 13.2.7.1. ... -
zotero与word集成
2010-09-11 08:50 1830Manually Installing the Zotero ... -
university 2/n
2010-08-24 07:54 909Chapter 1.Introduction of regis ... -
university 1/n
2010-08-24 07:53 964chapter? Introduction ?.?The st ... -
Sun Java Bugs that affect lucene
2010-08-23 08:59 750Sometimes Lucene runs amok of b ... -
Snowball分词
2010-08-22 13:07 1256using System; using Lucene.Net. ... -
penn tree bank 6/6
2010-08-20 07:09 92811 This use of 12 Contact the - ... -
penn tree bank 5/n
2010-08-19 07:40 939always errs on the side of caut ... -
penn tree bank 4/n
2010-08-19 07:39 8414. Bracketing 4.1 Basic Methodo ... -
penn tree bank 3/n
2010-08-15 23:31 8362.3.1 Automated Stage. During t ... -
penn tree bank 2/n
2010-08-15 23:30 1535Mitchell P Marcus et al. Buildi ... -
capabilities 3/3
2010-08-11 22:58 80301<capability xmlns="ht ... -
capabilities 2/3
2010-08-11 22:57 766Fig.3.Element creation cases:a) ...
相关推荐
《Developing Multi-Agent System with Jade》是一本专为学习和实践多智能体系统(Multi-Agent Systems,MAS)开发而编写的指南,尤其聚焦于使用JADE(Java Agent DEvelopment Framework)平台。JADE是一个开源的、...
是一篇关于JADE构建Agent的文章,大家可以学习一下,很不错的资源
另一本书《Developing multi-agent System with JADE.pdf》则是关于使用JADE开发多智能体系统的实战指南。这本书可能会逐步讲解从项目规划到系统实现的全过程,包括如何设计智能体的逻辑,如何处理代理之间的交互,...
内容概要:本文详细介绍了基于三菱PLC和三菱触摸屏构建的停车场智能管理系统。系统分为入口、出口和管理中心三大部分,分别负责车辆身份识别、车位检测、道闸控制、缴费结算等功能。三菱PLC作为核心控制器,通过梯形图编程实现了车辆检测、道闸控制等关键逻辑;三菱触摸屏提供人机交互界面,支持参数设置、状态监控等功能。文中还讨论了PLC与触摸屏之间的通信配置,以及如何通过物联网技术将系统接入云端。 适合人群:从事智能交通系统开发的技术人员,尤其是熟悉三菱PLC编程和触摸屏应用的工程师。 使用场景及目标:适用于新建或改造停车场项目,旨在提高停车场管理效率和服务质量,减少人工干预,实现智能化运营。 其他说明:文中提供了具体的硬件配置建议、PLC编程实例、触摸屏界面设计指南及通信协议解析,有助于读者快速理解和实施类似项目。
内容概要:本文深入探讨了基于汇川AM401/AM403系列PLC和CODESYS高级编程模式构建的全自动N95口罩机控制系统。该系统涵盖了多个关键技术,包括轴控制(如绝对定位、相对定位)、凸轮同步控制、超声波焊接机控制、放卷张力控制、封边轴焊耳轴随动跟随控制、高速低速切换控制、步进电机精细控制等。此外,还介绍了IT7070系列触摸屏提供的友好交互界面及其产量统计功能。文章详细解析了各部分的具体实现方式,如通过ST语言编写复杂的控制逻辑,利用CAM_Profile生成器动态调整凸轮曲线,以及通过PID算法实现张力控制等。同时,强调了程序的模块化设计和详细的注释,便于维护和扩展。 适合人群:从事自动化生产设备开发的技术人员,尤其是熟悉PLC编程和CODESYS平台的工程师。 使用场景及目标:适用于希望深入了解全自动N95口罩机控制系统设计和实现的专业人士。主要目标是展示如何通过先进的编程技术和控制策略提升口罩生产的效率和质量。 其他说明:文中提到的实际案例和技术细节有助于读者更好地理解和应用相关技术,同时也为类似项目的开发提供了宝贵的参考资料。
内容概要:本文详细介绍了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 Multiphysics 对变压器进行时域和频域分析,探讨了磁致伸缩、噪声和洛伦兹力的影响。文中通过具体的代码示例展示了如何设置时域和频域的边界条件,定义磁致伸缩系数,计算洛伦兹力,并通过多物理场耦合模拟变压器的振动和噪声。此外,还讨论了一些常见的仿真技巧和注意事项,如相位对齐、材料非线性特性和边界条件设置等。 适合人群:从事电力系统研究、变压器设计和仿真的工程师和技术人员。 使用场景及目标:适用于希望深入了解变压器内部物理机制及其对外界因素响应的专业人士。通过掌握这些方法,可以优化变压器设计,减少噪声,提升电力系统的稳定性和可靠性。 其他说明:文章不仅提供了理论背景,还给出了实用的代码片段和仿真技巧,帮助读者更好地理解和应用 COMSOL 进行变压器建模。
linux系统~~~~~~~~~~~~~
TheIntroductionOfApache(Apache的有关介绍)
2025免费微信小程序毕业设计成品,包括源码+数据库+往届论文资料,附带启动教程和安装包。 启动教程:https://www.bilibili.com/video/BV1BfB2YYEnS 讲解视频:https://www.bilibili.com/video/BV1BVKMeZEYr 技术栈:Uniapp+Vue.js+SpringBoot+MySQL。 开发工具:Idea+VSCode+微信开发者工具。
内容概要:本文详细介绍了Matlab/Simulink在电气仿真领域的应用,涵盖多个方面。首先讨论了三相逆变器建模的关键参数设置,如载波频率和死区时间。接着探讨了电机控制中PI参数整定的方法,特别是永磁同步电机的矢量控制。对于新能源发电,着重讲解了光伏阵列的MPPT算法及其优化策略。此外,还涉及电力系统仿真的技巧,如自定义变压器模型和故障穿越功能的实现。文中提供了大量实用的代码片段,帮助读者更好地理解和应用这些技术。 适合人群:从事电力电子、电机控制、新能源发电以及电力系统仿真的工程师和技术人员。 使用场景及目标:①快速搭建和优化电力电子设备的仿真模型;②提高电机控制系统的设计效率和性能;③优化新能源发电系统的MPPT算法;④增强电力系统仿真的准确性和可靠性。 其他说明:文章强调了仿真过程中常见的问题及解决方案,提供了丰富的实战经验和技巧,有助于读者在实际工作中少走弯路。同时,鼓励读者利用Simulink自带的案例库进行学习和参考。
MATLAB统计工具箱中的回归分析命令.pptx
NSAC全国重点标准化考试联盟认证试题计算机辅助设计AutoCAD.doc
精灵传信支持在线提交发送短信,查看回复短信,在线购买额度,自定义对接易支付,设置违禁词,支持网站+小程序双端。 环境要求: PHP >= 73 MySQL>=5.6 Nginx>=1.6 系统安装教程 1.导入安装包里的数据库 2.打开.env文件填写数据库信息 3.设置运行目录public 4.设置伪静态thinkphp 后台账号密码分别是admin,123456
1. 插上手机后会自动检测手机是否连接,连接成功后会自动重启; 2. 电脑上有adb 环境; 3. 电脑上装有grep 程序
Matlab-第七讲:编程基础II(-函数-).pptx
内容概要:本文详细介绍了利用遗传算法和免疫算法解决物流配送中心选址问题的方法,并提供了完整的MATLAB源码及注释。文章首先阐述了物流配送中心选址的重要性和挑战,然后重点讲解了适应度函数的设计,包括处理容量约束和超载惩罚。接着介绍了种群初始化、交叉操作、变异操作的具体实现细节,以及如何通过动态调整变异率来避免早熟收敛。此外,还探讨了免疫算法的应用,通过引入抗体浓度机制防止算法陷入局部最优。最后展示了算法的实际效果,包括运输成本的显著降低和车辆满载率的提升。文中提供的代码具有良好的扩展性,能够适应不同的物流网络规模和需求。 适合人群:从事物流管理、运筹优化领域的研究人员和技术人员,特别是对遗传算法、免疫算法感兴趣的开发者。 使用场景及目标:适用于需要优化物流配送中心选址的企业和个人。主要目标是通过合理的数学建模和智能算法,降低运输成本,提高运营效率,实现资源的最佳配置。 其他说明:本文不仅提供理论解释,还包括详细的代码实现和调优建议,帮助读者更好地理解和应用相关算法。同时,代码中预留了多种扩展接口,方便进一步研究和改进。
内容概要:本文详细介绍了一套基于西门子S7-200 PLC的六位密码锁系统的设计与实现。首先介绍了系统的硬件配置,包括六个数字输入点、四个功能键以及三个状态指示灯。接着深入讲解了密码锁的关键代码,如输入检测、密码比对、错误处理和防破解机制。文中还分享了许多实际调试的经验和技术细节,如按键防抖、移位寄存器的应用、指针寻址和循环比较等。此外,作者还讨论了如何优化程序性能,提高系统的稳定性和安全性。 适合人群:具备一定PLC编程基础的技术人员,尤其是从事工业自动化领域的工程师。 使用场景及目标:适用于需要高安全性和可靠性的门禁控制系统,如工厂车间、仓库等场所的安全门管理。主要目标是通过PLC实现一个稳定的六位密码锁系统,防止未经授权的访问。 其他说明:文中提供了详细的代码示例和调试技巧,帮助读者更好地理解和实现该系统。同时,作者还提到未来可能加入指纹识别等高级功能,进一步提升系统的安全性。
JSP重点技术基础习题.doc