Introduction to Agent Technology

Download Report

Transcript Introduction to Agent Technology

Agent Communication Languages
CSE5610- Intelligent Software Systems
Agent Communication Languages
www.monash.edu.au
Lecture Outline
•
•
•
•
Agent Communication – Overview
Ontologies
KQML
FIPA ACL
www.monash.edu.au
2
Agent Communication
• Communication is a requirement for agent cooperation
• A collection of agents can achieve more than
a single agent
www.monash.edu.au
3
Agent Communication
• Agent to agent communication is the key to
realizing the potential of the agent paradigm
• Analogy – Development of natural languages
was the key to the development of human
society and intelligence
• Agent Communication Language (ACL) Language for agents to communicate and
exchange information / knowledge
www.monash.edu.au
4
ACL’s Vs the Rest
• ACL’s provide agents with a means for
exchanging information and knowledge
• Other means of “seamless” exchange of
information between processes..
• RPC
• RMI
• CORBA
• The goal has always been the same…
www.monash.edu.au
5
ACL’s Vs the Rest
• ACL’s handle
• Propositions
• Rules
• Actions
• Instead of simple objects with no semantics
associated with them
• ACL messages describe a desired state in a
declarative language
• Rather than a procedure or method
www.monash.edu.au
6
The Ideal
• Agents exchange and share:
• Plans
• Goals
• Long-term strategies
• Experiences
www.monash.edu.au
7
Technical Perspective
• Agents transport messages over a network using
protocols such as SMTP, TCP/IP or HTTP
• An ACL defines the types of messages - the
syntax and semantics – that agents can
exchange
• Not mere exchange of single messages
• Conversations
• Task-oriented shared sequence of messages
for negotiations, auctions etc
www.monash.edu.au
8
Speech Act Theory
• Messages in ACL’s are usually modeled after speech
acts
• Speech Act Theory - Languages as Action (Austin)
• A high level framework
• Account for human communication
• Speech is not just about uttering
• Speakers perform speech acts:
• Assertions, Commands, Requests, Promises,
Threats….
www.monash.edu.au
9
Speech Act Theory
• Example: Shut the door
• Locution: physical utterance with context.
• Who is the speaker ?
• Which door ?
• Who is the hearer ?
• Illocution: act of conveying intentions
• Speaker wants hearer to shut the door
• Perlocutions: actions that occur as a result of the
illocution
• Hearer closes the door
www.monash.edu.au
10
Agent Communication Languages
• ARPA Knowledge Sharing Effort (KSE)
• ARPA – Advanced Research Projects Agency
• Other agencies – National Science Foundation, Air Force
Office of Scientific Research, National Research Initiative,
Industry and Academic Partners
• KQML – Knowledge Query Manipulation Language
• De facto ACL standard
• FIPL ACL
• FIPA – Foundation for Intelligent Physical Agents
www.monash.edu.au
11
Ontologies
• A common vocabulary and agreed upon meanings to
describe a subject domain
• Systems which communicate and work together
must share an ontology
• Implicit Ontotlogies – represented by procedures –
unstated
• Explicit Ontologies
• Declarative representation using a KR language
www.monash.edu.au
12
Ontologies
• Conceptualisation
• Underlying model of the domain in terms of
objects, attributes, relations
• Vocabulary
• Assigning symbols/terms to refer to the attributes,
objects and relations
• Axiomitisation
• Encoding rules and constraints which capture
significant aspects of the domain
www.monash.edu.au
13
Ontologies
•
Two ontologies may
•
•
•
•
Be based on different conceptualizations
Be based on the same conceptualizations but use
different vocabularies
Differ in how much they attempt to axiomitize the
ontologies
Example:
•
•
•
FRUIT: apple, lemon, orange
FRUIT: mango, banana
FRUIT: tropical, temperate
www.monash.edu.au
14
Ontologies
•
•
•
•
•
•
Several large ontologies
Free
Cyc – Original General Purpose Ontology
WordNet – on-line lexical reference system
World Fact Book – 5MB of KIF sentences
UMLS – Unified Medical Language System
www.monash.edu.au
15
Ontologies
•
•
•
•
•
•
Ontology building tools
Ontolingua – language for building, publishing and sharing
ontologies
Web based interface to a server
Stanford university
Ontologies can be translated into a number of KR languages – KIF,
CLIPS, Prolog, Lisp
BOTTOMLINE:
•
•
Shared ontologies are important for agent communication and
knowledge sharing
provides a context to the communication
www.monash.edu.au
16
Knowledge Query Manipulation Language (KQML)
• Designed to support interactions among intelligent
software agents
• Work by Yannis and Labrou (UMBC)
• Message format definition
• Message-handling protocol
• Extensible
• Specification of permitted “speech acts” for agents
• Basis for higher levels of agent interactions – such as
negotiation, auctions etc.
www.monash.edu.au
17
Knowledge Query Manipulation Language (KQML)
• Designed to support interactions among intelligent
software agents
• Lots of work by Yannis and Labrou (UMBC)
• Message format definition
• Message-handling protocol
• Extensible
• Specification of permitted “speech acts” for agents
• Basis for higher levels of agent interactions – such as
negotiation, auctions etc.
www.monash.edu.au
18
Knowledge Query Manipulation Language (KQML)
•
•
•
•
•
•
•
•
•
Allows computer processes to talk
Basic issues…
Knowing who to talk with
How to find them
How to initiate an exchange
How to maintain an exchange
What is the syntax
What are the semantics
KQML = Language + Set of Protocols
www.monash.edu.au
19
Agent Communication Protocols
• Variety of inter-process information exchange
protocols
• Exchange 1 (Simplest)
• Agent A acts as client
• Sends a query to agent B (server)
• A waits for reply
• B’s reply might consist of a single answer
or a set of answers
• Synchronous model
www.monash.edu.au
20
Agent Communication Protocols
• Exchange 2
• Server’s reply is not the complete answer
• Leads to more exchanges
• Example – querying from a relational
database
• Synchronous model - but server should
maintain state information
www.monash.edu.au
21
Agent Communication Protocols
• Exchange 3
• Client subscribes to a server’s output
• An indefinite number of replies arrive at different
times
• Client does not know when replies arrive
• Maybe busy doing other things
• VARIATION: Broadcast to several servers. Replies
have to be collated and associated with the query
• Asynchronous Model
www.monash.edu.au
22
Architecture for Knowledge Sharing
•
•
•
•
•
•
•
•
•
Facilitators
Special agents
Coordinate the interactions of other agents
Performs communication services
Maintain registry of service names
Forward messages to named services
Route messages based on content
Matchmake between information providers and clients
Provide mediation and translations
www.monash.edu.au
23
Scenario 1
•
•
•
•
•
Agent A wants to the value of X
Agent B has X in its knowledge base
Facilitator F is available
A is aware that B has X
Then A can query it directly – simple
point-to-point protocol
www.monash.edu.au
24
Scenario 2
• A is not aware what agents are available and
what is in their knowledge bases
• A subscribes to the facilitator to request that
F for the value of X
• B subsequently informs F of the value of X
• F in turn informs A
• NOTE: ask, tell, subscribe – KQML
constructs/primitives.
• In KQML primitives are called performatives
www.monash.edu.au
25
Scenario 3
• A asks F to find an agent that can process
ask(X)
• B independently informs F that it is willing to
accept performative ask(X)
• F has both messages – sends B the query,
gets response and forwards to A
• Performatives: broker, advertise
www.monash.edu.au
26
Scenario 4
• A asks F to find an agent that can process
ask(X) and tell it to send the results to A
• Performative used: recruit
www.monash.edu.au
27
Scenario 5
• A asks F for the name of an agent that can
process ask(X)
• Performative used: recommend
www.monash.edu.au
28
Performatives’ Summary
• ask – request for information
• tell – reply, give information
• subscribe – let the facilitator know that you
want some info. If it comes across it, it will
forward it to you
• broker – ask facilitator to find another agent
to process a request, receive a reply and
forward it to initiating agent
www.monash.edu.au
29
Performatives’ Summary
• recruit – find an agent to satisfy a request
and tell it to send the results to the
requesting agent
• recommend – ask facilitator for the name
of an agent and then talk to that agent
directly
• advertise – just inform that you have some
info. Without being asked for it
www.monash.edu.au
30
Facilitator
•
•
•
•
Helps agents find appropriate clients and servers
How do agents find facilitators ?
Not an issue for KQML
PACT – all agents use a central common facilitator
• Fixed location
• Initialised as a parameter during agent creating
• ARPI – On agent start up, connect to a local
facilitator
www.monash.edu.au
31
KQML Syntax
• Can carry any representation language
• Message structure is independent of the
message content
• KQML implementation ignores the content
portion of the message
• Messages are the core of KQML
• Performative + Arguments within parentheses
• Arguments: keyword / value pairs
www.monash.edu.au
32
KQML – Argument Keywords
• :sender - sender of the performative
• :receiver – recipient of the message
• :from – the origin of the performative when forward
is used in :content
• :to – the final destination when forward is used in
:content
• :in-reply-to – label when responding to a previous
message
• :reply-with – label when responding to a current
message
www.monash.edu.au
33
KQML – Argument Keywords
• :language – the name of the representation
language in the :content
• :ontology – the name of the ontology
assumed in the :content
• :content – actual content for which the
performative was issued and the message
was sent
www.monash.edu.au
34
Examples
(ask-all
:sender A
:receiver B
:in-reply-to ID0
:reply-with ID1
:language Prolog
:ontology foo
:content “bar(X,Y)” )
www.monash.edu.au
35
Examples
(tell
:sender B
:receiver A
:in-reply-to ID1
:reply-with ID2
:language Prolog
:ontology foo
:content “[bar(a,b),bar(c,d)]” )
www.monash.edu.au
36
Performative Summary
•
•
•
•
BASIC QUERY – ask-if, evaluate, ask-about, ask-one, ask-all
MULTI-RESPONSE – stream-about, stream-all, eos
RESPONSE – reply, sorry
GENERIC INFORMATIONAL – tell, achieve, cancel, untell,
unachieve
• GENERATOR – standby, ready, next, rest, discard, generator
• CAPABILITY-DEFINITION – advertise, subsrcibe, monitor, import,
export
• NETWORKING – register, unregister, forward, broadcast, route
www.monash.edu.au
37
KQML Evaluation
• Form – declarative, easy to read messages,
easy to convert to other formats, easy to parse,
simple syntax
• Content - Message is content independent
• Semantics – Open ended issue. Very little formal
semantics available as yet. Performatives are
generally described in natural languages
• Reliability – Security and authentication issues
are still open.
www.monash.edu.au
38
KQML Evaluation
• Networking – communicate directly with other agents
using their symbolic name or thru facilitators. Supports
both synchronous and asynchronous messaging.
• Implementation – Many implementations available –
UNISYS KQML API, Lockheed KQML API, JKQML etc.
• Environment – Any transport protocol TCP/IP, HTTP etc.
No restrictions on content language
www.monash.edu.au
39
KQML Applications
•
•
•
•
Several prototype and demonstration systems
Integration of design and engineering tools
Military transportation and logistics
Translation of relational data into knowledge
structures
• Agent Based Software Integration –
Integrating software systems – Stanford Univ.
www.monash.edu.au
40
FIPA ACL
•
•
•
•
Foundation for Intelligent Physical Agents
Agent standards body
Non-profit association
Promote success of agent-based applications
and services
• Members – academic institutions and
commercial organisations
• Alcatel, British Telecom, Hitachi, HP, IBM,
Intel, Lucent, NEC..etc. etc.
www.monash.edu.au
41
FIPA ACL
•
•
•
•
Syntax is similar to KQML
Based on speech act theory
Communication through messages
Facilitation and Management primitives are
not part of the ACL
• Compose primitives from existing/core
primitives
• Powerful Language “SL” for describing agent
states
www.monash.edu.au
42
Message Structure
(inform
:sender agent1
:receiver hpl-auction-server
:content
(price (bid good02) 150)
:in-reply-to round-4
:reply-with bid04
:language sl
:ontology hpl-auction
)
www.monash.edu.au
43
FIPA ACL – Message Types
accept-proposal
agree
cancel
confirm
disconfirm
failure
inform
inform-if
inform-ref
not-understood
propose
query-if
query-ref
refuse
reject-proposal
request
request-when
request-whenever
subscribe
www.monash.edu.au
44
References
• KQML Draft Specification – Yannis, Finnin
Labrou, Mayfield
• Papers and presentations by Yannis
• http://www.cs.umbc.edu/kqml
www.monash.edu.au
45