Unicom Seminar On Implemeting Agents
Unicom Seminar On Implemeting Agents
http://umbc.edu/~finin/talks/unicom99
1
Agent Characteristic:
Mobility?
A mobile agent is an executing program that
migrates from machine to machine in a
heterogeneous network under its own control.
Agent Characteristic:
Intelligence?
Q: What makes an agent an “intelligent agent”?
A: The size of the price tag.
More seriously…
– The paradigm covers agents of varying degrees of intelligence
– Intelligent agents will tend to
• know and apply more sophisticated domain knowledge
• recognizing underlying goals and intentions
• react to unexpected situations in a robust manner
• better NLP skills
• etc.
Much of what we will be saying applies to agents of little or no
intelligence.
Agent Communication
• Agent-to-agent communication is key to realizing the
potential of the agent paradigm, just as the development of
human language was key to the development of human
intelligence and societies.
• Agents use an Agent Communication Language or ACL to
communication information and knowledge.
– Genesereth (CACM, 1992) defined a software agent as any system
which uses an ACL to exchange information.
• Understanding a “common language” means:
– understanding its vocabulary, i.e., the meaning of its tokens
– knowing how to effectively use the vocabulary to perform tasks,
achieve goals, effect one’s environment, etc.
• For ACLs we’re primarily concerned with the vocabulary
8
Some ACLs
•Is CORBA an ACL?
•Knowledge sharing approach
– KQML, KIF, Ontologies
•FIPA Shared
•Ad hock languages ? experiences
and strategies
– e.g., SGI’s OAA
e.g., ?
Intentional Shared beliefs, plans, goals,
Sharing
and intentions
e.g., KQML, FIPA,
KIF, Aglets
Knowledge Shared facts, rules, constraints,
Sharing
procedures and knowledge
Object
e.g., CORBA, Sharing
Shared objects, procedure calls
RPC, RMI and data structures
Agent Communication,
at the technical level
•Messages are transported using some lower-level
transport protocol (SMTP,TCP/IP, HTTP, IIOP, etc.)
•An Agent Communication Language (ACL) defines
the types of messages (and their meaning) that agents
may exchange.
•Over time, agents engage in “conversations.” Such
interaction protocols (negotiation, auction, etc.),
defines task-oriented, shared sequences of messages.
•Some higher-level conceptualization of an agent’s
goals and strategies drives the agent’s communicative
(and non-communicative) behavior.
10
Agent Communication,
at the theoretical level
• ACL have message types that
are usually modeled after B + D => I B + D => I
I => A
I => A
speech acts, which are
understood in terms of an
intentional-level description of
an agent
• An intentional description makes references to beliefs,
desires, intentions (BDI) and other mental states.
• BDI frameworks have the power to describe an agents’
behavior, including communicative behavior
• Describing behavior at this level is an important contribution
of the agent-based approach.
11
12
On ascribing mental
qualities to machines
•The issue is not whether a system is really intentional
but whether we can coherently view it as such (Daniel
Dennett)
•Ascribing mental qualities to machines (John
McCarthy):
– legitimacy: the ascription expresses the same information about a machine
that it expresses about a person
– usefulness: the ascription helps us understand the structure of the machine,
its past or future behavior, or how to repair it or improve it.
•As MAS get more complex, we will find it useful to
ascribe mental qualities to them, just as we do for other
animals.
13
14
B + D => I B + D => I
I => A I => A
16
Dividing up
the problem
19
Historical Note:
Knowledge Sharing Effort
•Initiated by DARPA circa 1990
•Sponsored by DARPA, NSF, AFOSR, etc.
•Participation by dozens of researchers in academia
and industry.
•Developing techniques, methodologies and
software tools for knowledge sharing and
knowledge reuse.
•Sharing and reuse can occur at design,
implementation or execution time.
20
24
Common Semantics
Shared Ontologies and Ontolingua
• Ontology: A common vocabulary and agreed upon
meanings to describe a subject domain.
• Ontolingua is a language for building, publishing, and
sharing ontologies.
– A web-based interface to a browser/editor server.
– Ontologies can be automatically translated into
other content languages, including KIF, SL,
LOOM, Prolog, etc.
– The language includes primitives for combining
ontologies.
25
Common Pragmatics
Knowledge Query and Manipulation Language
• KQML is a high-level, message-oriented, communication
language and protocol for information exchange
independent of content syntax and ontology.
• KQML is also independent of
– transport mechanism, e.g., tcp/ip, email, corba, IIOP, ...
– High level protocols, e.g., Contract Net, Auctions, …
• Each KQML message represents a single speech act (e.g.,
ask, tell, achieve, … ) with an associated semantics and
protocol.
• KQML includes primitive message types of particular
interest to building interesting agent architectures (e.g., for
mediators, sharing intentions, etc.)
26
KQML
Knowledge Query and Manipulation Language
• KQML is a high-level, message-oriented, communication
language and protocol for information exchange independent
of content syntax and ontology.
• KQML is independent of
– the transport mechanism (e.g., tcp/ip, email, corba objects, IIOP, etc.)
– Independent of content language (e.g., KIF, SQL, STEP, Prolog, etc.)
– Independent of the ontology assumed by the content.
• KQML includes primitive message types of particular interest
to building interesting agent architectures (e.g., for mediators,
sharing intentions, etc.)
27
A KQML Message
Represents a single speech act or performative
ask, tell, reply, subscribe, achieve, monitor, ...
with an associated semantics and protocol
tell( i,j, Biφ) = fp[Bi Biφ∧ ¬ Bi( Bif j Biφ∨ Uif j Bi φ)] ∧ re[Bj Biφ] ...
and a list of attribute/value pairs
:content, :language, :from, :in-reply-to
(tell :sender bhkAgent
:receiver fininBot
performative
:in-reply-to id7.24.97.45391
parameter :ontology ecbk12
value :language Prolog
:content “price(ISBN3294,24.95)”)
28
29
Performatives (1997)
Insert
Tell
Uninsert Inform Untell
Delete-one
Delete-all DB Basic Broadcast
Undelete Forward
Ask-if Inform
Ask-one Network
Ask-all
Basic Achieve
Unachieve
Facilitation Services
Facilitators are a class of agents who
• traffic in meta-knowledge about other agents.
• provide communication services such as:
– message forwarding and broadcasting
– resource discovery
– matchmaking
– content-based routing
– meta-knowledge queries
• Performatives of special interest to facilitators are
– advertise, broker, recruit, recommend, forward, broadcast, etc.
• Brokers are generally considered to focus on matchmaking
• Facilitators can be intelligent or not
– Intelligent facilitators use domain knowledge in matching services needs
and offers.
31
32
The
FIPA
ACL
33
37
38
Ontologies
40
Overview
• What is an ontology?
• Tools for building, using and
maintaining ontologies
• Existing ontologies of
general interest
• FIPA's view on agents and
ontologies
41
Common Semantics
Shared Ontologies and Ontolingua
Conceptual Schemas
A conceptual schema specifies the intended meaning of
concepts used in a data base
139 74.50
Data Base: 140 77.60
… …
Units &
Measures
Ontology
43
44
Conceptualizations, Vocabularies
and Axiomitization
•Three important aspects to explicit ontologies
– Conceptualization involves the underlying model of the
domain in terms of objects, attributes and relations.
– Vocabulary involves assigning symbols or terms to refer
to those objects, attributes and relations.
– Axiomitization involves encoding rules and constraints
which capture significant aspects of the domain model.
•Two ontologies may
– be based on different conceptualizations
– be based on the same conceptualization but use different
vocabularies
– differ in how much they attempt to axiomitize the
ontologies 45
Simple examples
fruit fruit
fruit
fruit
apple citrus pear
tropical temperate
lime lemon orange
46
Ontolingua is a language
Lexicons & Common Domain-Specific
for building, publishing, and Skeleton Ontologies Ontologies & Theories Ontologies & Theories
48
Ontolingua - Language
•Ontolingua allows full KIF
– 1st order logic with relation
constants in domain of discourse
– Extremely expressive
– Too much for most users
– Too much for most systems!
•Ontolingua provides an object-
oriented projection
•Statements within the o-o
sublanguage easy to make
– But any statement is allowed
•Ontolingua separates
representation from
presentation
49
Ontolingua - Library
•Library of modules
supports reuse
•Authors assemble a new
ontology
– Assembly defines a general
graph
– Cycles are allowed (sports and
medicine)
•Authors may augment
definitions
– But you can never say less!
– Different authors may make
incompatible extensions
50
Ontolingua - Usage
• Ontolingua is (one of) the most widely used knowledge
development environments
– Available since 1/94 at http://ontolingua.stanford.edu
– Over 4500 total users, 1200 current users, 300 active users
– Over 4,200,000 user commands executed
– Recently averaging over 7000 commands per day
– Over 800 ontologies stored on the KSL server
– Mirror sites in Spain, Netherlands, UMBC, and corporate sites
• Applications include
– Enterprise modeling, electronic commerce, engineering, ribosomal
structure modeling, workflow modeling, molecular biology, cross-
disciplinary design and simulation, drug interactions, medical
vocabularies, software design reuse, standards development
51
Big Ontologies
•There are several large, general ontologies that are
freely available.
•Some examples are:
– Cyc - Original general purpose ontology
– WordNet - a large, on-line lexical reference system
– World Fact Book -- 5Meg of KIF sentences!
– UMLS - NLM’s Unified Medical Language System
– See http://www.cs.utexas.edu/users/mfkb/related.html for
more
•We anticipate the development of ontologies to
support ecommerce
– see www.ontology.org
– probably in XML
53
54
56
Ontology Conclusions
• Shared ontologies are essential for agent communication
and knowledge sharing
• Ontology tools and standards are important
– Ontolingua and OKBC are good examples
– XML and RDF may be a next step
• Some large general ontologies are available
– Cyc, WFB, Wordnet, …
• For more information…
– http://www.ontology.org/
– Ontology mailing list: send mail to [email protected] with
“info ontology” in message body for information.
– ANSI Ad Hoc Group on Ontology Standards: http://WWW-
KSL.Stanford.EDU/onto-std/
58
Conclusions
and
Prospects
59
Prospects
•FIPA’s ACL is likely to be the next iteration of a widely used
standard ACL.
•Its not clear how ACLs will participate in the rapidly evolving
world of Internet languages and protocols
– The ACL “territory” may be overtaken by efforts from a programming
language (e.g., Java, Jini), another interoperability language (e.g.,
CORBA) or Web technology (e.g., XML).
– The Agent community is a small fish compared to, e.g., the Java
community. What will Microsoft do?
•Many are experimenting with XML for agent communication
– XML is a good way to represent structured information (e.g., ACL
messages, KIF-like content) that is easy to use and understand by all
agents, both human and software
– We’ve developed DTDs and style sheets for FIPA ACL and KIF
– XML is not a silver bullet.
61
– http://www.cs.umbc.edu/ontology/
• Agent Communication Languages
– http://www.cs.umbc.edu/acl/
62