Title: Agents Transacting in Open Environments
1(No Transcript)
2Agents Transacting in Open Environments
- Two phases
- Locating appropriate agents
- through different kinds of middle agents
- Performing the transaction
- with or without middle agents
3Transaction Phase
- Providers and requesters interact with each other
directly - a negotiation phase to find out service
parameters and preferences (if not taken into
account in the locating phase) - delegation of service
- Providers and requesters interact through middle
agents - middle agent finds provider and delegates
- hybrid protocols
- Reasons for interacting through middle agents
- privacy issues (anonymization of requesters and
providers) - trust issues (enforcement of honesty not
necessarily keep anonymity of principals) e.g.
NetBill
4Matching Engine for Service Providers Requesters
sorted list of agent contact info
unsorted list of agent contact info
decision algorithm
matching capabilities with requests
(LARKS)
matching capabilities with requests
(LARKS)
service request parameters
capability parameters
service request
capability parameters
5Broadcaster
Request for service
Broadcaster
Requester
Broadcast service request
Offer of service
Delegation of service
Results of service request
Provider 1
Provider n
6Matchmaking
Request for service
Matchmaker
Requester
Unsorted full description of (P1,P2, , Pk)
Advertisement of capabilities para.
Delegation of service
Results of service request
Provider 1
Provider n
7FacilitatorCombines Agent Location and
Transaction Phases
Request for servicepref.
Facilitator
Requester
Results of service
Advertisement of capabilities para.
Service result
Delegation of service
Provider 1
Provider n
8Contract Net
Request for service preferences
Manager
Requester
Results of service
Delegation of service
Broadcast service request pref
Broadcast
Offer of service
Results of Service
Broadcast
Offer of service
Provider 2
Provider n
Provider 1
9Agent Communication
- Aspects of communication
- syntax the structure of communicated symbols
- semantics what the symbols denote
- pragmatics the interpretation of the symbols
- Dimensions
- Personal vs. conventional meaning
- subjective vs. objective meaning
- semantics vs pragmatics
- contextuality
- agent and message identity
10Message Types
- Agent roles in a dialogue active, passive, both
- This allows it to be master, slave, peer,
respectively - Two basic message types assertion and query
- For example, an agent that takes the passive role
can - accepts a query from external source (asserted)
- sends a reply (makes an assertion)
11Passive, Active, Peer
12Communication levels
- Lower level specifies method of interconnection
- Middle level specifies format, syntax
- Top level specifies meaning, semantics
(substance and type) - Agent Communication specification includes
- sender
- receiver(s)
- language
- encoding and decoding functions
- actions to be taken by the receiver(s)
13Speech Act Theory
- Theory of communication which is the basis for
the FIPA ACL - Speech act theory is derived from linguistic
analysis of human communication - Speaker not only makes statements but also
performs actions (e.g., I hereby request) - Verbs that cannot be put in this form are not
speech acts (e.g. I hereby solve this
equation..)
14Speech Act Theory (cont)
- Aspects of a speech act
- Locution, the physical utterance by the speaker
- Illocution, the intended meaning of the utterance
by the speaker - Perlocution, the action that results from the
locution - In communication among agents, we want to insure
there is no doubt about the message type - Speech act theory uses performative to identify
the illocutionary force - Helps define the type of message
15Speech Act Theory (cont.d)
- In FIPA ACL
- Locution refers to formulation of an utterance
- Illocution refers to a categorization of an
utterance from the speakers point of view
(e.g. question, command) - Perlocution refers to the other intended
effects on the hearer, i.e., updating of the
hearers mental attitudes.
16Types of Communicative Acts
- Assertives which inform The door is shut
- Directives which request Shut the door or
query Can pelicans fly? - Commissives which promise something I will shut
the door - Permissives which give permission for an act You
may shut the door - Prohibitives which ban some act You may not shut
the door - Declaratives which cause events in themselves I
name this door the Golden Gate - Expressives which express emotions and
evaluations I wish this door were the Golden
Gate
17Communication Actions
18Assumptions of FIPA ACL
- The agents are communicating at a higher level
of discourse, i.e. the contents of the
communication are meaningful statements about the
agents environment or knowledge. - This assumption differentiates agent
communication from other interaction mechanisms,
such as method invocation in CORBA - Abstract characterization of agents capabilities
in terms of mental attitudes. - beliefs denote set of propositions (statements
that can be true or false) which the agent
currently accepts as true - Uncertainty, denotes sets of propositions an
agent accepts as not known as to be false or
true - Intention, which denotes a choice or set of
properties the agent desires to be true and
which are not currently believed to be true. An
agent which adopts an intention will form a plan
of action to bring about the state of the world
indicated by his choice.
19Set of requirements for FIPA ACL compliant agents
Requirement 1 Agents should send not
understood if they receive a message they do not
understand agents must also be able to handle
properly a not understood message sent by
another agent to them Requirement 2 An ACL
compliant agent may chose to implement any subset
of the pre-defined message types and protocols.
20Set of requirements for FIPA ACL compliant
agents, cont.
Requirement 3 An ACL compliant agent, which uses
the FIPA-defined communicative acts, must
implement them correctly with respect to their
definition Requirement 4 Agents may use
communicative acts with other names, as long as
they are responsible for ensuring the receiving
agent will understand them agents may not
define new acts whose meaning is same as a
pre-defined meaning. Requirement 5 An ACL
compliant agent must be able to generate
syntactically correct messages, and parse well
formed messages it receives.
21Overview ACL example
(inform sender agent1 receiver
hp1-auction-server content
(price (bid good02) 150) in-reply-to
round-4 reply-with bid04 protocol
Auction language sl ontology
hp1-auction )
22Pre-defined Message Parameters
- sender
- receiver
- content
- reply-with
- in-reply-to
- envelope
- language
- ontology
- reply-by
- protocol
- conversation-id
23Requirement on Content Language
- A content language must be able to express
propositions, - objects/entities, and actions. No other
properties are required. - The FIPA specification does not mandate the use
of any specific - content language.
- The FIPA spec gives guidelines for simple syntax,
e.g. - s-expressions are admissible as legal ACL
messages -
24Primitive and Composite Communicative Acts (CAs)
- Primitive CAs are those whose actions are
defined atomically - Composite CAs are composed by one of the
following methods - making one CA the object of another (e.g.. I
request you to - inform me whether it is raining)
- using the compositional operator to sequence
actions - (e.g. a b means action a followed by action b)
- using the compositional operator ! to denote a
non-deterministic choice of action (e.g. a ! b
means a or b but not both) -
25Catalogue of Communicative Acts
Accept-proposal accepting a previously submitted
proposal to perform an action in the future, e.g.
when a stated precondition becomes true (e.g.
(accept-proposal sender I receiver j
in-reply-to bid089 content (
(action j (stream-content moview1234
19)) (B j (ready customer78))
) language sl)
26Catalogue of Communicative Acts (cont.)
agree agreeing to perform some action, possibly
in the future cancel cancelling a previously
requested action which has temporal extent cfp
the action of calling for proposals to performa a
given action confirm 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 give proposition is false, where
the receiver is known to believe, or believe it
likely that a proposition is true.
27Catalogue of Communicative Acts (cont.)
inform the sender informs the receiver that a
given proposition is true the sending
agent (a) holds that some proposition is
true (b) intends that the receiving agent
also comes to believe that the
proposition is true (c) does not already
believe that the receiver has
any knowledge of the truth of the
proposition the receiving agent is
entitled to believe (a) the sender believes
the proposition (b) the sender wishes the
receiver to believe the proposition also
28Catalogue of Communicative Acts (cont.)
failure the action of telling the receiver that
an action was attempted but failed inform-if a
macro action for the agent of the action to
inform the recipient of whether or not a
proposition is true (e.g. Agent I requests j
to inform it whether Katia is in
Pittsburgh) inform-ref a macro action for
sender to inform the receiver the object which
corresponds to a definite description (e.g. a
name) not-understood the sender k informs the
receiver j that it perceived that j performed
some actin but k does not understand what j did
(a common case is when k tells j it does not
understand the message that j sent to k)
29Catalogue of Communicative Acts (cont.)
propose the action of submitting a proposal to
perform a certain action given a certain
precondition query-if the action of asking
another agent whether or not a given proposition
is true query-ref the action of asking an
agent for the object referred to by an
expression refuse the action of refusing to
perform an action and explaining the reason for
the refusal reject-proposal the action of
rejecting to perform some action during a
negotiation
30Catalogue of Communicative Acts (cont.)
request the sender requests the receiver to
perform some action request-when sender wants
the receiver to perform some action when some
given precondition becomes true request-whenever
sender wants the receiver to perform some
action as soon as some proposition becomes true
and thereafter each time the proposition becomes
true again. request-whomever sender wants an
action to be performed by some agent other than
itself. The receiving agent should either perform
the action or pass it to wsome other
agent 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 identified by that reference
changes
31Interaction Protocols
Interaction protocols are standard patterns of
message exchange FIPA pre-specifies a
(non-exhaustive) set of protocols to facilitate
agent interaction. Requirement 8 An ACL
compliant agent need not implement any of the
standard protocols, nor is it restricted from
using any other protocol names. However, if one
of the standard names is used, the agent must
behave consistently with the FIPA protocol
specification.
32FIPA-specified Protocols
FIPA-request protocol FIPA-query
Protocol FIPA-request-when Protocol FIPA-contract-
net Protocol FIPA-Iterated-Contract-Net
Protocol FIPA-Auction-English Protocol FIPA-Auctio
n-Dutch Protocol
33Knowledge Query and Manipulation Language (KQML)
- Separation of protocol semantics from content
semantics - All of the information for understanding a
message is included in the message - A message structure (lisp like)
(KQML-performative sender ltwordgt receiver
ltwordgt language ltwordgt ontology
ltwordgt content ltexpressiongt )
34KQML
(tell sender Agent1 receiver
Agent2 language KIF ontology Stocks content
(AND (ibm) (intl)) )
35Performative Categories
- Basic query performatives (ask-one, ask-all,...)
- Multi-response query performatives (stream-in,..)
- Response (reply, sorry,)
- Generic informational (tell, untell, achieve, )
- Generator (standby, ready, next, rest, )
- Capability definition (advertise, monitor, )
- Networking (register, broadcast, forward, )
36Summary of KQML and FIPA Semantic Assumptions
- KQML semantics presupposes a virtual knowledge
base for each agent. - --Telling a fact corresponds to reporting on the
knowledge base. Querying - corresponds to the sending agent trying to
extract a fact from the recipients knowledge
base. - KQML has only assertives and directives as
primitives (performatives) - KQML primitives cannot be composed.
37Summary of KQML and FIPA Semantic Assumptions,
cont.
- FIPA presupposes that an agent has beliefs,
intentions and can represent uncertainty about
facts.The performance conditions define when an
agent can perform a specific communication - Require the agents to reason about each others
beliefs and intentions and behave cooperatively
and sincerely. - FIPA primitives are also only directives and
assertives - FIPA primitives can be composed
- FIPA also discusses interaction protocols
38 Critique of KQML and FIPA ACLs (Singh, Computer
1998)
- They both emphasize communication based on mental
agency, which is antithetical to autonomy and
heterogeneity of agents. - KQML and FIPA emphasize the senders perspective,
though both sender and receiver should be
considered equal
39Requirements for ACL that allows agent
interoperation (Singh, Computer 1998)
- A useful ACL should be normative and have
criteria for compliance - A useful ACL should consider the social context
of the agents without imposition of requirements
for e.g. for the agents to be sincere. - Singh proposes, social semantics, I.e.,
communication should be based on agents social - context.
- --agents belong to societies
- --agents play different roles within a society
- --roles entail social commitments to
other roles within the society - --an agent joins a society in one or
more roles, thereby acquiring the roles
commitment - --a roles commitments are the restrictions of
how an agent in that role must act and
communicate - --a protocol is defined as sets of
commitments, rather than a finite state machine - --designers can create specific
protocols, hence societies, for different
applications, e.g. e-commerce and publish the
specifications of the societies and associated
protocols.
40Interoperation among different MAS
- --Mas can differ in
- ACL
- MAS architecture
- capability advertisements
- default agent query preferences
41The RETSINA-OAA Interoperator (Giampapa et al
Agents 2000)
- Goal to allow any agent in RETSINA to access the
services of any agent in OAA and vice versa -
- Differences
- --RETSINA is a system with matchmaker
organization - --OAA uses a Facilitator
- --RETSINA agents speak KQML with a structured
content language - --OAA agents speak Prolog
- --These two languages have different
syntactic and semantic structure
42RETSINA-OAA Interoperator Design Principles
- MAS interoperators should maintain distinct MAS
boundaries - MAS interoperators should be scalable
-
- MAS interoperators should present increase in
savings as new agents are added to the
interoperating MAs - MAS interoperators should cross-register agent
capabilities across MASs -
- MAS interoperational transparency agents can
dialogue across MASs without being aware of the
interoperator presence.
43The LARKS Project
Language for Advertisement and Requests for
Knowledge Sharing
What is LARKS about?
- Frame-based specification of ads and requests
of agent capabilities. - Optional use of a domain ontology.
- Automated processing of LARKS specifications.
- Matchmaking Services via Matchmaker Agents
using LARKS
- to match requests with relevant provider agents
in heterogeneous and dynamic agent societies.
Enables automated interoperability among
heterogeneous agents in the Internet/WWW
http//www.cs.cmu.edu/softagents/interop/matchmak
ing.html
______________________ Sycara, Lu, Klusch,
Interoperability Among Heterogeneous Software
Agents on the Internet, CMU-RI-TR-98-22
44Matchmaking Using LARKS
Matchmaker Agent x
AdvertisementDB OntologyDB AuxiliaryDB
Matching
Result-of-Matching
Capability Descriptions in LARKS
Requester Agent
Provider Agent 1
Service Request in LARKS
LARKS Protocol for providing the
service
Provider Agent n
Local Ontology 1
IS
IS
?
Process Request on Local IS
IS
Local Ontology n
45Specification in LARKS
Context
Type
- Data Types Used in Variable Declarations
Input
- Input/Output Variable Declarations
Output
InConstraints OutConstraints
- Logical Constraints on Variables
(Pre-/Post-Conditions)
ConcDescriptions
- Ontological Description of Used Words
Service Matching Parameters Time, Cost, Quality,
etc.
- Constraints set of definite program
clauses/goals (Horn clauses) - Concepts ontological description of words in
concept language ITL
46Examples for Specification in LARKS
Agent Advertisement I can provide information
about air combat missions in general.
AirCombatMissions
Context
Attack, Air, Combat, MissionAirMission
Types
Date (mm Int, dd Int, yy Int)
Input
Output
missionTypes SetOf(String) missionAirplanes
SetOf(String) missions ListOf(mType String,
mIDStringInt, mStart
Date, mEnd Date)
InConstraints
OutConstraints
ConcDescriptions
AirMission
47Agent Advertisement I can provide information
about deployed and launched AWAC air combat
missions.
AWAC-CombatMissions
Context
Combat, MissionAWAC-AirMission
Types
Date (mm Int, dd Int, yy Int)
DeployedMission ListOf(mType String,
mIDStringInt, mStart Date, mEnd
Date)
Input
Output
missions DeployedMission
InConstraints
OutConstraints
deployed(mID), mType AWAC, launched_after(mID,m
Start), launched_before(mID,mEnd).
ConcDescriptions
AWAC-AirMission
48Example for Ontology
(1) An Ontology written in the Concept Language
ITL (Terminology)
AirMission ? (and Mission (atleast 1
had-airplane) (all has-airplane Airplane)
(all has-MissionType
aset(AWAC,BARCAP,CAP,DCA,HVAA)) )
AWAC-AirMission ? (and AirMission (atleast 1
has-airplane) (atmost 1 has-airplane)
(all has-airplane
aset(E-2)) )
DCA-AirMission ? (and AirMission (all
has-MissionType aset(DCA))
(all has-F14 plane-F14D) (all
has-F18 plane-F18)
(atleast 2 has-F14) (atmost 2 has-F14)
(atleast 2 has-F18)
(atmost 2 has-F18) (atleast 2 has-E2)
(atmost 2 has-E2) )
. . .
(2) Concept Subsumption Hierarchy
AirMission
. . .
AWAC-AirMission DCA-AirMission
HVAA-AirMission
49Request Find an agent who can provide
information on deployed air combat missions
launched in a given time interval.
Req-AirCombatMissions
Context
Attack, MissionAirMission
Types
Date (mm Int, dd Int, yy Int) Mission
ListOf(mType String, mIDStringInt,
mStart Date, mEnd Date)
Input
sd Date, ed Date
Output
missions Mission
InConstraints
sd lt ed.
OutConstraints
deployed(mID), launched_after(mID,sd),
launched_before(mID,ed), (mType AWAC mType
CAP mType BARCAP mType DCA mType HVAA).
ConcDescriptions
AirMission
50Request Find an agent who can provide
information on deployed and launched air
combat missions that contain F-14 airplanes.
Req-DeployedF14CombatMissions
Context
Combat, MissionF14-Mission
Types
Date (mm Int, dd Int, yy Int) Mission
ListOf(mType String, mIDStringInt,
mStart Date, mEnd Date)
Input
Output
missions Mission
InConstraints
OutConstraints
deployed(mID), launched_after(mID,mStart), launche
d_before(mID,mEnd).
ConcDescriptions
F14-Mission ? (and AirMission (atleast 1 has-F14))
51Matchmaking Process
Main Steps
(pairwise matching of specifications in LARKS)
- Word Distances
- Subsumption or Equality of attached Concepts
- Comparison of Profiles (TF-IDF)
- Similarity Matching of Declarations and
Constraints
- Word Distances
- Distances in the Ontology (Weighted Associative
Network)
- Full Signature Matching of Declarations
- Subsumption of Data Types
- Logical Implication of Constraints
52Different Matching Modes
? Complete Matching All
filters. ? Relaxed Matching No
signature matching. ? Profile Matching
Comparison of profiles (TF-IDF) only. ?
Plug-In Matching Signature and
semantical matching only.
53Matchmaking Process Simple Example
? Request for Agent Capability in
Req-AirCombatMissions Advertisement of
Agent Capability in AWAC-AirCombatMissions
Mode ? Plug-in Matching
Look-up/compute word distances for (Attack,
Combat), (mission, Mission) All values exceed
given threshold. Attached concepts are
terminologically equal.
- Comparison of Profiles (TF-IDF) ?
Profile similarity value of documents exceeds
given threshold. Thus, proceed with
54Matchmaking Process Simple Example (contd)
- Syntactical Matching (ff.)
- Full Signature Matching of Declarations ?
Input declarations - D11 sd Date, ed Date
Output declarations - D12 missions
ListOf(mType String, mIDStringInt,
mStart Date, mEnd Date) D22
missions ListOf(mType String, mIDStringInt,
mStart Date, mEnd
Date)
- Apply Type Inference Rules for Computing Type
Subsumption.
Result Output declarations signature(D12)
signature(D22) Input declarations none in the
advertisement. Thus, proceed with
55Matchmaking Process Simple Example (contd)
- Compute word distances in declarations and
constraints
- Concepts attached to similar words AirMission
subsumes AWAC-AirMission.
Similarity value of two specifications Average
of sum of similarity computations among all pairs
of declarations and constraints.
Similarity value for AWAC-AirCombatMissions and
Req-AirCombatMissions exceeds given threshold.
Thus, proceed with
56Matchmaking Process Simple Example (contd)
- Semantical Matching of Constraints ?
InConstraints in
InConstraints in Req-AirCombatMissions ?
AWAC-AirCombatMissions
sd lt ed
OutConstraints in
OutConstraints in AWAC-AirCombatMissions ?
Req-AirCombatMissions
deployed(mID), mType AWAC, launched_after(mID,m
Start), launched_before(mID,mEnd).
deployed(mID), launched_after(mID,sd),
launched_before(mID,ed), (mType AWAC mType
CAP mType BARCAP mType DCA mType
HVAA).
57Current Implementations of LARKS Project
- Web-based Interface for Specification of
Requests in LARKS - Matchmaker module
- Knowledge management module (Concept
classifier, KB)