22
1 IG-JADE-PKSlib An Agent-Based Framework for Advanced Web Service Composition and Provisioning Erick Martínez & Yves Lespérance Department of Computer Science York University Toronto, Canada Martínez & Lespérance IG-JADE-PKSlib WSABE @ AAMAS-2004

IG-JADE-PKSlib: An Agent-Based Framework for Advanced Web Service Composition and Provisioning

Embed Size (px)

DESCRIPTION

We describe an agent-based infrastructure and toolkit to develop inter-operable, intelligent, multiagent systems for Web service composition (WSC) and provisioning. Our toolkit is realized through an interface library (IG-JADE-PKSlib) that combines state of the art agent-based and planning technologies (i.e., the IndiGolog model-based agent programming language, the JADE agent platform, and the PKS planning system). We show that each of these tools has its strengths and weaknesses, but combined together, they provide a very powerful toolkit. We argue that this infrastructure is particularly well suited for developing next generation Web services (WS) applications.

Citation preview

Page 1: IG-JADE-PKSlib: An Agent-Based Framework for Advanced Web Service Composition and Provisioning

1

IG-JADE-PKSlib

An Agent­Based Framework for Advanced Web Service Composition 

and Provisioning 

Erick Martínez & Yves Lespérance

Department of Computer ScienceYork UniversityToronto, Canada

Martínez & Lespérance IG-JADE-PKSlib WSABE @ AAMAS-2004

Page 2: IG-JADE-PKSlib: An Agent-Based Framework for Advanced Web Service Composition and Provisioning

2

Motivation

● Next generation Web Services– Semantic Web– Reasoning / Planning– Automation

● Agent­oriented toolkit for advanced MAS / WSC and provisioning

● Previous results (knowledge­based planning)

Martínez & Lespérance IG-JADE-PKSlib WSABE @ AAMAS-2004

Page 3: IG-JADE-PKSlib: An Agent-Based Framework for Advanced Web Service Composition and Provisioning

3

Air Travel MAS Example(WSC & Provisioning)

Martínez & Lespérance IG-JADE-PKSlib WSABE @ AAMAS-2004

Page 4: IG-JADE-PKSlib: An Agent-Based Framework for Advanced Web Service Composition and Provisioning

4

IG-JADE-PKSlib Components

● IndiGolog: high­level model­based programming language based on the situation calculus and good for modeling dynamic domains.

● JADE: open source, Java­based, FIPA­compliant software framework for developing MAS

● PKS: efficient knowledge­based planning system, supports incomplete information and sensing actions

Martínez & Lespérance IG-JADE-PKSlib WSABE @ AAMAS-2004

Page 5: IG-JADE-PKSlib: An Agent-Based Framework for Advanced Web Service Composition and Provisioning

5

IndiGolog (IG)(De Giacomo & Levesque, 1999)

● Supports:– Reasoning about action (e.g., diagnosis) – Exogenous events handling,– Sensing, – Planning / Re­planning, – Plan execution,– Execution monitoring

● Limitations:– mainly intended for designing individual 

autonomous agents

Martínez & Lespérance IG-JADE-PKSlib WSABE @ AAMAS-2004

Page 6: IG-JADE-PKSlib: An Agent-Based Framework for Advanced Web Service Composition and Provisioning

6

IG Agent Specification

Has two parts:● Declarative specification of the domain and its dynamics 

in the situation calculus:– Axioms describing the initial situation– Action precondition axioms– Successor state axioms– Sensed  fluent axioms– Unique names axioms for the primitive actions– Some foundational, domain independent axioms 

● Procedural description of the agent behaviour in the IG process language– Rich programming language, with support for non­determinism, 

concurrency, interrupts, search, etc.

Martínez & Lespérance IG-JADE-PKSlib WSABE @ AAMAS-2004

Page 7: IG-JADE-PKSlib: An Agent-Based Framework for Advanced Web Service Composition and Provisioning

7

IG Travel Orchestrator Agent Example

proc orchControl    π id, pid, xid .       ?(agent_ID = id),      ?(plan_ID = pid),      ?(exec_ID = xid),   /* Three Concurrent Processes */

   handleRequest(id) ||   handlePlanning(pid) ||   handleExecution(xid)endProc

Martínez & Lespérance IG-JADE-PKSlib WSABE @ AAMAS-2004

