Age
nt c
omm
unic
atio
n, o
ntol
ogie
s, p
roto
cols
, se
man
tic W
eb
http://www.lsi.upc.es/~webia/KEMLG
Agent communication, ontologies, protocols, semantic Web
October 30, 2003
Luigi Ceccaroni, Steven Willmott
Age
nt c
omm
unic
atio
n, o
ntol
ogie
s, p
roto
cols
, se
man
tic W
eb
Luigi Ceccaroni, Steven Willmott
Problem
While there are all sorts of useful databases, services and modeling packages being developed by companies and universities, they all exist in isolated developmental bubbles. Each such tool expects the world to conform to its requirements. Since the tools are so valuable, the world will do exactly that, but …
… we expect to see vast resources applied to the problem of getting data from one bubble into another.
There is a fractured mess of data, services and modeling fiefdoms (feudos). The medium for data transfer will continue to be sleep-deprived individual human researchers until …
Age
nt c
omm
unic
atio
n, o
ntol
ogie
s, p
roto
cols
, se
man
tic W
eb
Luigi Ceccaroni, Steven Willmott
Solution
… the time when we know how to make software that is good at bridging bubbles on its own.
Ontologies are the semantic foundation of this software.
Intelligent agents are the autonomous components of this software
Age
nt c
omm
unic
atio
n, o
ntol
ogie
s, p
roto
cols
, se
man
tic W
eb
Luigi Ceccaroni, Steven Willmott
Key technology issues in the case of services
Service interaction over a network, and semantics Service composition Automated service components
RestaurantRestaurantRestaurant
HotelServer
Hotel
DFBarcelona
DFParis
ACLSL
Ontologies
Age
nt c
omm
unic
atio
n, o
ntol
ogie
s, p
roto
cols
, se
man
tic W
eb
http://www.lsi.upc.es/~webia/KEMLG
Modeling an Agent Service
Platform Deployment
Communication Stack
Design Methodology
Age
nt c
omm
unic
atio
n, o
ntol
ogie
s, p
roto
cols
, se
man
tic W
eb
Luigi Ceccaroni, Steven Willmott
Deploying an agent Platform
Machine Any operating system Outside the firewall (or with necessary access) Permanent connection if possible
FIPA Compliant Agent Platform “Roll your own” Use one of the 20 or so available, better if it’s JADE
Install and Deploy the Platform External Address
Register the platform Create a group on [http://www.agentcities.net] Register you platform data (address, name, …) Activate the monitoring services
Age
nt c
omm
unic
atio
n, o
ntol
ogie
s, p
roto
cols
, se
man
tic W
eb
Luigi Ceccaroni, Steven Willmott
Communication Stack among agents
Level Description Example
Conversation Sequence of communicative acts related to a particular topic
Communicating about buying and eating an apple
Communicative Act
Communication about a piece of content
Requesting somebody to perform the action of eating an apple
Content Expression
Description of states of the world over objects
Expressing the action of eating an apple
Ontology Description of objects in the domain
Meaning of apple and eat
Syntax Representation of Content HTML, JPG, SQL
Protocol Data exchange protocol HTTP, GIIOP, SMTP
Transport Physical transport and low level transport protocols
Optical Fiber, TCP-IP
Age
nt c
omm
unic
atio
n, o
ntol
ogie
s, p
roto
cols
, se
man
tic W
eb
Luigi Ceccaroni, Steven Willmott
Design Methodology for services
Service Specification What functionality do we want? What agents do we
need?
Design Protocols: map into interaction sequences Performatives (e.g.: ask, tell, advertise): find out which
ones you need Content Expressions: work out what content is needed Ontology: build a domain model
Top-down design recommended Bottom-up design might also be valid for very generic
services
Age
nt c
omm
unic
atio
n, o
ntol
ogie
s, p
roto
cols
, se
man
tic W
eb
Luigi Ceccaroni, Steven Willmott
Need for Ontologies: a definition
Ontology, or semantic mapping, is the base of semantic processing. An ontology is a network of concepts, relationships and axioms to represent, organize, understand a domain of knowledge relevant to an organization. An ontology provides the common frame of reference for all applications in the environment. An ontology defines the applications’ domain and its boundaries.
Age
nt c
omm
unic
atio
n, o
ntol
ogie
s, p
roto
cols
, se
man
tic W
eb
Luigi Ceccaroni, Steven Willmott
Need for Ontologies: requirements
The meaning of the things referred to in the domain (Vocabulary)
To know what possible values exist (Vocabulary) To know about underlying relationships among items
(Conceptualization) To know how to make inferences (Axioms) To effectively interpret return values and parameter
values
Age
nt c
omm
unic
atio
n, o
ntol
ogie
s, p
roto
cols
, se
man
tic W
eb
Luigi Ceccaroni, Steven Willmott
Other needs
Structured Content Expression Content Languages structure content communication
Performatives Two models:
• One communication act with semantics Do this: easily understood but very general
• A complex infinity of communication acts: user defined and often with no semantics defined
Method calls (actions) • Performatives pick a fixed action set with well defined and
agreed semantics, and a broad coverage of most applications
Age
nt c
omm
unic
atio
n, o
ntol
ogie
s, p
roto
cols
, se
man
tic W
eb
Luigi Ceccaroni, Steven Willmott
Other needs
Interaction Protocols String together several communicative acts (interactions)
into a useful sequence, with coherent aim and semantic description
In general we require• Extended Interactions with multiple steps• Asynchronous Interactions• Link with Semantics (what does a certain sequence mean in
total?)
Age
nt c
omm
unic
atio
n, o
ntol
ogie
s, p
roto
cols
, se
man
tic W
eb
Luigi Ceccaroni, Steven Willmott
Descriptions
Box-Diagram Descriptions UML-based
no t-unders tood re fusereason
fa i lu rereason
in fo rmD one(ac t ion)
in fo rm(io ta x ( resu lt act ion) x)
ag ree
requestac t ion
Age
nt c
omm
unic
atio
n, o
ntol
ogie
s, p
roto
cols
, se
man
tic W
eb
Luigi Ceccaroni, Steven Willmott
Information Exchange, SL, ontologies
Agent Communication uses: asynchronous message passing SL as content language
Terminals in SL often bottom out into: Strings Numerical constants (these need to be replaced by things in the ontology)
Example ((action (agent-identifier :name X)
(read-book :title “Fundamentals of SQL”
:author …) ) )
FIPA Agent Management Ontology
Domain Ontology
Age
nt c
omm
unic
atio
n, o
ntol
ogie
s, p
roto
cols
, se
man
tic W
eb
Luigi Ceccaroni, Steven Willmott
Frame Representation
Frame
Ontology
agent-identifier
FIPA-Agent-Management
Parameter Description Presence Type
name The symbolic name of the agent.
Mandatory Word
addresses A sequence of ordered transport addresses where the agent can be contacted. The order implies a preference relation of the agent to receive messages over that address.
Optional Sequence of URL
resolvers A sequence of ordered AIDs where name resolution services for the agent can be contacted. The order in the sequence implies a preference in the list of resolvers.
Optional Sequence of agent-identifier
Age
nt c
omm
unic
atio
n, o
ntol
ogie
s, p
roto
cols
, se
man
tic W
eb
Luigi Ceccaroni, Steven Willmott
Agent-identifier
Example
(agent-identifier :name Arnold.Schwarzenegger :addresses (sequence http://www.governor.ca.gov, …):resolvers (sequence (agent-identifier :name Hollywood.LA, …)
)
- Green underlined items are named in the ontology- Orange italic items are values (may or may not be in the
ontology)- Black items part of SL syntax
Age
nt c
omm
unic
atio
n, o
ntol
ogie
s, p
roto
cols
, se
man
tic W
eb
Luigi Ceccaroni, Steven Willmott
Service Modeling
Recommendations from
Agentcities experience
Age
nt c
omm
unic
atio
n, o
ntol
ogie
s, p
roto
cols
, se
man
tic W
eb
Luigi Ceccaroni, Steven Willmott
Distribute Complexity over Layers
(query-ref :sender …i :receiver …j :content (iota ?x (is_car
:color red:make
ford )
))
(request :sender …i :receiver …j :content (action j
(send-information(iota ?x (is_car
:color red:make
ford )
)))Could be defined in any
way the programmer likes
Age
nt c
omm
unic
atio
n, o
ntol
ogie
s, p
roto
cols
, se
man
tic W
eb
Luigi Ceccaroni, Steven Willmott
Distribute Complexity over Layers
The two versions are potentially equivalent In the right hand version, semantics is redefined in the
ontology We could have a performative for everything or put
everything in the ontology
We could push semantics UP1. Have a performative for everything 2. Have very limited content language
Or push semantics DOWN1. Use only “request”2. Define the semantics of every request in the Ontology
Age
nt c
omm
unic
atio
n, o
ntol
ogie
s, p
roto
cols
, se
man
tic W
eb
Luigi Ceccaroni, Steven Willmott
Focus on Application Characteristics
What is happening at the application level? Try to abstract away implementation details
Make ontologies generic Concentrate on general descriptions of the world which
feed into your application This leads to greater re-use
Focus on the goals of the interactions between your agents
Not on the details of how your particular mechanism works
Age
nt c
omm
unic
atio
n, o
ntol
ogie
s, p
roto
cols
, se
man
tic W
eb
Luigi Ceccaroni, Steven Willmott
Use Real Data Sources
The Web is full of information Ontologies and service models exist for many domains When working in a domain, identify the industry
standards body or group which guide consensus
Data sources International and business organizations Domain leading web sites ebXML, BizTalk, UDDI, Jini community -> all producing
and storing XML based examples Dublin core
Age
nt c
omm
unic
atio
n, o
ntol
ogie
s, p
roto
cols
, se
man
tic W
eb
Luigi Ceccaroni, Steven Willmott
Work Top-Down
It keeps you focused on your application Try to restrict your view (the generally intelligent agent is
a while away…) Build simple models first Select the correct granularity (is a hotel an agent or
should it be a hotel chain?) Match the real world in granularity (hotels are
independent but don’t often have their own websites)
Smaller granularity More work More potential re-use in other services
Age
nt c
omm
unic
atio
n, o
ntol
ogie
s, p
roto
cols
, se
man
tic W
eb
Luigi Ceccaroni, Steven Willmott
Be Rigorous
Formal models are important and useless if they are not adhered to
Formal models are almost never adequate If you need to deviate from them
• Do so in a principled way • Document how and why you deviated• Feed them back to the community
Be rigorous in your descriptions Precise specifications Formal grammars Correct use of the agreed semantics
Age
nt c
omm
unic
atio
n, o
ntol
ogie
s, p
roto
cols
, se
man
tic W
eb
Luigi Ceccaroni, Steven Willmott
Agentcities ExamplesEvening Organizer Perspective
TravelInformation
GeoInformation
CinemaGuide
RatingsAgent
Event Organizer Perspective
Ontology
TicketMarket Talent
Market
EventPublicity
Security
EventPlanner
PersonalAgent
EveningOrganiser
Hotel Guide
RestaurantFinderRestaurant
Guide
RestaurantRestaurantRestaurantRestaurant
RestaurantRestaurantRestaurant
MusicVenue
RestaurantRestaurantRestaurant
Hotel
RestaurantRestaurantRestaurant
Band/Performer
RestaurantRestaurantRestaurant
Cinema
RestaurantRestaurantRestaurant
Theatre
Bank
PersonalAgent
Age
nt c
omm
unic
atio
n, o
ntol
ogie
s, p
roto
cols
, se
man
tic W
eb
Luigi Ceccaroni, Steven Willmott
Evening Organizer
PersonalAgent
EveningOrganiser
Hotel Guide
RestaurantFinder
RestaurantGuide
RestaurantRestaurantRestaurantRestaurant
RestaurantRestaurantRestaurant
MusicVenue
RestaurantRestaurantRestaurant
Hotel
RestaurantRestaurantRestaurant
Band/Performer
RestaurantRestaurantRestaurant
Cinema
RestaurantRestaurantRestaurant
Theatre
TravelInformation
GeoInformation
RatingsAgent
CinemaGuide
TicketMarket
Event News