190 likes | 330 Views
An Infrastructure for Agent Collaboration in Open Environments. Kenichi Yoshimura, Lin Padgham, and Wei Liu RMIT University Presented to Agents VIC May 2003. Agentcities Project. www.agentcities.org and www.agentcities.net.
E N D
An Infrastructure for Agent Collaboration in Open Environments Kenichi Yoshimura, Lin Padgham, and Wei Liu RMIT University Presented to Agents VIC May 2003
Agentcities Project www.agentcities.org and www.agentcities.net • “Agentcities is a worldwide initiative designed to help realise the commercial and research potential of agent based applications by constructing a worldwide, open network of platforms hosting diverse agent based services. The ultimate aim is to enable the dynamic, intelligent and autonomous composition of services to achieve user and business goals, thereby creating compound services to address changing needs.”, from www.agentcities.org. • A working network of agent-based services based on Foundation for Intelligent Physical Agents (FIPA) standards.
Motivations • Agentcities: approaching 100 nodes connected, offering diverse services. But are services easily accessible to create composite services? Standards for Open Environments (FIPA, WSDL) Agent Communication Languages (FIPA ACL, KQML) Ontology Representations (DAML+OIL, OWL) Content Languages (FIPA SL, KIF) Open Environment Service Description and Discovery (DAML+S, UDDI) Interaction Protocols Reliability and Robust Issues
What’s ASKIT?(Agent Service Komposition Interface Tool) • A demonstration system. • Encourage development of complex services using existing services with the minimum effort. • 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
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 Delivery
Composite Service and Teamwork • Execution of composite services involves 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. • 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
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. • Recycling existing facilities such as parallel execution and synchronisation. • Abstractly describe requirements by roles (i.e. service types). • Proxy agents: additional layer mapping JACK Teams to services in open environments. • Making unreliable services consistent from the team’s view – a represented services being unavailable, failures in interactions, and monitoring time-out for network related failures. • Managing interaction protocols and content languages.
Dynamic Service Discovery • Possible to have several instances of the same type of service available simultaneously in open environments. • In ASKIT, a service is modelled as service type and its associated interfaces. • Specify composite services using service types and their interfaces – this enables dynamic discovery of service instances depending on the current configuration of the environment. • Service discovery issues: FIPA’s Directory Facilitators (DFs) and Universal Description, Discovery and Integration (UDDI).
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). • When a team plan fails, why not re-execute with a different combination of agents? • Potentially avoids computational redundancies. • Additional level of backtracking.
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 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
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
Issues and Future Work • How to represent services so that we can automate the proxy agents generation? • Analysis of input/output dependencies enough? How about preconditions and consequences? • What’s the right level of commitments of team members in open environments? Our approach too simple??
Resources • ASKIT is unreliably available at http://agentcities.cs.rmit.edu.au/agentcities:7198:login.jsp • FIPA JACK – a plugin for JACK Intelligent Agents for FIPA standard compliancy 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!