Page 8: IG-JADE-PKSlib: An Agent-Based Framework for Advanced Web Service Composition and Provisioning

8

Java Agent DEvelopment Framework (JADE) (TILAB/AOT Labs)

● Supports:– FIPA­compliant agent architecture

● Agent Management System● Directory Facilitator● Agent Communication Channel

– Full implementation of FIPA communication model● Agent interaction protocols (AIPs), ● Agent Communication Language (ACL), ● SL content language, ● Some types of ontologies, and● Transport protocols

● Limitations:– Lack of reasoning mechanisms for agents

● Interface to JESS, but JESS has limitations with respect to reasoning about dynamic domains (e.g., WS)

Martínez & Lespérance IG-JADE-PKSlib WSABE @ AAMAS-2004

Page 9: IG-JADE-PKSlib: An Agent-Based Framework for Advanced Web Service Composition and Provisioning

9

IG-JADE Interface

IndiGolog

JADE

TCP/IP SocketExogenousActions (IG)

PrimitiveActions (IG)

Martínez & Lespérance IG-JADE-PKSlib WSABE @ AAMAS-2004

Page 10: IG-JADE-PKSlib: An Agent-Based Framework for Advanced Web Service Composition and Provisioning

10

IG-JADE Interface (IG Arch.)

● Original IG Limitation:  intended for designing individual autonomous agents

● Extended IG Features:– FIPA ACL (message) 

handling– FIPA SL (content) 

handling – Support for FIPA Agent 

Interaction Protocols (AIPs)

● Integration to MAS● Asynchronous 

communication– Proactive + reactive IG 

agents

Martínez & Lespérance IG-JADE-PKSlib WSABE @ AAMAS-2004

Page 11: IG-JADE-PKSlib: An Agent-Based Framework for Advanced Web Service Composition and Provisioning

11

IG Travel Orchestrator Agent Example (Revisited)

proc handleRequest(id)   /* FIPA AIP (Request­participant) */   initRequestParticipantRole(id)endProc

proc handlePlanning(pid)     <cid: state_planning(pid, cid) = ready         /* FIPA AIP (Request­initiator) */         → initRequestInitiatorRole(id)>   ⟩⟩        <true →  noOp>endProc

proc orchControl     π id, pid, xid .       ?(agent_ID = id),      ?(plan_ID = pid),      ?(exec_ID = xid),   handleRequest(id) ||   handlePlanning(pid) ||   handleExecution(xid)endProcMartínez & Lespérance IG-JADE-PKSlib WSABE @ AAMAS-2004

Page 12: IG-JADE-PKSlib: An Agent-Based Framework for Advanced Web Service Composition and Provisioning

12

IG-JADE Interface (JADE Arch.)

● Original JADE Limitation:  lack of reasoning mechanisms for agents (dynamical domains)

● Extended JADE Features:– Socket interface to IG

● Messenger is a full­fledged JADE agent– ACL handling– Translator/mailbox

● Extended capabilities to do reasoning on dynamical domains

Martínez & Lespérance IG-JADE-PKSlib WSABE @ AAMAS-2004

Page 13: IG-JADE-PKSlib: An Agent-Based Framework for Advanced Web Service Composition and Provisioning

13

Air Travel MAS Example(Revisited)

Martínez & Lespérance IG-JADE-PKSlib WSABE @ AAMAS-2004

Page 14: IG-JADE-PKSlib: An Agent-Based Framework for Advanced Web Service Composition and Provisioning

14

Automated Web Service Composition as Planning

● WSC Problem: given a set of Web services and some user defined task or goal to be achieved, automatically find a composition of the available services to accom­plish the task.

● WSC as a Planning Problem:  – Predefined available services as the building blocks of a plan– Many WS actions involve sensing– Large search space, incomplete information in the initial 

state

Martínez & Lespérance IG-JADE-PKSlib WSABE @ AAMAS-2004

Page 15: IG-JADE-PKSlib: An Agent-Based Framework for Advanced Web Service Composition and Provisioning

15

Planning with Knowledge and Sensing (PKS)

● Supports:– Planning under conditions of incomplete knowledge– Sensing actions,– Parameterized conditional plans,– Planning at the knowledge level (without considering 

all the different ways the physical world can be configured),

