370 likes | 553 Views
An Infrastructure for Agent Service Composition in Open Environments. Kenichi Yoshimura 1 , Lin Padgham 1 , and Wei Liu 2 1 RMIT University 2 The University of Western Australia. Outline. Motivation (Semantic Web and Agentcities) Communication in an Open Environment (FIPA-JACK)
E N D
An Infrastructure for Agent Service Composition in Open Environments Kenichi Yoshimura1, Lin Padgham1, and Wei Liu2 1 RMIT University 2 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 www.agentcities.org and www.agentcities.net • 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
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
Request CreateAccount Request CreateAccount Done (Account23) Done (Account22) Request BookTaxi Personal Assistant Automatic Teller Account Manager Done ($12, Cash) Request Action(Transfer 22 23 $12) Done Action(Transfer 22 23 $12) Taxi Agent Multiple Agents - Interaction
Request CreateAccount Request CreateAccount Done (Account23) Done (Account22) Request BookTaxi Personal Assistant Automatic Teller Account Manager Done ($12, Cash) Request Action(Transfer 22 23 $12) Done Action(Transfer 22 23 $12) Taxi Agent Multiple Agents - Interaction
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
Content Language 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
Communicative Act Content Language 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
Protocol Communicative Act Content Language 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
FIPA Request Protocol Create Account No enough opening balance Not FIPA ACL Account Created with AccountNumber Account Created Same Account Exist
ACL Performatives • Inform • Request • QUERY_REF • Refuse • Failure • …… many more
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)
FIPA Agent Mangement Ontology Domain Ontologies 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)
Composite Service and Teamwork • Execution of composite services involves unconsciouscollaboration 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
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. Survey of JACK Teams
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 OK Quote OK OK Order CD CD Delivery OK Power supply unit booking OK Booking confirmation OK Order Hi Fi OK Hi Fi Delivery FAIL
HF = Hi Fi Agent CD = CD Agent PS = Power Supply Agent 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). Static Dependency Analysis
An Example Scenario User Agent Hi-FI Agent CD Agent Power Supply Get quote Execute Execute Quote Order CD OK OK CD Delivery Power supply unit booking Execute Execute Booking confirmation Order Hi Fi Execute Execute Hi Fi Delivery
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? Service types and associated interfaces. Eg. bank service with open account, get balance and transfer money interfaces. ASKIT Interface Team plan Customised Service 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 post-conditions 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.
Interaction Protocol Agent Communication Language Content Language Content Ontology Web Services v.s. Agent Services Web Services Agent Services WSFL Service Flow DAML-S Static -> UDDI Service Discovery Agent Directory Service & Service Directory Service Direct -> UDDI Service Publication WSDL Service Description DAML-S SOAP XML-BasedMessaging HTTP, FTP, SMTP, IIOP… Network Message Transport Service
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 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!