- From: Drew McDermott <drew.mcdermott@yale.edu>
- Date: Sun, 12 Dec 2004 03:51:17 +0000 (GMT)
- To: public-sws-ig@w3.org
> [Tatiana Vieira] > I need help! I have a process definition in OWL-S that is something like: > > CompositeProcess A composedOf > Sequence > CompositeProcess B composedOf > AtomicProcess C > AtomicProcess D > AtomicProcess E > > AtomicProcess D produces as output a list (subClassOf > &objList;List) of classes X. So, the output of process B is the > output of process C plus this list. However, the AtomicProcess E > receives as input the output of process C and just one class > X. This process must be invoked as many times as are the instances > of class X in the list produced as process D output. How can I > represent this in OWL-S 1.1? Can anyone give me a help? You need a loop, and loops exist only in embryonic form in Owl-S. The main reason for this is that it's been hard enough getting the abstractions right without bringing in loops. Another reason is that as soon as you add loops you've got Turing completeness (presumably), and reasoning about processes becomes much more complex. If we want to automate reasoning, then it seems to be a plausible tactic to focus on processes for which we have reasoning algorithms that might actually work. However, we're obviously going to need some kind of looping processes. This mailing list is as good a forum as any for discussing what they should look like. My own opinion is that it would be better to have a lot of special-purpose loops that come up in the WS domain rather than a few general-purpose control structures. The example you raise is a good starting point. A 'forall' construct that performed a process for each element of a list would work for you (correct?); what are some other good candidate control structures? -- -- Drew McDermott Yale University Computer Science Department All languages have the same syntax as Lisp, but most insist on encrypting it (by the use of grammar).
Received on Sunday, 12 December 2004 05:17:36 UTC