- From: David Martin <martin@AI.SRI.COM>
- Date: Mon, 09 Feb 2004 17:26:13 -0800
- To: public-sws-ig@w3.org
Greetings -- In an earlier discussion on this list, I had proposed 3 new "control constructs" for the OWL-S process model: "Invoke", "Accept", "Select". (See public-sws-thread [OWL-S]: Proposal for 3 new control constructs] here: http://lists.w3.org/Archives/Public/public-sws-ig/2004Jan/0110.html ) In our recent OWL-S telecons, we have reached a consensus *not* to explicitly distinguish between the "invoke" and "accept" of a Web service, at least, not in the way that I proposed earlier. Also, we are putting aside the "select" construct. Instead of distinct "invoke" and "accept" constructs, this message proposes a single new construct, which indicates the "use of" or a "reference to" a Web service that's defined elsewhere. This is in accord with the recognition that we want to maintain a highest (most abstract) level of process description, which states what needs to get done when, but tolerates minimal commitments about where each thing needs to get done, and by whom. (That is, we want to allow it to be left unspecified as to which subprocesses are executed by which participants/roles, and by which distinct enactment engines.) This is *not* to say that these things will never be specified - just that we want to allow a level of description where they may be absent. In fact, we are also thinking in terms of a second, lower, more detailed, style of description (a "middle level", in my mind) in which these kinds of details are added in. But more about that in other messages. Here's an initial strawman proposal for this new construct, which indicates the use of a Web service that's defined elsewhere. It's syntactically about the same as the "invoke" construct proposed earlier -- but it doesn't carry the same implications about what's going to happen where. We've been calling one of these things a "Reference" in conversations, but to me that's not really very helpful, so I'm proposing "Use". Other suggestions are welcome. ("Employ", "enact", "execute", "do", "run", "apply" ?) USE --- The use construct, used something like this: <Use> <process resource="http://..../SomeProcess.owl"> </Use> simply means "The indicated process, defined elsewhere, is used at this point (within a larger process)". For simplicity, I'm assuming here and throughout this message that the specified process model is an atomic process. I also propose a conventional means of binding arguments, that happens inside this construct. Like this: <Use> <process resource="http://..../SomeProcess.owl"> <binding> <formalInput resource="http://..../SomeProcess.owl#Input1"/> <actualInput resource="#Person1"/> </binding> <binding> <formalOutput resource="http://..../SomeProcess.owl#Output1"/> <actualOutput resource="#MyVar43"/> </binding> ... other bindings ... </Use> The "formalInput" and "formalOutput" properties have values that are instances of process:Input or process:Output, respectively. The "actualInput" property has values that are either variables or instances of the type associated with the formalInput. The "actualOutput" property has values that are variables. (Note: variables can include, but are not limited to, inputs and outputs associated with the larger, composite process. The details of variables are being discussed in other e-mail threads.) I will send the OWL declarations, which would go into Process.owl, in a later message. Comments welcome. Thanks, David
Received on Monday, 9 February 2004 20:26:51 UTC