An Infrastructure for Agent Collaboration in Open Environments
Download
Report
Transcript An Infrastructure for Agent Collaboration in Open Environments
An Infrastructure for Agent
Service Composition in Open
Environments
Kenichi Yoshimura1, Lin Padgham1, and
Wei Liu2
1
2
RMIT University
The University of Western Australia
Outline
Motivation (Semantic Web and
Agentcities)
Communication in an Open
Environment (FIPA-JACK)
Service Composition v.s. Teamwork
A Service Composition Tool (ASKIT)
Conclusion and future work
What’s next
Striding Towards Semantic
Web
Today’s web
Semantic Web (leading web to its full
potential)
Keyword based search
Human Consumable (information centric)
Match making using semantic meaningful
information
Machine Processable (service centric)
Benefits
Better quality of service – search engines
Service Composition
Semantic Web: Not an easy
move
Content Providers – Static website owners
(annotate content using ontologies)
Service Providers – Companies and
Government (deploy HTML form based
services into Web services)
Service Consumers (able to search and
compose services)
Who are going to go through all this trouble
and become early Semantic Web Adopters?
Agentcities Project
Agentcities is a worldwide open network of platforms
hosting diverse agent based services.
It is also a test-bed to help realise the commercial and
research potential of agent based applications
The ultimate aim is to
www.agentcities.org and www.agentcities.net
enable the dynamic, intelligent and autonomous composition of
services to achieve user and business goals.
A working network of agent-based services based on
Foundation for Intelligent Physical Agents (FIPA)
standards
Key Characteristics of an Open
System
Open
Distributed
Deployed anywhere in the world
Autonomous
Join and leave at any time
Represent different interests
Heterogeneous
Implemented in different ways
Multiple Agents - Interaction
Request
CreateAccount
Request
CreateAccount
Done
(Account22)
Personal
Assistant
Done
(Account23)
Account
Manager
Request
BookTaxi
Done
($12, Cash)
Taxi Agent
Request
Action(Transfer 22 23 $12)
Done
Action(Transfer 22 23 $12)
Automatic
Teller
Multiple Agents - Interaction
Request
CreateAccount
Request
CreateAccount
Done
(Account22)
Personal
Assistant
Done
(Account23)
Account
Manager
Request
BookTaxi
Done
($12, Cash)
Taxi Agent
Request
Action(Transfer 22 23 $12)
Done
Action(Transfer 22 23 $12)
Automatic
Teller
Agent Infrastructures Used by
Agentcites Platforms
FIPA Compliant Agent Development
Tools (Open Source)
JADE
FIPA-OS
April Agent Platform
Zeus
BDI Agent Development Tools
JACK (Commercial) - Made FIPA Compliant
through FIPA-JACK
In order to communicate
Use same vocabulary
and have the same
perception of the world
Use the agreed syntax
Follow agreed semantic
of communicative act Ontology
Follow agreed sequence
of messages
In order to communicate
Use same vocabulary
and have the same
perception of the world
Use the agreed syntax
Follow agreed semantic Content Language
of communicative act Ontology
Follow agreed sequence
of messages
In order to communicate
Use same vocabulary
and have the same
perception of the world
Use the agreed syntax
Communicative Act
Follow agreed semantic Content Language
of communicative act Ontology
Follow agreed sequence
of messages
In order to communicate
Use same vocabulary
and have the same
perception of the world
Protocol
Use the agreed syntax
Communicative Act
Follow agreed semantic Content Language
of communicative act Ontology
Follow agreed sequence
of messages
FIPA Request Protocol
Create Account
No enough
opening balance
not-understood
Not FIPA ACL
request
action
re fu se
re a so n
agree
fa ilu re
re a s o n
inform
D o n e (a c tio n)
Same Account Exist
inform
(io ta x (resu lt a ctio n) x)
Account
Account Created with
Created
AccountNumber
ACL Performatives
request
action
not-understood
re fu se
re a so n
agree
fa ilu re
re a s o n
inform
D o n e (a c tio n)
Inform
Request
QUERY_REF
Refuse
Failure
…… many
more
inform
(io ta x (resu lt a ctio n) x)
FIPA ACL Message (Example)
Content Language: SL
(request
:sender (agent-identifier :name x)
:receiver (set (agent-identifer :name y))
:content (
(action (agent-identifier :name y)
(createClient :personalInfo
(PersonalInfo :lastname Liu
:agentId( … )
…)))
:ontology urn:x-acnet:EPFL:ontology:banking:v2.0
:protocol fipa-request)
Ontology and Content
FIPA Agent Mangement Ontology
(request
:sender (agent-identifier :name x)
:receiver (set (agent-identifer :name y))
:content (
(action (agent-identifier :name y)
(createClient :personalInfo
(PersonalInfo :lastname Liu
:agentId( … )
…)))
:ontology urn:x-acnet:EPFL:ontology:banking:v2.0
Domain Ontologies
:protocol fipa-request)
Composite Service and Teamwork
Execution of composite services involves unconscious
collaboration of heterogenous agents.
Similar characteristics desirable such as parallel
execution and synchronisation of activities.
Observation of commitments between a user agent
and service provider agents - however, traditional
models of teamwork are typically too restrictive in
open environments. (E.g. Joint Intentions, Joint Goals
and mutual beliefs)
A Current Model of Teamwork
JACK Teams – hierarchical
structure of teams.
Team plans to specify:
Member selection.
Coordination of team’s
activities separately from
individuals.
Roles to capture abstract
capabilities.
Transparently implements
basic requirements of teams
– Eg. failure notification.
Coordination
Team
Team
Plan
Team members
Survey of JACK Teams
Provides a framework to
model organisations
with hierarchies.
Support of the BDI
architecture with teams.
Easy specification of
coordinated activities.
Good separation of
team activities and
individual activities.
Designed for closed
environments.
Works only with instances
of JACK Teams agents.
• Eg. team plans rely on basic
agreements of team
members – success/failure
report.
Mapping Teams to Services
Roles and service types
Represent a composite service as a team plan.
Both captures abstract capabilities of an entity.
Reuse existing facilities such as parallel execution and
synchronisation.
Abstractly describe requirements by roles (i.e. service types).
Additional layer (proxy agents) encapsulating service
agents into JACK Team entities:
Making unreliable services consistent from the team’s view –
a selected services being unavailable, failures in interactions,
and monitoring time-out for network related failures.
Managing interaction protocols and content languages.
Extending Team Plans
BDI architectures enable recovery from failures by
selecting different plans that achieves the same goal.
Establish() method allows dynamic sub-teams
selection from a list of potential agents (role
containers).
JACK team plans have strong notions of failure.
When a team plan fails, why not re-execute with a
different combination of agents?
Potentially avoids computational redundancies.
Additional level of backtracking.
An Example Scenario
User Agent
OK
OK
Hi-FI Agent
Get quote
Quote
OK
Order CD
OK
CD Delivery
Power supply unit booking
OK
Booking confirmation
OK
OK
FAIL
CD Agent
Order Hi Fi
Hi Fi Delivery
Power Supply
Static Dependency Analysis
HF = Hi Fi Agent
CD = CD Agent
PS = Power Supply Agent
1.
2.
3.
4.
quote =
HF.get_quote();
cd = CD.buy(title);
psu = PS.order(quote,
office);
unit = HF.buy(quote);
Requires 3 types (HF, CD,
PS).
1 and 4 are performed by
the same agent.
2 is independent.
3 depend on 1 because it
requires a Hi-Fi model
(quote).
An Example Scenario
User Agent
Hi-FI Agent
CD Agent
Get quote
Execute
Execute
Quote
Order CD
OK
OK
CD Delivery
Power supply unit booking
Execute
Booking confirmation
Execute
Order Hi Fi
Execute
Execute
Hi Fi Delivery
Power Supply
Putting
All Together...
User Interface
Service Discovery
Composite Service Team
End User’s Agent
Backtracking Plan
Library of Plans
Role Assignment
User Specified
Composite Service
Proxy Agent
Proxy Agent
Proxy Agent
What’s ASKIT?
(Agent Service Komposition Interface Tool) (RMIT)
A demonstration system.
Demonstrate service composition – reuse existing
services.
A tool that enables people with limited programming
experience compose customised services as easy as
browsing information on the Internet.
No knowledge of open environments required.
Viewing a composite service as a loose form of
teamwork.
The use of a goal directed BDI framework and study
suitability of an existing model of teamwork for open
environments.
What does it do?
ASKIT Interface
Service types and
associated interfaces.
Eg. bank service with open
account, get balance and
transfer money interfaces.
Customised
Service
Team plan
Open Environment like
Agentcities
Team of user agents
Implementation issues:
Failure management (eg. request being
rejected)
Interaction with unreliable services (eg.
services disappearing)
Service discovery
Interaction protocols and content
languages
Message delivery and failure recovery
Conclusion
An infrastructure
Enables user-friendly service composition
Implements service composition
successfully using simple hierarchical
teamworks
Focus on flexibility in the control flow of
services and robustness in an open
environment
Issues and Future Work
Service Description and Dynamic
Discovery
Represent services so that we can
automate the proxy agents generation
Analysis of preconditions and postconditions of services
What’s the right level of commitments
of team members in open
environments?
Agentcities Project
www.agentcities.org and www.agentcities.net
Agentcities funding finishes in Oct 2003.
What happened to Agentcities network support?
OpenNet initiative is to keep the network alive.
More support on Web Services standard, SOAP, WSDL,
UDDI.
Web Services v.s. Agent
Services
Web Services
WSFL
Agent
Services
Service Flow
Static -> UDDI
Service Discovery
Direct -> UDDI
Service Publication
DAML-S
Agent Directory Service &
Service Directory Service
Interaction Protocol
WSDL
SOAP
Service Description
DAML-S
Agent Communication Language
XML-Based Messaging
Content Language
HTTP, FTP,
SMTP, IIOP…
Network
Message
Transport
Service
Content Ontology
Resources
ASKIT is unreliably available at
http://agentcities.cs.rmit.edu.au/agentcities:7198:lo
gin.jsp
FIPA JACK – a plug-in for JACK Intelligent
Agents for FIPA standard compliancy
http://www.cs.rmit.edu.au/agents/protocols
Acknowledgement
ASKIT project associates: Antony Iorio, Richard
Jones, David Shepherdson, Andrew Lucas, Ralph
Rönnquist and Jeff Schultz.
Thanks to James Harland, Michael Winikoff, and Ian
Mathieson for useful discussion and feedbacks!
Thanks to Kenichi for the ASKIT slides!
Questions