- From: Ale <ale_univ@yahoo.it>
- Date: Tue, 18 Oct 2005 12:35:12 +0200
- To: public-sws-ig@w3.org
just a simple question, look at this code taken from the "OWL-S Semantic
Markup for Web Services" by David Martin e al. :
<process:CompositeProcess rdf:ID="CP">
<process:hasInput rdf:ID="I1"/>
<process:hasOutput rdf:ID="O1"/>
<process:composedOf>
<process:Sequence rdf:ID="CP">
<process:components rdf:parseType="Collection">
<process:Perform rdf:ID="Step1">
<process:process rdf:resource="&aux;#S1"/>
<process:hasDataFrom>
<process:InputBinding>
<process:theParam rdf:resource="&aux;#I11"/>
<process:valueFunction expressionLanguage="&drs;"
rdf:parseType="Literal">
<drs:Functional_term>
<drs:term_function rdf:resource="&arith;#incr"/>
<drs:term_args rdf:parseType="Collection">
<process:valueOf>
<process:theParam rdf:resource="#I1"/>
<process:fromProcess
rdf:resource="#TheParentPerform"/>
</process:valueOf>
</drs:term_args>
</drs:Functional_term>
</process:valueFunction>
</process:InputBinding>
<process:InputBinding>
<process:theParam rdf:resource="&aux;#I12"/>
<process:valueData
xsd:datatype="&xsd;#string"
>Academic</process:valueData>
</process:InputBinding>
</process:hasDataFrom>
</process:Perform>
<process:Perform rdf:ID="Step2">
<process:process rdf:resource="&aux;#S2"/>
<process:hasDataFrom>
<process:Binding>
<process:theParam rdf:resource="&aux;#I21"/>
<process:valueSource>
<process:ValueOf>
<process:theParam rdf:resource="#O11"/>
<process:fromProcess rdf:resource="#Step1"/>
</process:ValueOf>
</process:valueSource>
</process:Binding>
</process:hasDataFrom>
</process:Perform>
</process:components>
<process:Produce>
<process:producedBinding>
<process:OutputBinding>
<process:theParam rdf:resource="#O1"/>
<process:valueFunction expressionLanguage="&drs;"
rdf:parseType="Literal">
<drs:Functional_term>
<drs:term_function rdf:resource="&arith;#times"/>
<drs:term_args rdf:parseType="Collection">
<xsd:Integer rdf:datatype="&xsd;#Float"
>3.14159</xsd:Float>
<drs:Functional_term>
<drs:term_function
rdf:resource="&arith;#max"/>
<drs:term_args rdf:parseType="Collection">
<xsd:Integer rdf:datatype="&xsd;#Integer"
>0</xsd:Integer>
<process:valueOf>
<process:theParam
rdf:resource="#O21"/>
<process:fromProcess
rdf:resource="#S2"/>
</process:valueOf>
</drs:term_args>
</drs:Functional_term>
</drs:term_args>
</drs:Functional_term>
</process:valueFunction>
</process:OutputBinding>
</process:producedBinding>
</process:Sequence>
</process:composedOf>
</process:CompositeProcess>
(Sorry it's a bit long but it's the only good example I've Found....)
They said:
"Produce is a new class used to capture dataflows to the outputs of the
ParentPerform. The outputs can't be declared once and for all, because
in the presence of IfThenElses those outputs will depend on which branch
of the conditional the agent takes. So at the point in a branch where
the data required to compute the output are known, we insert a Produce
pseudo-step to say what the output will be."
OK! but...
is the "process:Produce" ControlConstruct in the right place?????
if "process:Poduce" is meant to be the last "pseudo-step" of the
Sequence Construct, it should go before the </components> tag (because
it should be the last component of the Sequence)..
but if "process:Produce" is meant to be the last "pseudo-step" of the
whole CompositeService it should go after the </Sequence> tag and before
the </composedOf> tag...
anyway it should not be placeed between </components> and
</Sequence>!!!is it right?
So the question is: "should Produce be the last Step of the Sequence
constructoror Should it be the last Step of all the Compositeservice?
thank you
___________________________________
Yahoo! Mail: gratis 1GB per i messaggi e allegati da 10MB
http://mail.yahoo.it
Received on Tuesday, 18 October 2005 10:35:24 UTC