2. Agentcommunication,ontologies,protocols,semanticWeb
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 …
3. Agentcommunication,ontologies,protocols,semanticWeb
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
4. Agentcommunication,ontologies,protocols,semanticWeb
Luigi Ceccaroni, Steven Willmott
Key technology issues in the case of services
Service interaction over a network, and semantics
Service composition
Automated service components
Restaurant
Restaurant
Restaurant
Hotel
Server
Hotel
DF
Barcelona
DF
Paris
ACL
SL
Ontologies
6. Agentcommunication,ontologies,protocols,semanticWeb
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
7. Agentcommunication,ontologies,protocols,semanticWeb
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
8. Agentcommunication,ontologies,protocols,semanticWeb
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
9. Agentcommunication,ontologies,protocols,semanticWeb
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.
10. Agentcommunication,ontologies,protocols,semanticWeb
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
11. Agentcommunication,ontologies,protocols,semanticWeb
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
12. Agentcommunication,ontologies,protocols,semanticWeb
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?)
13. Agentcommunication,ontologies,protocols,semanticWeb
Luigi Ceccaroni, Steven Willmott
Descriptions
Box-Diagram Descriptions
UML-based
n o t - u n d e r s t o o d r e f u s e
r e a s o n
f a ilu re
r e a s o n
in fo rm
D o n e (a c t io n )
in fo rm
( io ta x ( r e s u lt a c t io n ) x )
a g r e e
r e q u e s t
a c t io n
14. Agentcommunication,ontologies,protocols,semanticWeb
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
15. Agentcommunication,ontologies,protocols,semanticWeb
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
16. Agentcommunication,ontologies,protocols,semanticWeb
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
18. Agentcommunication,ontologies,protocols,semanticWeb
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
19. Agentcommunication,ontologies,protocols,semanticWeb
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 UP
1. Have a performative for everything
2. Have very limited content language
Or push semantics DOWN
1. Use only “request”
2. Define the semantics of every request in the Ontology
20. Agentcommunication,ontologies,protocols,semanticWeb
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
21. Agentcommunication,ontologies,protocols,semanticWeb
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
22. Agentcommunication,ontologies,protocols,semanticWeb
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
23. Agentcommunication,ontologies,protocols,semanticWeb
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
24. Agentcommunication,ontologies,protocols,semanticWeb
Luigi Ceccaroni, Steven Willmott
Agentcities Examples
Evening Organizer Perspective
Travel
Information
Geo
Information
Cinema
Guide
Ratings
Agent
Event Organizer Perspective
Ontology
Ticket
Market Talent
Market
Event
Publicity
Security
Event
Planner
Personal
Agent
Evening
Organiser
Hotel Guide
Restaurant
FinderRestaurant
Guide
Restaurant
Restaurant
Restaurant
Restaurant
Restaurant
Restaurant
Restaurant
Music
Venue
Restaurant
Restaurant
Restaurant
Hotel
Restaurant
Restaurant
Restaurant
Band/
Performer
Restaurant
Restaurant
Restaurant
Cinema
Restaurant
Restaurant
Restaurant
Theatre
Bank
Personal
Agent
25. Agentcommunication,ontologies,protocols,semanticWeb
Luigi Ceccaroni, Steven Willmott
Evening Organizer
Personal
Agent
Evening
Organiser
Hotel Guide
Restaurant
Finder
Restaurant
Guide
Restaurant
Restaurant
Restaurant
Restaurant
Restaurant
Restaurant
Restaurant
Music
Venue
Restaurant
Restaurant
Restaurant
Hotel
Restaurant
Restaurant
Restaurant
Band/
Performer
Restaurant
Restaurant
Restaurant
Cinema
Restaurant
Restaurant
Restaurant
Theatre
Travel
Information
Geo
Information
Ratings
Agent
Cinema
Guide
Ticket
Market
Event News