- From: Daniela CLARO <Daniela.CLARO@eseo.fr>
- Date: Tue, 18 Apr 2006 10:39:28 +0200
- To: "SWS-IG '" <public-sws-ig@w3.org>
> -----Message d'origine----- > De : Bijan Parsia [mailto:bparsia@isr.umd.edu] > Envoyé : vendredi 14 avril 2006 18:28 > À : Daniela CLARO > Cc : SWS-IG ' > Objet : Re: Compositions Types:Static and Dynamic > > (Keeping the discussion on list) > > On Apr 14, 2006, at 5:23 AM, Daniela CLARO wrote: > > > Thanks for your answer... > > Actually I understood what you meant about dynamic in > workflow, it was > > that even if in a workflow you could not know all services > that will > > be part of the composition, because one of them can be unavailable. > > Or you might find a better one at runtime. Ok, I understood. > > However, what I meant about static is that even if you can choose > > another service in execution time, you know all the > services that will > > achieve your predertermined goal. > > Well, first, I'm suggesting that "groudned" might be a better > term. Or something similar (concrete; fully concrete). Static > just doesn't seem *correct*. > > > You know all the activities that will be composed to achieve your > > goal in a static manner. > > But notice that this is different than before. If I have a > planning domain with a fixed set of operators, I, in some > sense, know all the activities that will be composed (if they > can be) to achieve my goal. > Is it a "static" manner? I don't know. I have to *do* the > planning, but it is, indeed, off line. Yes, the plan will be generated off-line, but I do not see as *static* because even if you know all candidate services, you do not know which composition will be used. For example, imagine that I am constructing a house and I have some services as: supply and place a window, construct stair, placing the floor, concrete supply, etc. If I choose the service costruct stair, for example, it has as precondition concrete alrealdy supplied. But actually, I haven't chosen the concrete supply. This is actually the momment where my plan takes place and it is because I called dynamic composition. Even if I hadn't chosen the service(I have chosen construct stair), my application will automatically add the service concrete supply in my composition. Even if I know all services in advance, because they are probably deployed and described in domain ontology, I do not know which one will be part of my composition. Of course, the next problem is in execution time, because I can have a lot of candidate services that can do the task: concrete supply. > And since you allow for subsitution in the grounded, concrete > composition, I DON'T know which activities will be, in fact, > executed to achieve my goal. > > > Probably the service 1 that will execute the activity 1 is > > unavailable, and so it is the dynamic concepts in workflow for > > composition. > > > > About my concepts of dynamic composition, I meant that you > know your > > goal, but you do not know which activities or tasks you > need to do to > > achieve this goal. It is what I understood about the planning role. > > You can also have the same problem explained above, because you can > > know the activities, but actually a service 1 that executes the > > activity 1 can also be unavailable. > > Or, as I said, you could change your might and replace it > with 5 activities that also achieve the goal. I just think > you aren't capturing the distinction you want. > > > Writing all these, I can probably make a difference between > them: One > > thing is dynamic execution of composed services, and another is > > dynamic composition in order to find which tasks are necessary to > > achieve the goal. > > Perhaps, though I can find concrete services in the latter > case. And what's the difference between dynamic *execution* > and "static" > execution? For me, dynamic execution is what you are doing, searching for services when you try to execute it or try to execute a composition. For exemple, in my example above, I am doing a dynamic composition with a static execution, because I do not search for other services in runtime, I compose my service and I execute them, considering that all of them will be executed and available at runtime. > > > It isn't simple, this domain... :) > > Thank you again, and if you or anybody else can comment > these lines, I > > will apreciate it! > > BPEL also has a distinction between...er...abstract? and > concrete workflows? They point is that if there are *in fact* > concrete, in principle executed services in the composition, > that's something worth marking (i.e., in principle, assuming > no failure, you can execute the composition without further > planning/composition). I don't see that as "static" per se. > The composition is immediately executable. When the > composition doesn't concretize things entirely, there's > further work to be done (from a composition, or > dispatch/selection, perspective). If I have conditionals in > the composition, then in at least that respect, though the > composition itself might never change, what services actually > get invocated will depend on (simple) runtime decisions. > > So there really is a continuum here. It might help if we knew > the purpose you have in trying to make this distinction. My purpose in trying to make this distinction it is only to understand and to classify my thoughts!!! I am writting a report about that and I thought that it was a good idea to classify the composition. However, I changed this opinion and I am thinking of separating in my rapport as: off-line compositions (as I did) and runtime compositions(as you did). > > Cheers, > Bijan. Thank you one more time! Daniela
Received on Tuesday, 18 April 2006 08:39:33 UTC