An Infrastructure for Agent Service Composition in Open Environments
Kenichi Yoshimura1, Lin Padgham1, and Wei Liu2
1 RMIT University2 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
Keyword based search Human Consumable (information centric)
Semantic Web (leading web to its full potential) 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 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
www.agentcities.org and www.agentcities.netwww.agentcities.org and www.agentcities.net
Key Characteristics of an Open System
Open Join and leave at any time
Distributed Deployed anywhere in the world
Autonomous Represent different interests
Heterogeneous Implemented in different ways
Multiple Agents - Interaction
PersonalAssistant
AccountManager
AutomaticTeller
Taxi Agent
RequestCreateAccount
Done(Account22)
Done(Account23)
RequestCreateAccount
RequestAction(Transfer 22 23 $12)
RequestBookTaxi
Done($12, Cash)
DoneAction(Transfer 22 23 $12)
Multiple Agents - Interaction
PersonalAssistant
AccountManager
AutomaticTeller
Taxi Agent
RequestCreateAccount
Done(Account22)
Done(Account23)
RequestCreateAccount
RequestAction(Transfer 22 23 $12)
RequestBookTaxi
Done($12, Cash)
DoneAction(Transfer 22 23 $12)
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 Follow agreed sequence
of messages
Ontology
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 Follow agreed sequence
of messages
Ontology
Content Language
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 Follow agreed sequence
of messages
Ontology
Content Language
Communicative Act
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 Follow agreed sequence
of messages
Ontology
Content Language
Communicative Act
Protocol
FIPA Request Protocol
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
Not FIPA ACL
No enough
opening balance
Create Account
Same Account Exist Account
Created
Account Created with
AccountNumber
ACL Performatives Inform Request QUERY_REF Refuse Failure …… many more
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
FIPA ACL Message (Example)
(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)
Content Language: SL
Ontology and Content (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)
FIPA Agent Mangement Ontology
Domain Ontologies
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.
Team members
Coordination Team Team
Plan
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
Both captures abstract capabilities of an entity. Represent a composite service as a team plan.
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 Hi-FI Agent CD Agent Power Supply
Get quote
Quote
Order CD
CD Delivery
Power supply unit booking
Booking confirmation
Order Hi Fi
Hi Fi DeliveryFAIL
OK
OK
OK
OK
OK
OK
OK
Static Dependency Analysis
HF = Hi Fi AgentCD = CD AgentPS = Power Supply Agent
1. quote = HF.get_quote();
2. cd = CD.buy(title);3. psu =
PS.order(quote, office);
4. 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 Power SupplyPower Supply
Get quote
Quote
Order CD
CD Delivery
Power supply unit booking
Booking confirmation
Order Hi Fi
Hi Fi Delivery
OK
OK
Execute
Execute
Execute
Execute
Execute
Execute
Putting All Together...
Proxy Agent
Composite Service Team
End User’s Agent
User InterfaceUser Interface Service DiscoveryService Discovery
Backtracking Plan
User Specified Composite Service
Proxy AgentProxy Agent
Library of Plans
Role Assignment
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
Customised Service
Open Environment like Agentcities
Team of user agents
Service types and associated interfaces.
Eg. bank service with open account, get balance and transfer money interfaces.
Team plan
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 post-conditions of services
What’s the right level of commitments of team members in open environments?
Agentcities Project
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.
www.agentcities.org and www.agentcities.netwww.agentcities.org and www.agentcities.net
Web Services v.s. Agent Services
Service Flow
Service Discovery
Service Publication
Network
Service Description
XML-Based Messaging
WSFL
Static -> UDDI
Direct -> UDDI
WSDL
SOAP
HTTP, FTP, SMTP, IIOP…
Interaction Protocol
Agent Communication Language
Content Language
Content Ontology
DAML-S
DAML-S
Agent Directory Service &Service Directory Service
Message TransportService
Web Services Agent Services
Resources
ASKIT is unreliably available at http://agentcities.cs.rmit.edu.au/agentcities
:7198:login.jsp
FIPA JACK – a plug-in for JACK Intelligent Agents for FIPA standard compliancyhttp://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