Content Languages
Download
Report
Transcript Content Languages
Multi-Agent Systems
Lecture 3
University “Politehnica” of Bucarest
2004-2005
Adina Magda Florea
[email protected]
http://turing.cs.pub.ro/blia_2005
Agent communication
Lecture outline
The nature of communication
Indirect communication
Direct communication
•
•
•
•
•
Agent Communication Languages
Content languages
Ontologies
Theory of speech acts
KQML
FIPA and FIPA-ACL
Interaction protocols
1. The nature of communication
1.1 Human communication
Communication is the intentional exchange of information brought
about by the production and perception of signs drawn from a shared
system of conventional signs (AIMA, Russell&Norvig) language
Communication seen as an action (communicative act) and as an
intentional stance
1.2 Component steps of communication
Speaker
Hearer
Intention
Generation
Synthesis
Syntax
Perception
Semantics
Analysis
Pragmatics
Disambiguation
Incorporation
3
Communication model
1.3 Artificial Communication
low-level language vs high-level languages
direct communication vs. indirect communication
Computer communication
shared memory
message passing
Agent communication/ MAS communication
low-level communication: simple signals, traces, low-level languages
high-level communication - cognitive agents, mostly seen as intentional
systems
Communication in MAS = more than simple communication, implies
interaction
The environment provides a computational infrastructure where
interactions among agents take place. The infrastructure includes
protocols for agents to communicate and protocols for agents to interact
5
Communication protocols = enables agents to
exchange and understand messages
Interaction protocols = enable agents to have
conversations, i.e., structured exchanges of
messages
Aim Communication enables agents to:
coordinate their actions and behavior, a property of
a MAS performing some activity in a shared
environment
attempt to change state of the other agents
attempt to make the other agents perform some
actions
6
2. Indirect communication
2.1 Signal propagation - Manta, A. Drogoul 1993
An agent sends a signal, which is broadcast into the environment, and
whose intensity decreases as the distance decreases
At a point x, the signal may have one of the following intensities
V(x)=V(x0)/dist(x,x0) or V(x)=V(x0)/dist(x,x0)2
S - stimulus
S
Agent A
(stimulus triggers
behavior P)
x0
Agent B
(stimulus triggers
behavior P)
Reactive agents
2.2 Trails - L. Steels, 1995
agents drop "radioactive crumbs" making trails
an agent following a trail makes the trail faint until it disappears
7
2.3 Blackboard systems, Barbara Hayes-Roth, 1985
Blackboard = a common area (shared memory) in which agents can
exchange information, data, knowledge
Agents initiates communication by writing info on the blackboard
Agents are looking for new info, they may filter it
Agents must register with a central site to receive an access
authorization to the blackboard
Blackboard = a distributed knowledge computation paradigm
Agents = Knowledge sources (KS)
Control
KS
Blackboard
KSAR
KS
Cognitive agents
KS
KS
8
3. Direct communication
Sending messages
method invocation – Actors
exchange of partial plans – coordination of cooperative
agents
ACL = Agent Communication Languages
Need to communicate knowledge knowledge
representation
Need to understand the message in a context
ontologies
Communication is seen as an action - communicative
acts
9
3.1 Agent Communication Languages
Concepts (distinguish ACLs from RPC, RMI or
CORBA, ORB):
An ACL message describes a desired state in a declarative
language, rather than a procedure or method invocation
ACLs handle propositions, rules, and actions instead of
objects with no associated semantics - KR
ACLs are mainly based on BDI theories: BDI agents
attempt to communicate their BDI states or attempt to alter
interlocutor's BDI state – Cognitive Agents
ACLs are based on Speech Act Theory – Communicative
Acts
ACLs refer to shared Ontologies
Agent behavior and strategy drive communication and lead
to conversations Protocols
10
Origins of ACLs
Knowledge Sharing Effort - DARPA, 1990
External Interface Group - interaction between KBS - KQML
Interlingua - common language of KB - KIF
Shared, Reusable Knowledge Bases - Ontolingua
Communication primitives
and protocols
Content languages
•
•
•
•
•
KIF
Prolog
Clips
SQL
FIPA-SL, FIPA-KIF
ACL
Content language
Ontology
Ontologies
DAML
OWL
DARPA Agent Markup Language (August 2000).
The goal of the DAML effort is to develop a language
and tools to facilitate the concept of the Semantic Web.
11
3.2 Content languages for ACL
(Knowledge representation)
Description Logics (DL) - a formalism for expressing concepts and
their interrelationships.
In DL, concepts are organized into IS-A hierarchies.
Concepts are specifications such that given an individual
(object instance) a DL system can recognize the individual and
determine which concepts it belongs to.
DL systems also perform subsumption checking.
Knowledge Interchange Format (KIF) - is based on first order
predicate logic and has a LISP-like prefix syntax.
KIF is capable of expressing facts and complex relationships
(rules).
KIF provides constructs for describing procedures, i.e.
programs to (possibly) be executed by an agent.
12
Knowledge Interchange Format (KIF)
Facts
(salary 015-46-3946 john 72000)
(salary 026-40-9152 michael 36000)
(salary 415-32-4707 sam 42000)
Asserted relation
(> (* (width chip1) (length chip1))
(* (width chip2) (length chip2)))
Rule
(=> (and (real-number ?x)
(even-number ?n))
(> (expt ?x ?n) 0))
Procedure
(progn (fresh-line t)
(print "Hello!")
(fresh-line t))
13
3.3 Ontologies
Person
Ontology = a specification of objects,
concepts, and reationships in a particular
Empl
Stud
Pupil
domain; it comprises a vocabulary, a
domain theory and a conceptual
IBM_E Sun_E
schemata to describe organization and
interpretation
Joe
Alice
An ontology is more than a taxonomy of
classes, it must also describe
Person
relationships
Lexicalized ontologies (WordNet,
Man
Woman
EuroWordNet, BalkanNet, FrameNet,
MikroKosmos).
Empl
Stud
Ontologies for knowledge representation
Joe
Alice
Implicit ontologies (class libraries of
OOP)
14
x (Block x) (PhysicalObject x)
Instead of saying (Block A)
(InstanceOf A Block)
Define the hierarchy
(Class Block)
(Class PhysicalObjects)
(SubclassOf Block PhysicalObjects)
x,y,z (InstanceOf x y) (SubclassOf y z)
(InstanceOf x z)
Ontology editors = frame-based KR systems that allow the
user to define an ontology and its components: classes,
instances, relationships, and functions
15
OWL - Web Ontology Language
W3C
OWL - designed for use by applications that need to process
the content of information instead of just presenting
information to humans.
OWL facilitates greater machine interpretability of Web
content than that supported by XML, RDF, and RDF Schema
(RDF-S) by providing additional vocabulary along with a
formal semantics.
OWL has three increasingly-expressive sublanguages:
OWL Lite supports a classification hierarchy and simple constraints.
OWL DL supports maximum expressiveness while retaining
computational completeness (all conclusions are guaranteed to be
computed) and decidability (all computations will finish in finite time).
OWL Full supports maximum expressiveness and the syntactic
freedom of RDF with no computational guarantees.
OWL - Web Ontology Language
Ontology header
<owl:Ontology rdf:about="">
<rdfs:comment>An example OWL ontology</rdfs:comment>
<owl:priorVersion rdf:resource="http://www.w3.org/TR/2003/CR-owlguide-20030818/wine"/>
<owl:imports rdf:resource="http://www.w3.org/TR/2003/PR-owl-guide20031215/food"/>
<rdfs:label>Wine Ontology</rdfs:label>
…
Simple Named Classes
Class, rdfs:subClassOf
<owl:Class rdf:ID="Winery"/>
<owl:Class rdf:ID="Region"/>
<owl:Class rdf:ID="ConsumableThing"/>
3.4 Theory of Speech Acts
J. Austin - How to do things with words, 1962, J. Searle - Speech acts, 1969
A speech act has 3 aspects:
locution = physical utterance by the speaker
illocution = the intended meaning of the utterance by the speaker (performative)
prelocution = the action that results from the locution
Alice told Tom: "Would you please close the door"
locution
illocution
content
prelocution: door closed (hopefully!)
Illocutionary aspect - several categories
Assertives, which inform: the door is shut
Directives, which request: shut the door, can pelicans fly?
Commissives, which promise something: I will shut the door
Permissive, which gives permission for an act: you may shut the door
Prohibitives, which ban some act: do not shut the door
Declaratives, which causes events: I name you king of Ruritania
Expressives, which express emotions and evaluations: I am happy
18
3.5 KQML - Knowledge Query and Manipulation
Language
A high-level, message-oriented communication language and
protocol for information exchange, independent of content syntax
(KIF, SQL, Prolog,…) and application ontology
KQML separates:
semantics of the communication protocol (domain independent)
semantics of the message (domain dependent)
3 (conceptual) layers
Describes low level
communication
parameters:
- identity of sender and
receiver
- an unique id associated
with the communication
Content
Communication
Message
Core of KQML
- identity of the network
protocol with which to deliver
the message
- speech act or performative
Optional
- content language
- ontology
19
Syntax
S-expressions used in LISP
KQML performatives are classified:
Queries - These performatives are used to send questions for evaluation
somewhere.
Generative - Used for controlling and initiating the exchange of messages.
Response - Used by a agent in order reply to queries.
Informational - Informational performatives are used to transfer information.
Capability definition - Allows an agent to learn about the capabilities of other
agents and to announce its own to the agent community.
Networking - Networking performatives make it possible to pass directives to
underlying communication layers.
Example
(ask-one :sender joe
:receiver ibm-stock
:reply-with ibm-stock
:language PROLOG
:ontology NYSE-TICKS
:content (price ibm ?price) )
(tell :sender willie
:receiver joe
:reply-with block1
:language KIF
:ontology BlockWorld
:content (AND (Block A)(Block B)
(On A B)) ) 20
1. Query performatives:
ask-one, ask-all, ask-if, stream-all,...
(stream-all
:sender willie
:receiver ibm-stock
:content (price ?VL ?price ) )
A
ask-one(P)
B
ask-all(P)
A
tell(P)
tell(P1,P2,...)
B
stream-all(P)
A
B
tell(P1)
tell(P2)
eos
21
2. Generative performatives:
standby, ready, next, rest, discard, generate,...
3. Response performatives:
reply, sorry ...
insert(P)
A
4. Generic informational performatives:
tell, untell, insert, delete, ...
5. Capability performatives:
advartise, subscribe, recommend...
delete(P)
B
tell(P)
A
untell(P)
B
6. Network performatives:
register, unregister, forward, route, ...
Facilitator
In fact, KQML contains only 2 types of illocutionary acts:
assertives and directives
+ facilitator and network-related performatives (no
necessarily speech acts)
22
Facilitator agent
= an agent that performs various useful communication services:
maintaining a registry of service names (Agent Name Server)
point-to-point
forwarding messages to named services
routing messages based on content
ask(P)
matchmaking between information providers and clients
providing mediation and translation services
B
A
tell(P)
subscribe(ask(P))
A
tell(P)
tell(P)
B
recommend(ask(P))
advertise(ask(P))
reply(B)
recruit(ask(P))
advertise(ask(P))
reply(A)
A
B
tell(P)
A
ask(P)
B
tell(P)
23
Semantics of KQML (Labrou & Finin)
Use preconditions and postconditions that govern the use of a performative + the
final state for the successful performance of the performative
Uses propositional attitudes: belief, knowledge, desire, intentions
Preconditions: the necessary states for an agent to send a performative and
for the receiver to accept it and successfully process it; if the precondition
does not hold, the most likely response is error or sorry
Postconditions - describe the state of the sender after successful utterance of
a performative and of the receiver after the receipt and processing of a
message
Completion condition - the final state after a conversation has taken place
and that the intention associated with the performative that started the
conversation has been fulfilled
Propositional attitudes
Bel(A,P)
Know(A,S)
Want(A,S)
Int(A,S)
Instances of action
Proc(A,M)
SendMsg(A,B,M)
24
tell(A,B,X)
A states to B that A believes the content X to be true, Bel(A,X)
Pre(A): Bel(A,X) Know(A, Want(B, Know(B, Bel(A,X))))
Pre(B): Int(B, Know(B, Bel(A,X)))
or Bel(A,X)
Post(A): Know(A, Know(B, Bel(A,X)))
no unsolicited information
Post(B): Know(B, Bel(A,X))
Completion: Know(B, Bel(A,X))
advertise(A,B,M)
A states to B that A can and will process the message M from B, if it receives one
Int(A, Proc(A,M))
commisive act
Pre(A): Int(Proc(A,M))
Pre(B): NONE
Post(A): Know(A, Know(B, Int(A, Proc(A,M)))
Post(B): Know(B, Int(A, Proc(A,M)))
Completion: Know(B, Int(A, Proc(A,M)))
25
KQML Software architecture
KQML – implemented in different languages
Design – a router, a facilitator, a library of interface
routines (KRIL)
Eack KML agent is associated with its separate router
process; all routers are identical
KQML strings
Network
Router
Network connections
KQML objects
KRIL
Agent
function calls
26
KRIL
An API – KQML Router Interface Library
While the router is a separate process, with no undestanding of the
content field of a KQML message, the KRIL API is embedded in
the application and has access to the application tools for
analyzing the content.
Variuos KRILs
Tightly embedded or lightly embedded
Simple KRIL
- send-kqml-message – accepts a message
- declare-message-handler – which function to invoke when a
message arrives
- different types of declarations which allow to register the
application with local facilitators and contact remote agents
KRIL: Common Lisp, C, Prolog, SQL, etc.
27
3.6 FIPA and FIPA - ACL
Foundation for Intelligent Physical Agents, 1996
Goal of FIPA = make available specifications that maximize interoperability
across agent-based systems
FIPA Committees: ACL, agent specification, agent-software interaction
As KQML, FIPA ACL is based on speech act theory; it sees messages as
communication acts (CA); syntax similar to KQML
Differs in: the names of CAs, set of CAs, and semantics
FIPA communicative acts
Informatives
- query_if, subscribe, inform, inform_if, confirm, disconfirm,
not_understood
Task distribution
- request, request_whenever, cancel, agree, refuse, failure
Negotiation
- cfp, propose, accept_proposal, reject_proposal
28
FIPA's specifications are grouped into 5 categories:
1. Applications
2. Abstract Architecture
3. Agent Communication
4. Agent Management
5. Agent Message Transport
3. Agent Communication: FIPA ACL Message Structure
Communicative Acts: FIPA Communicative Acts Library
Content Languages:
FIPA Content Languages
FIPA SL Content Language
FIPA CCL Content Language
FIPA KIF Content Language
FIPA RDF Content Language
Interaction Protocols
29
FIPA-SL (Semantic Language)
(inform
:sender Agent1
:receiver Agent2
:content (price good2 150)
:in-reply-to round-1
: reply-with bid03
: language S1
:ontology hp-auction
:reply-by 10
:protocol offer
:conversation-id conv-1 )
30
FIPA-SL
(request :sender (agent-identifier :name i)
:receiver (set (agent-identifer :name j)
:content ((action (agent-identifier :name j)
(deliver box7 (loc 10 15))))
:protocol fipa-request
:language fipa-sl
:reply-with order56 )
(agree
:sender (agent-identifier :name j)
:receiver (set (agent-identifer :name i)
:content ((action (agent-identifier :name j)
(deliver box7 (loc 10 15))) (priority order56 low))
:protocol fipa-request
:language fipa-sl
:in-reply-to order56 )
31
FIPA - Semantics
SL (Semantic Language) - a quantified, multi-modal logic, with
modal operators
Allows to represent:
beliefs
uncertain beliefs
desires
intentions
B - belief D - desire U - uncertain belief
PG - intention
Bif - express whether an agent has a definite opinion one way
or another about the truth or falsity of
Uif - the agent is uncertain about
32
FIPA - Semantics
The semantics of a CA is specified as a set of SL's formulae that
describe:
Feasibility preconditions - the necessary conditions for the sender the sender is not obliged to perform the CA
Rational effect - the effect that an agent can expect to occur as a
result of performing the action; it also typically specifies conditions
that should hold true of the recipient
The receiving agent is not required to ensure that the expected effect
comes about
The sender can not assume that the rational effect will necessary
follow
<A, inform(B, )>
Pre: BA BA (BifB UifB )
Post: BB
33
Using ACLs in MAS
Any MAS that is to use an ACL must provide:
a finite set of APIs for composition, sending, and receiving ACL
messages
an infrastructure of services that assist agents in naming,
registration, and basic facilitation services (finding other agents
that can do things for your agent)
code for every reserved message type that takes the action
prescribed by the semantics for the particular application;
the code depends on the application language, the domain, and the
details of the agent system using the ACL
34
4. Interaction protocols
Interaction protocols = enable agents to have
conversations, i.e., structured exchanges of
messages
Finite
automata
Conversations in KQML
Petri nets
FIPA IP standards:
• FIPA-query, FIPA-request, FIPA-contract-net, ...
4.1 Finite state automata
COOL, Barbuceanu,95
A:B<<ask(do P)
B:A<<accept(do P)
proposeS(P)
B:A<<refuse(do P)
acceptR(P)
B:A<<result(do P)
rejectR(P)
B:A<<fail(do P)
counterR(P)
counterS(P)
Winograd, Flores, 1986
acceptS(P)
rejectS(P)
36
4.2 Conversations in KQML
Use Definite Clause Grammars (DCG) formalism for the specification of
conversation policies for KQML performatives
DCGs extend Context Free Grammars in the following way:
non-terminals may be compound terms
the body of the rule may contain procedural attachments, written as "{" and "}"
that express extra conditions that must be satisfied for the rule to be valid
Ex: noun(N) [W], {RootForm(W,N), is_noun(N)}
S s(Conv, P, S, R, inR, Rw, IO, Content), {member(P, [advertise, ask-if]}
s(Conv, ask-if, S, R, inR, Rw, IO, Content)
[ask-if, S, R, inR, Rw, IO, Content] |
[ask-if, S, R, inR, Rw, IO, Content], {OI is inv(IO)},
r(Conv, ask-if, S, R, _, Rw, OI, Content)
r(Conv, ask-if, R, S, _, inR, IO, Content)
[tell, S, R, inR, Rw, IO, Content] |
problem(Conv, R, S, inR, _, IO)
Labrou, Finin, 1998
37
4.3 Petri nets
Ferber, 1997
Petri net = oriented graph with 2 type of nodes:places and transitions;
there are moving tokens through the net - representation of dynamic aspect of processes.
Tokens are moved from place to place, following firing rules.
A transition T is enabled if all the input places P of T posses a token (several other rules may be defined).
A marking is a distribution of tokens over places. Colored Petri-nets
A wants to do P,
A cannot do P
B does not want
to do(P)
DA
DB
Request do(P)
AR1
Refuse do(P)
Accept/request do(P)
Success AR2
B is willing
to do(P)
Fail to do(P)
BR
Completed(P)
Impossible
to do(P)
Notification of end(P)
FA1
FB
Failure
FA2
Satisfaction
38
4.4 FIPA Interaction Protocols
FIPA Interaction Protocol Library
FIPA Request Interaction Protocol
FIPA Query Interaction Protocol
FIPA Request When Interaction Protocol
FIPA Contract Net Interaction Protocol
FIPA Iterated Contract Net Interaction Protocol
FIPA English Auction Interaction Protocol
FIPA Dutch Auction Interaction Protocol
FIPA Brokering Interaction Protocol
FIPA Recruiting Interaction Protocol
FIPA Subscribe Interaction Protocol
FIPA Propose Interaction Protocol
39
References
M. Huhns, L. Stephens. Multiagent systems and societies of agents. In
Multiagent Systems - A Modern Approach to Distributed Artificial Intelligence,
G. Weiss (Ed.), The MIT Press, 2001, p.79-120.
M. Wooldrige. Reasoning about Rational Agents. The MIT Press, 2000, Chapter
7
Y. Labrou, T. Finin. Semantics and conversations for an agent communication
language. In Readings in Agents, M. Huhns & M. Singh (Eds.), Morgan
Kaufmann, 1998, p.235-242.
J. Ferber - Multi-Agent Systems. Addison-Wesley, 1999, Chapter 6
T. Finnin, R. Fritzson - KQML as an agent communication language. In Proc. of
the Third International Conference on Information and Knowledge Management
(CIKM'94), ACM Press, 1994.
M. Singh. Agent communication languages: Rethinking the principles. IEEE
Computer, Dec. 1998, p.40-47.
Y. Labrou, T. Finnin, Y. Peng. Agent communication languages: The current
Landscape. IEEE Computer, March/April 1999, p. 45-52.
FIPA97. "Agent Communication Language" Specification FIPA, 11/28/97
40
Web References
DARPA KSE http://www-ksl.stanford.edu/knowledge-sharing/
KQML
http://www.cs.umbc.edu/kqml/
KIF
http://logic.stanford.edu/kif/
Ontolingua http://www-ksl-svc.stanford.edu:5915/&service=frame-editor
FIPA
http://www.fipa.org/
DAML
http://www.daml.org/
OWL
http://www.w3.org/TR/owl-guide/
References for Ontologies (due to prof. Stefan Trausan)
Constandache, G.G., Ştefan Trăuşan-Matu, Ontologia şi hermeneutica
calculatoarelor, Ed. Tehnică, 2001
Gruber, T., What is an Ontology, http://www.kr.org/top/definitions.html
J. Sowa, Ontologia şi reprezentarea cunoştinţelor, în (Constandache şi
Trăuşan-Matu, 2001)
http://www.w3.org/2001/sw/WebOnt/
http://www.cs.man.ac.uk/~horrocks/Slides/index.html
41