DAML files Agents Databases People RDBMS DB Email, HTML

A Brief Overview of Agent
Communication in the
Semantic Web Era
-- and Beyond -Tim Finin
University of Maryland, Baltimore County
April 2007
http://ebiquity.umbc.edu/resource/html/id/220/
Overview
• Agent communication languages
• 1990-2000 DARPA knowledge sharing
effort
• 1997-2002 FIPA
• 2000- (Semantic) Web
• 2010- and beyond
• Are we making progress?
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
(ACL) to communication information and
knowledge.
• Genesereth (CACM 1994) defined a software
agent as any system which uses an ACL to
exchange information.
Genesereth, M. R., Ketchpel, S. P.: “Software Agents”, Communications of the
Association for Computing Machinery, July 1994, pp 48-53.
Some ACLs
•Knowledge sharing approach
– KQML, KIF, Ontologies
•FIPA
•Ad hock languages
– e.g., SRI’s OAA
?
e.g., team theories,
joint intentions, …
Intentional
Sharing
e.g., KQML, FIPA,
KIF, Aglets, OWL
Knowledge
Sharing
e.g., CORBA,
RPC, RMI
?? Shared
Experiences &
Strategies ??
Object
Sharing
Shared beliefs, plans, goals,
intentions, policies …
Shared facts, rules, constraints,
procedures and knowledge
Shared objects, procedure calls
and data structures
BDI Agents, Theories and
Architectures
• BDI architectures describe the internal state of
an agent by the mental states of beliefs, goals
and intentions
• BDI theories provide a conceptual model of the
knowledge, goals, and commitments of an agent
• BDI agents have some (implicit or explicit)
representations of the corresponding attitudes
• BDI models are important in defining the
semantics of ACLs
BDI Model and Communication
B + D => I
I => A
B + D => I
I => A
• Communication is a means to (1) reveal to others what our BDI
state is and (2) attempt to effect the BDI state of others.
• Note the recursion: an agent has beliefs about the world, beliefs
about other agents, beliefs about the beliefs of other agents,
beliefs about the beliefs another agent has about it, ...
1990-2000
Knowledge
Sharing Effort
Historical Note:
Knowledge Sharing Effort
• Initiated by DARPA circa 1990 with later support from
NSF, AFOSR, etc.
– Participation by ~100 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.
• Mostly wound down by ~2000 as funding dried up
and industry failed to adopt the ideas
Knowledge Sharing Effort
• Knowledge sharing requires a communication
• … which requires a common language
• We can divide a language into syntax, semantics, and
pragmatics
• Some existing components that can be used independently or
together:
– KIF - knowledge Interchange Format (syntax)
– Ontolingua - a language for defining
sharable ontologies (semantics)
– KQML - a high-level interaction
language (pragmatics)
Propositional
Propositional
attitudes
Knowledge Interchange Format
• KIF ~ First order logic
withset theory
• An interlingua for encoded
declarative knowledge
– Takes translation among n
systems from O(n2) to O(n)
Sys 3
Know. Base
in
Lang3
Know. Base
in KIF
KIF <-> Lang3 Translator
Library
KIF
KIF <-> Lang1 Translator
Know. Base
in
Lang1
Sys 1
KIF <-> Lang2 Translator
Know. Base
in
Lang2
Sys 2
• Common language for reusable knowledge
–
–
–
–
Implementation independent semantics
Highly expressive - can represent knowledge in typical application KBs.
Translatable - into and out of typical application languages
Human readable - good for publishing reference models and ontologies.
• 2003: KIF superceded by Common Logic (http://cl.tamu.edu/)
– http://en.wikipedia.org/wiki/Common_Logic
• Semantic Web languages RDF and OWL are also alternatives
KIF Syntax and Semantics
• Extended version of first order predicate logic
• Simple list-based linear ASCII syntax, e.g.,
(forall ?x (=> (P ?x) (Q ?x)))
(exisits ?person (mother mary ?person))
(=> (apple ?x) (red ?x))
(<<= (father ?x ?y) (and (child ?x ?y) (male ?x))
(=> (believes john ?p) (believes mary ?p))
(believes john '(material moon stilton))
• Model-theoretic semantics
• KIF includes an axiomatic specification of large
function and relation vocabulary and a vocabulary
for numbers, sets, and lists
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, LOOM,
Prolog, etc.
– The language includes primitives for combining
ontologies.
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,
http ...
– 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.)
Common High-level Protocols
• There is also a need for communication agents to agree on
the agent-level protocols they will use.
• The protocol is often conveyed via an extra parameter on a
message
– (ask :from Alice :to Bob … :protocol auction42 …)
• Common protocols:
– Contract net
– Various auction protocols
– Name registration
• These protocols are often defined in terms of constraints on
possible conversations and can be expressed as
–
–
–
–
–
Grammars (e.g., DFAs, ATNs, DCGs…)
Petri networks
UML-like interaction (activity) diagrams
Conversation plans
Rules or axioms
Common Service Infrastructure
• Many agent systems assume a common set of
services such as:
–
–
–
–
Agent Name Sever
Broker or Facilitator
Communication visualizer
Certificate server
• These are often tied rather closely to an ACL since
a given service is implemented to speak a single
ACL
• Moreover, some of the services (e.g., name
registration) may be logically ACL-dependent
– e.g., Some ACLs don’t have a notion of an agent’s name
and others have elaborate systems of naming
A KQML Message
performative
parameter
value
(tell :sender
bhkAgent
:receiver
fininBot
:in-reply-to id7.24.97.45391
:ontology
ecbk12
:language Prolog
:content “price(ISBN3429459,24.95)”)
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( Bifj Bi  Uifj Bi )]  re[Bj Bi] ...
and a list of attribute/value pairs
:content, :language, :from, :in-reply-to
Performatives (1997)
Insert
Uninsert
Delete-one
Delete-all DB
Undelete
Ask-if
Ask-one
Ask-all
Tell
Untell
Inform
Basic
Inform
Network
Basic
StreamStream
Eos
Query
StandbyCursor
Ready
Next
Reply
Rest
Stream
Discard
Eos
Broadcast
Forward
Request
KQML
Performatives
Goal
Facilitation
Promise
Meta
Achieve
Unachieve
Advertise
Deny
Unadvertise
Subscribe
Broker-one
Recommend-one
Recruit-one
Broker-all
Recommend-all
Recruit-all
Simple Query Performatives
ask-if(P)
ask-one(P)
Sorry
tell(P)
A
tell((p1 p2 p3...))
B
A
B
tell(P1)
tell(P2)
tell(P3)
ask-all(P)
eos
Stream-all(P)
• The ask-one, ask-all, ask-if, and stream-all
performatives provide a basic query mechanism.
Capability Description
advertise(q3)
advertise(q2)
advertise(q1)
ask-all(advertise(P)
A
C
FAC
B
advertise(p1)
advertise(p2)
The advertise performative is used to describe the
performatives an agent is prepared to accept.
Facilitation Performatives
The three facilitation
performatives come in a X-one
and X-all versions:
•Broker-one and broker-all
B
A
Broker
•Recruit-one and recruit-all
advertise(ask(P))
broker(ask(P))
ask(P)
C
tell(P)
tell(P)
•recommend-one and recommend-all
advertise(ask(P))
recruit(ask(P))
A
B
ask(P)
C
recommend(ask(P))
A
adv(ask(P))
B
fwd(adv(ask(P)))
tell(P)
Recruit
Recommendtell(P)
C
ask(P)
Ontology languages vary in expressivity
Catalog/ID
Thesauri
“narrower
term”
relation
DB Schema
Formal
is-a
Frames
(properties)
UMLS
RDF
Wordnet
OO
Terms/
glossary
Simple
Taxonomies
Informal
is-a
Formal
instance
RDFS
Inverse,
Disjointness,
part of…
CYC
DAML
OWL IEEE SUO
Value
Restriction
General
Logical
constraints
Expressive
Ontologies
After Deborah L. McGuinness (Stanford)
Conceptual Schemas
A conceptual schema specifies the intended meaning of
concepts used in a data base
Data
Base:
Data Base
Schema:
Conceptual
Schema:
139
140
…
74.50
77.60
…
Table: price
*stockNo: integer; cost: float
Auto
Product
Ontology
price(x, y) =>
Product
 (x’, y’) [auto_part(x’)
Ontology
& part_no(x’) = x
& retail_price(x’, y’, Value-Inc)
& magnitude(y’, US_dollars) = y]
Units &
Measures
Ontology
1997-2003
Standardization
FIPA
What is FIPA
• http://fipa.org/
• The Foundation for Intelligent Physical Agents
founded as a non-profit association ~1997.
• FIPA’s purpose is to promote the success of
emerging agent-based applications, services and
equipment by establishing standards
– MP3 was the model
• In 2006 it became an IEEE standards committee
FIPA Agent Communication Language
•
•
•
•
•
•
•
•
Called FIPA ACL
Based on speech acts
Messages are actions (communicative actions or CAs)
Communicative acts are described in both a narrative form
and a formal semantics based on modal logic
Syntax is similar to KQML
Specification provides a normative description of highlevel interaction protocols (aka conversations)
Separate library of protocols and content languages
(e.g., SL, KIF, RDF)
Several serializations
Agent-Standardization - FIPA
Cooperation between Agents
CAs for Information Exchange
• proposition or reference as content
• Basic CAs:
– inform
– query-ref
– not-understood
• Advanced CAs:
– inform-if, inform-ref
– confirm, disconfirm
– subscribe
Agent-Standardization - FIPA
Cooperation between Agents
CAs for task delegation
• action-description as content
• Basic CAs:
– request
– agree
– refuse
– failure
– not-understood
• Advanced CAs:
– request-when, request-whenever
– cancel
Agent-Standardization - FIPA
Cooperation between Agents
CAs for Negotiation
• action-description and proposition as content
• Initiating CA
– cfp
• Negotiating CA
– propose
• Closing CAs
– accept-proposal
– reject-proposal
Agent-Standardization - FIPA
Cooperation between Agents
Example
(request
:sender (:name [email protected]:3410)
:receiver (:name hilton_hotel@tcp://hilton.com:5001)
:ontology fipa-pta
:language SL
:protocol fipa-request
:content
( action hilton_hotel@tcp://hilton.com:5001
( book-hotel (:arrival 04/07/1999) (:departure 12/07/1999)
(:infos ( ))
)))
FIPA 99: other possibilities to define content!
Agent-Standardization - FIPA
Cooperation between Agents
FIPA Cooperation
• CAs have their own formal semantics
– difficult to implement
– need not be implemented - agent must behave
according to semantics
• Interaction protocols define structured
conversations
– based on CAs
– basis for dialogues between agents
– basic set of pre-defined IPs
– own IPs can be defined
Agent-Standardization - FIPA
Cooperation between Agents
FIPA-Query (simplified - for information exchange)
query
not-understood
inform
Agent-Standardization - FIPA
Cooperation between Agents
FIPA-Request - for task delegation
request(action)
not-understood
refuse(reason)
failure(reason)
inform(done())
agree
inform-ref
AUML
• Agent UML
• http://www.auml.org/
• ULM like framework
for specifying agent
communication and
interaction protocols
FIPA Agent Platform
software
A A
Agents belong to one or more
agent platforms which provide
basic services.
AMS
DF
ACC
IIOP
internal platform message transport
Jade
Java Agent Development
Framework is an OS software
framework for multi-agent systems,
implemented in Java.
– Developed by Telcom Italia
– Built on FIPA standards
– Libraries (LEAP) for handheld
and wireless devices
– http://jade.tilab.com/
System of choice for building
FIPA based MAS
April 2007
2000-?
Semantic Web
“XML is Lisp's bastard nephew, with uglier
syntax and no semantics. Yet XML is poised to
enable the creation of a Web of data that
dwarfs anything since the Library at
Alexandria.”
-- Philip Wadler, Et tu XML? The fall of
the relational empire, VLDB, Rome,
September 2001.
“The web has made people smarter. We
need to understand how to use it to make
machines smarter, too.”
-- Michael I. Jordan, paraphrased
from a talk at AAAI, July 2002
by Michael Jordan (UC Berkeley)
“The Semantic Web will globalize KR, just as
the WWW globalize hypertext”
-- Tim Berners-Lee
Origins
Tim Berners-Lee’s original 1989
WWW proposal described a web of
relationships among named
objects unifying many info.
management tasks.
Capsule history
• Guha’s MCF (~94)
• XML+MCF=>RDF (~96)
• RDF+OO=>RDFS (~99)
• RDFS+KR=>DAML+OIL (00)
• W3C’s SW activity (01)
• W3C’s OWL (03)
http://www.w3.org/History/1989/proposal.htm
W3C’s Semantic Web Goals
Focus on machine consumption:
"The Semantic Web is an extension of the current web in
which information is given well-defined meaning, better
enabling computers and people to work in cooperation."
-- Berners-Lee, Hendler and Lassila, The Semantic Web,
Scientific American, 2001
Agents?
• DARPA gave the Semantic Web a big push starting in
2000
– Going from simple RDF to OWL
• DARPA Agent Markup Language
• Goal was to give agents access to information and
knowledge
• And to populate the web with intelligent agents
providing services
TBL’s semantic web vision
RDF is the first SW language
Graph
XML Encoding
<rdf:RDF ……..>
<….>
<….>
</rdf:RDF>
Good for
Machine
Processing
RDF
Data Model
Triples
stmt(docInst, rdf_type, Document)
stmt(personInst, rdf_type, Person)
stmt(inroomInst, rdf_type, InRoom)
stmt(personInst, holding, docInst)
stmt(inroomInst, person, personInst)
Good For
Reasoning
Good For
Human
Viewing
RDF is a simple language
for building graph based
representations
Simple RDF Example
dc:Title
http://umbc.edu/
~finin/talks/idm02/
“Intelligent Information Systems
on the Web and in the Aether”
dc:Creator
bib:Aff
http://umbc.edu/
bib:name
“Tim Finin”
bib:email
“[email protected]”
XML encoding for RDF
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:bib="http://daml.umbc.edu/ontologies/bib/">
<description about="http://umbc.edu/~finin/talks/idm02/">
<dc:title>Intelligent Information Systems on the Web and in the
Aether</dc:Title>
<dc:creator>
<description>
<bib:Name>Tim Finin</bib:Name>
<bib:Email>[email protected]</bib:Email>
<bib:Aff resource="http://umbc.edu/" />
</description>
</dc:Creator>
</description>
</rdf:RDF>
A usecase: FOAF
• FOAF (Friend of a Friend) is a simple ontology to describe
people and their social networks.
– See the foaf project page: http://www.foaf-project.org/
• We recently crawled the web and discovered over 1,000,000
valid RDF FOAF files.
– Most of these are from the http://liveJournal.com/ blogging system which
encodes basic user info in foaf
– See http://apple.cs.umbc.edu/semdis/wob/foaf/
<foaf:Person>
<foaf:name>Tim Finin</foaf:name>
<foaf:mbox_sha1sum>2410…37262c252e</foaf:mbox_sha1sum>
<foaf:homepage rdf:resource="http://umbc.edu/~finin/" />
<foaf:img rdf:resource="http://umbc.edu/~finin/images/passport.gif" />
</foaf:Person>
FOAF: why RDF? Extensibility!
• FOAF vocabulary provides 50+ basic terms for
making simple claims about people
• FOAF files can use other RDF terms too: RSS,
MusicBrainz, Dublin Core, Wordnet, Creative
Commons, blood types, starsigns, …
• RDF guarantees freedom of independent extension
– OWL provides fancier data-merging facilities
• Result: Freedom to say what you like, using any
RDF markup you want, and have RDF crawlers
merge your FOAF documents with other’s and know
when you’re talking about the same entities.
After Dan Brickley, [email protected]
RDF Schema (RDFS)
• RDF Schema adds
taxonomies for
classes & properties
– subClass and
subProperty
• and some metadata.
– domain and range
constraints on
properties
• Several widely used
KB tools can import
and export in RDFS
Stanford Protégé KB editor
• Java, open sourced
• extensible, lots of plug-ins
• provides reasoning & server
capabilities
RDFS supports simple inferences
New and
Improved!
100% Better
than XML!!
• An RDF ontology plus some RDF statements may imply additional
RDF statements.
• This is not true of XML.
• Note that this is part of the data model and not of the accessing or
processing code.
@prefix rdfs: <http://www.....>.
@prefix : <genesis.n3>.
parent rdfs:domain person;
rdfs:range person.
mother rdfs:subProperty parent;
rdfs:domain woman;
eve mother cain.
parent a property.
person a class.
woman subClass person.
mother a property.
eve a person;
a woman;
parent cain.
cain a person.
W3C’s Web Ontology Language (OWL)
• DAML+OIL begat OWL.
• OWL released as W3C recommendation 2/10/04
• See http://www.w3.org/2001/sw/WebOnt/ for OWL
overview, guide, specification, test cases, etc.
• Three layers of OWL are defined of decreasing levels of
complexity and expressiveness
OWL
– OWL Full is the whole thing
– OWL DL (Description Logic) introduces
restrictions
– OWL Lite is an entry level language
intended to be easy to understand
and implement
OWL in One Slide
OWL is built on top of XML and RDF
It allows the definition, sharing,
composition and use of ontologies
OWL is ~= a frame based knowledge
representation language
It can be used to add metadata about
anything which has a URI.
URIs are a W3C standard generalizing
URLs
everything has a URI
<rdf:RDF xmlns:rdf ="http://w3.org/22-rdf-syntax-ns#"
xmlns:rdfs=http://w3.org/rdf-schema#>
xmlns:owl="http://www.w3.org/2002/07/owl#”>
<owl:Ontology rdf:about="">
<owl:imports rdf:resource="http://owl.org/owl+oil"/>
</owl:Ontology>
<owl:Class rdf:ID="Person">
<rdfs:subClassOf rdf:resource="#Animal"/>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasParent"/>
<owl:allValuesFrom rdf:resource="#Person"/>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction owl:cardinality="1">
<owl:onProperty rdf:resource="#hasFather"/>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<Person rdf:about=“http://umbc.edu/~finin/">
<rdfs:comment>Finin is a person.</rdfs:comment>
</Person>
RDF is being used!
• RDF has a solid specification
• RDF is being used in a number of web standards
– CC/PP (Composite Capabilities/Preference Profiles), P3P (Platform for Privacy
Preferences Project), RSS (RDF Site Summary), RDF Calendar (~ iCalendar in
RDF)
• And in other systems
–
–
–
–
Netscape’s Mozilla web browser, open directory (http://dmoz.org/)
Adobe products via XMP (eXtensible Metadata Platform)
Web communities: LiveJournal, Ecademy, and Cocolog
In Microsoft’s VISTA: Connected Services Framework uses an RDF database
and SPARQL
– Oracle’s 10g and 11g products
– Yahoo’s food portal
– Joost TV over the web startup
SPARQL Example
BASE <http://example.org/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX ex: <properties/1.0#>
SELECT DISTINCT $person ?name $age
FROM <http://rdf.example.org/people.rdf>
WHERE { $person a foaf:Person ;
foaf:name ?name.
OPTIONAL { $person ex:age $age } .
FILTER ! REGEX(?name, "Bob")
}
LIMIT 3 ORDER BY ASC[?name]
Some applications
involving
ACLs and the
Semantic Web
ITTALKS Architecture
Web Services
Web server + Java
servlets
People
MapBlast, CiteSeer,
Google, …
HTTP
Email, HTML,
SMS, WAP
HTTP, WebScraping
Apache
Tomcat
Agents
FIPA ACL, KQML,
DAML
SQL
DB
RDBMS
<daml>
<daml>
<daml>
</daml>
<daml>
</daml>
</daml>
</daml>
Databases
DAML files
DAML
reasoning
engine
Travel Agent Game in Agentcities
Motivation
Features
Market dynamics
Auction theory (TAC)
Semantic web
Agent collaboration (FIPA &
Agentcities)
Open Market Framework
Auction Services
OWL message content
OWL Ontologies
Global Agent Community
Technologies
Ontologies
http://taga.umbc.edu/ontologies/
FIPA (JADE, April Agent Platform)
Semantic Web (RDF, OWL)
Web (SOAP,WSDL,DAML-S)
Internet (Java Web Start )
travel.owl – travel concepts
fipaowl.owl – FIPA content lang.
auction.owl – auction services
tagaql.owl – query language
Report Direct Buy Transactions
Report Contract
Report Auction Transactions
Market Oversight
Agent
Bulletin Board
Agent
Customer
Agent
Report Travel Package
Auction Service
Agent
Proposal
Direct Buy
Travel Agents
Web Service
Agents
FIPA platform infrastructure services, including directory facilitators enhanced to use DAML-S for service discovery
http://taga.umbc.edu/
Acknowledgements: DARPA contract F30602-00-2-0591 and Fujitsu Laboratories of America.
Students: Y. Zou, L. Ding, H. Chen, R. Pan. Faculty: T. Finin, Y. Peng, A. Joshi, R. Cost. 4/03
http://ebiquity.umbc.edu/
• Our research group’s web site
generate both HTML and OWL.
• HOW? This is relatively easy since
the content is in a database.
• PHP is sufficient for the job.
• HTML pages have links to
corresponding OWL
• WHY? This exposes the
information to programs and agents
– no more web scraping.
CMU MyCampus Project
•
•
Objective: Enhance campus life
through context-aware services
accessible over the WLAN
Ontologies
– Personal/contextual: location,
calendar, organizational etc.
– Privacy preferences: who has
access to what, “obfuscation”
rules
– Web services: automated service
identification and access (OWLS)
http://www.cs.cmu.edu/~sadeh/mycampus.htm#Video
Fujitsu Task Computing
• Objective: Make computing available
throughout the physical environment
while it is effectively invisible to the
users
e-Services
Aerial Photo of
Weather Info of
Web Pages
Play Jeff’s Video
Dial Contact from Outlook
Weather Info of FLA, CP
…
OS/Application
Device
Dial
Video from DV
Play (Audio)
Play (Video)
Devices
http://www.taskcomputing.org/
Open
Save
Print
View
Jeff’s Video
Add into Outlook
Contact from Outlook
OS/Application
The Context Broker Architecture
http://cobra.umbc.edu/
Access to more
information
Knowledge sharing
Policy
The EasyMeeting System
An EasyMeeting Scenario
People enter the
conference room
They “beam” their
policy to the broker
B
The broker detects
people presence
B
»»
»
Alice’s policy says,
“inform my personal
agent of my location”
B
.. isLocatedIn ..
A
The broker builds
the context model
Web
B
The broker tells her
location to her agent
A
An EasyMeeting Scenario
Her agent informs
the broker about her
role and intentions
+
The Greeting Srv. greets
Alice & the others
Hello! [xyz]
Alice’s policy says,
“can share with any
agents in the room”
The broker informs
the subscribed agents
B
A
When all expected
participants hv arrived
OFF
DIM
The projector agent
sets up the slides
The SOUPA Ontology
2010and Beyond
It's hard to make predictions,
especially about the future
Things to watch
• Google (e.g., GoogleBase)
• Wikipedia (e.g., Semantic MediaWiki)
• Freebase (OWL meets Wikipedia?)
• Joost – a high profile startup (internet meets
TV) is using RDF and considers it to be "XML
on steroids."
• If RDF is the new KIF, then SPARQL might
evolve into the new KQML
Conclusions
Some key ideas
• Software agents offer a new paradigm for very large scale
distributed heterogeneous applications.
• The paradigm focuses on the interactions of autonomous,
cooperating processes which can adapt to humans and
other agents.
• Agent Communication Languages are a key enabling
technology
– Mobility is an orthogonal characteristic which many, but not all,
consider central.
– Intelligence is always a desirable characteristic but is not strictly
required by the paradigm.
• The paradigm is still forming and ACLs will continue to
evolve.