– Efficient, sound, forward chaining inference algorithm

● Limitations:– Only limited forms of incomplete knowledge can be 

represented – Inference algorithm is efficient but incomplete

Martínez & Lespérance IG-JADE-PKSlib WSABE @ AAMAS-2004

Page 16: IG-JADE-PKSlib: An Agent-Based Framework for Advanced Web Service Composition and Provisioning

16

WSC in PKS(Martínez & Lespérance, 2004)

● PKS primitive actions correspond to WS– Knowledge­producing actions  ↔   information 

gathering WS– Physical actions  ↔   world­altering WS

● New WS becomes available  →   add new primitive action to domain specification

Martínez & Lespérance IG-JADE-PKSlib WSABE @ AAMAS-2004

Page 17: IG-JADE-PKSlib: An Agent-Based Framework for Advanced Web Service Composition and Provisioning

17

PKS Spec. Example(Air Travel Domain)

Action Precondition Effects findRFlight(x)  K(airCo(x))

 K(indFindRFlight(x)) K(desFindRFlight(x))

 add(Kw, flightExists(x)) add(Kf,¬indFindRFlight(x))

 bookFlight(x)  K(airCo(x)) K(availFlight(x)) K(indBookFlight(x)) K(desBookFlight(x))

 add(Kf, bookedFlight(x)) del(Kf, availFlight(x)) add(Kf,¬indBookFlight(x))

Domain specific update rules (DSUR) K(airCo(x))  ¬Kv(flightNum(x))  K(flightExists(x))  add(Kv,  flightNum(x))

1 explicit parameter: company

Martínez & Lespérance IG-JADE-PKSlib WSABE @ AAMAS-2004

Page 18: IG-JADE-PKSlib: An Agent-Based Framework for Advanced Web Service Composition and Provisioning

18

PKS-JADE Interface

●  Why PKS­JADE? – Both object­oriented: JADE (Java), PKS (C++) 

● PKS­WA is a full­fledged JADE agent – FIPA AIPs– FIPA ACL– FIPA SL– Ontology support (e.g., pks­ontology)

● Extended knowledge­based planning capabilitiesMartínez & Lespérance IG-JADE-PKSlib WSABE @ AAMAS-2004

Page 19: IG-JADE-PKSlib: An Agent-Based Framework for Advanced Web Service Composition and Provisioning

19

Air Travel MAS Example(Final / IG-JADE-PKSlib)

Martínez & Lespérance IG-JADE-PKSlib WSABE @ AAMAS-2004

Page 20: IG-JADE-PKSlib: An Agent-Based Framework for Advanced Web Service Composition and Provisioning

20

Main Contributions

● Extended IndiGolog, added support for:– FIPA Agent Interaction Protocols (AIPs)– FIPA ACL (message) handling– FIPA SL (content) handling – Integration to MAS

● Asynchronous communication, proactive + reactive IG agent behaviours

● IG­JADE­PKSlib: agent­based infrastructure and toolkit, for developing inter­operable, intelligent MASs (e.g. advanced WS applications)

● Our toolkit provides comprehensive support for multiple fea­tures, such as: reasoning for dynamical domains, knowledge­based planning (incomplete knowledge, sensing), execution monitoring, AIPs, ontologies, etc.

Martínez & Lespérance IG-JADE-PKSlib WSABE @ AAMAS-2004

Page 21: IG-JADE-PKSlib: An Agent-Based Framework for Advanced Web Service Composition and Provisioning

21

Open Problems and Future Work

● Translation of OWL, DAML­S, etc. into PKS/IG specifications● Representation of atomic services● Customizing domain theory based on problem

– Automatic generation (desc. goal + user pref.)

● IG­PKS interface (i.e., IG built­in KB planning)– IG passes planning calls to PKS (efficient)– Prolog­based reimplementation of PKS (more flexible, but less 

efficient) ● Experiments + case studies to validate performance and    scalability of integrated framework [Martínez & Lespérance, 2004]● Plan execution and contingency recovery

Martínez & Lespérance IG-JADE-PKSlib WSABE @ AAMAS-2004

Page 22: IG-JADE-PKSlib: An Agent-Based Framework for Advanced Web Service Composition and Provisioning

22

Thank You!

Martínez & Lespérance IG-JADE-PKSlib WSABE @ AAMAS-2004