Web Service Composition as Planning - PowerPoint PPT Presentation

1 / 16
About This Presentation
Title:

Web Service Composition as Planning

Description:

... expand the field greatly, the leopards will change their spots... Due to travelling and public holidays, you have more time than usual for this assignment: ... – PowerPoint PPT presentation

Number of Views:73
Avg rating:3.0/5.0
Slides: 17
Provided by: Axel79
Category:

less

Transcript and Presenter's Notes

Title: Web Service Composition as Planning


1

Introduction to Artificial Intelligence
MSc 2005 Semester 2 8th Tutorial
  • Web Service Composition as Planning?

2
The problem
  • Is composition of Web Services possible by
    describing services as planning
    operators/domains?
  • Are current planners suitable for this kind of
    composition?
  • 1000s of services, probably doing almost the same
    (e.g. there are loads of Hotel booking services)?

3
a pessimistic view from the lecture slides
Jim Hendler's opinion 01/02/2004
public-sws-ig_at_w3.org
  • I would point out that the mapping of web
    services to compositions has largely been done in
    the past, even in the best work in
  • this area, with some simplifications that
    generally "twist" web services into a planning
    framework -- there's huge parts of the
  • web service world that need to be explored before
    we can really say AI planning has shown a success
    in web services other
  • than as an evocative idea -- the reason is that
    a real web services engine will need to deal with
    (at least)
  • scaling issues way beyond anything we've seen in
    planning to date (there may be thousands of
    services each with multiple ports, optional
    arguments, etc.)
  • the issues Dana mentioned (side effects, change
    in the world, etc.) that make Strips-operators
    planning an approximation at best (the assumption
    that change occurs only through the operators
    under the control of this planner is clearly
    wrong)
  • issues of interaction with users - web service
    planning better be more mixed-initiative
  • issues of preferences v. constraints
  • issues of interaction between planning agents out
    there (you buy the book I'm in the process of
    planning to buy)
  • knowledge engineering issues (when planners take
    ebXML and WSDL as inputs, instead of requiring
    specialized planning-like languages like
  • OWL-S, then we'll see a lot more excitement on
    the outside - OWL-S is an interesting starting
    place, but we fool ourselves if we think it
    really is going to be widely used for process
    specification in its current form)
  • In fact, I'll wager that it will be absolutely
    trivial to prove that web services planning, even
    w/simplifications, is inherently
  • undecidable, so we'll need to explore a lot of
    the issues from the old "dynamic planning" world
    as well. All this, by the way, I
  • see as good news - it means this is a fertile and
    exciting research area for those of us in
    planning, with good heuristic solutions
  • being transitionable. That said, in the past I
    have tried to get AI planning people to think
    outside the box and failed miserably,
  • and I'll be surprised if the web services
    planning stuff doesn't become an "applied" area
    being ignored by the bulk of the
  • research community (who, if you'll apologize my
    saying so, still have their heads up their
    you-know-whats worrying about
  • scaling simple problems in all the wrong ways)

4
Classical Planner are not necessary suitable
  • BUT Can serve as an approximation at a high
    level of abstraction in semi-automatic
    approaches!
  • i.e. planning as a "heuristics" for WSC!
  • You should try out this week how far this is
    possible and under which restrictions!

5
Assignment this week
  • This weeks assignment is a challenge for your
    creativity!
  • You should
  • describe a service composition problem as a
    planning problem in PDDL
  • Generate a big set of operators, emulating lots
    of possible similar services and observe
    scalability
  • Find a suitable planner for your problem, run it.
  • If not possible to describe/solve your encoding,
    find usable abstractions, simplifications.
  • ? See last slide for the concrete task.

6
Web and Services
  • Text/images information providing/world
    altering services
  • Manual Web services interoperation
  • Agents interoperation Semantic services
  • Service markup machine understandable

7
Web and Services
  • Text/images information providing/world
    altering services
  • Manual Web services interoperation
  • Agents interoperation Semantic services
  • Service markup machine understandable
  • We try to use PDDL this week to semantically
    describe Web services!

8
Semantic Service Description
  • Problem/Vision
  • automatic discovery,
  • execution and
  • composition of Web services
  • Solution
  • Semantic markup of Web services
  • in our case we will PDDL
  • More general approach Service ontologies, OWL-S,
    WSMO

9
Service Composition andInteroperation
  • The automatic selection, composition, and
    interoperation of appropriate Web services to
    perform some task, given a high-level description
    of the tasks objective.
  • Make the travel arrangements for my IJCAI 2001
    conference trip.
  • Can be formulated as a simple goal in PDDL

10
Industrial Standards
  • UDDI, WSDL, ebXML
  • E-speak (HP), .NET (MS)
  • For us here most important
  • WSDL exposes operations describing how to
    interact with a service, but not really what it
    does.

