下面转发一篇关于service composition的争论
---------- Forwarded message ----------
From: Bijan Parsia <bpa...@isr.umd.edu
>
Date: 2006-4-12 下午11:56
Subject: Re: Compositions Types:Static and Dynamic
To: Daniela CLARO <Daniel...@eseo.fr>
Cc:
public...@w3.org
On Apr 12, 2006, at 4:03 AM, Daniela CLARO wrote:
>
> Hi all,
> I want to hear from you about composition types. Actually, I
> classified
> the composition of sws in two categories: static compositions and
> dynamic compositions.
> From static composition I mean the compositions that know iin advance
> all services that will belong to the composition, for example, the use
> of workflows, that we decide before which services will participate to
> the compostion. Do you have other examples from static compositions?
I tend to call this a fully grounded composition. That is, a workflow
where all the service invocations are bound to particular concrete
services. I don't think this is *static* because it's pretty easy to
imagine replacing one of the concrete services with an equivalent on at
execution time (say, due to the unavailability of the original
service). That is, a system with a robust recovery (or aggressive
optimizing) function could treat the grounded composition rather
dynamically.
> About dynamic composition, it is the use of dynamic workflow, the use
> of
> planning to compose,
Does it have to be planning? What about my replacement with equivalents
above? (Or better, imagine something roughly equivalent to dynamic
dispatch...I don't change the *workflow*, but I resolve the endpoint at
run time. Is this really planning?)
> the use of graphs. I mean that we don't know in
> advance which services will participate to the composition.
But that's true in the above case, at least in principle.
Also, in advance of *what*. The main point of a planning system is to
decide what operators to use (in what order) *before* execution (
i.e.,
off line). So, in a sense, after planning we DO know which services (we
intend) to execute (in advance of execution).
What about contingent planning? E.g., if I have a conditional in my
plan that's sensitive to some run time sensing. I can't say, in
advance, which path will be taken, so I don't know what services will
actually be executed. Contrariwise, if my planning domain has only a
fixed set of operators (and I'm not allowed to change them), then I
know what services could possibly be executed.
> Moreover, if
> I have a service s1 that need another service s2 in order to be
> executed, so the dynamic composition should find this other service s2
> and put s2 in the composition. Isn't that? Do you have other examples
> of
> dynamic compositions?
I'm not sure what purpose this distinction is to serve. So it's hard to
figure out what falls on which side of the divide.
> So I want to hear from you what do you think about this classification
> and examples of static and dynamic compositions.
See above :)
Cheers,
Bijan.
--
祝
好!
乔伟(joeway)