11
Example XMethods
  • www.xmethods.com a repository of real Web
    Services available online
  • E.g. Global Weather service
  • http//www.webservicex.com/globalweather.asmx?WSD
    L

Most services currently available are as simple
as simple procedure calls.
12
Problem with XMethods
  • WSDL only describes in-out of service operations,
    but not what the service does (preconditions,
    effects are missing)
  • Most services, such as the weather service are
    pure information gathering services.
  • You gather information as you execute the action,
    the outcome is non-deterministic, i.e. we don't
    know what
  • getWeather(Innsbruck)
  • will return.
  • Current planners are not conceived for
    information gathering, i.e. adding knowledge or
    taking decisions based upon the outcome of
    actions.
  • More interesting, in our context are services
    with real world effects, such as charging my
    credit card, etc.
  • Since existing services lack these descriptions,
    let us use some fictitious but useful web
    services, e.g. Hotel booking, car rental, flight
    booking, etc.

13
Sample Problem Online Trip Booking
  • Let us now try to encode a simple problem and a
    few services as a planning problem in PDDL
  • I have 100 on my credit card and 150 on my bank
    account and I want to purchase a ticket way and
    back to Vienna and book a hotel in Vienna.
  • Initial State and Goal
  • (define (problem ticketAndHotelVienna)
  • (domain servicesPlanning)
  • (objects
  • Innsbruck Vienna city
  • 2000 2001 2002 2004 2005 - year
  • (init ( (creditCardBalance) 100)
  • ( (accountbalance) 150)
  • ( (total-money-spent) 0)
  • )
  • (goal(and (haveTicket Innsbruck Vienna)
  • (haveTicket Vienna Innsbruck)
  • (haveHotelReservation Vienna))
  • (metric minimize (total-money-spent))
  • )

14
Online Trip Booking - Domain
fluents allow function definitions and use
of assignments and arithmetic expr. In effects
  • (define (domain servicesPlanning)
  • (requirements typing strips fluents)
  • (types city year)
  • (predicates (haveTicket ?x ?y - city)
  • (haveReservation ?x - city))
  • (hasVorteilsCard ?y - year)
  • (functions (total-money-spent)
  • (accountBalance)
  • (creditCardBalance))
  • (action TheRottenHotelBookingService
  • parameters (?x - city)
  • preCondition (gt (creditCardBalance) 50)
  • effect (and (haveReservation ?x)
  • (decrease (creditCardBalance)
    50)
  • (increase (total-money-spent
    50))))
  • (action TheFancyHotelBookingService
  • parameters (?x - city)

15
  • (action onlineBankingService
  • parameters (?transferAmount)
  • preCondition (gt (accountCardBalance)
    ?transferAmount)
  • effect (and (decrease (accountBalance)
    ?transferAmount)
  • (increase (creditCardBalance)
    ?transferAmount)))
  • (action oebbTicketService
  • parameters (?from ?to)
  • effect (and (hasTicket ?from ?to)
  • (decrease (creditCardBalance)
    70)
  • (increase (total-money-spent
    70))))
  • (action oebbVorteilsCardTicketService
  • parameters (?from ?to)
  • preCondition (and (hasVorteilsCard 2005)
    (gt (accountCardBalance) 20 )
  • effect (and (hasTicket ?from ?to)
  • (decrease (creditCardBalance)
    20)
  • (increase (total-money-spent
    20))))

16
Your exercises
  • Improve the very simple encoding in the slides,
    e.g. by
  • parametrizing by date, number of days to stay in
    the hotel
  • The vorteilscard has to be valid for the date of
    travel,
  • adding more services,
  • adding more cities and different costs for
    tickets encoded in some fixed predicates,
  • etc.
  • Think of an own example in the web service
    composition area and model it in PDDL. Try to
    avoid simplifications and keep your modeling as
    realistic as possible. You can use any extension
    of PDDL which you might find useful. What are the
    obstacles?
  • Find a planner which can solve your problem.
  • Now try to enrich you modeling by adding more
    services (actions) which offer the same or only
    slightly different functionality, does it affect
    scaling?
  • Answer the following questions
  • Which abstractions, simplicifcations did you have
    to make in your modeling to tweak the composition
    problem into PDDL?
  • Is it feasible that Web services advertise their
    functionality in a language like PDDL? Why? Why
    not?
  • Why can't you use WSDL directly for planning and
    composition, what is missing?
  • Relate your observations to assumptions A0-A7
    from the lecture slides.
  • As mentioned in the beginning This exercises is
    a challenge for your creativity and to find out
    what are the borders of current languages and
    technologies.
  • Due to travelling and public holidays, you have
    more time than usual for this assignment
Write a Comment
User Comments (0)
About PowerShow.com