Doubts about the variables in the process model of OWL-S 1.1

hi,

Here are some questions :
(1)
What do the variables defined by "hasLocal" and "hasResultVar" 
mean? Existentially qualified variable? 

(2)
The following is from congo example's process model when defining
the atomic process "LocateBook":
-----------------------------------------------------------------
<process:inCondition>
 <expr:SWRL-Condition rdf:ID="BookOutOfStock">
  <expr:expressionBody rdf:parseType="Literal">
    <swrlx:AtomList>
      <rdf:first>
        <swrlx:DatavaluedPropertyAtom>
          <swrlx:propertyPredicate
rdf:resource="http://www.daml.org/services/owl-s/1.1/ProfileHierarchy.owl#title"
/>
          <swrlx:argument1>
            <swrlx:Variable rdf:ID="#aBook" /> 
          </swrlx:argument1>
          <swrlx:argument2 rdf:resource="#LocateBookBookName" /> 
        </swrlx:DatavaluedPropertyAtom>
      </rdf:first>
      <rdf:rest>
        <swrlx:AtomList>
          <rdf:first>
            <swrlx:ClassAtom>
              <swrlx:classPredicate rdf:resource="#OutOfStockBook" /> 
                <swrlx:argument1 rdf:resource="#aBook" /> 
            </swrlx:ClassAtom>
          </rdf:first>
          <rdf:rest
rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" />
        </swrlx:AtomList>
      </rdf:rest>
    </swrlx:AtomList>
  </expr:expressionBody>
 </expr:SWRL-Condition>
</process:inCondition>
-----------------------------------------------------------------

What does the variable "#aBook" mean?  Universally qualified variable?

(3)
The following is from congo example's process model when defining
the composite process "SignInAlternatives":
-----------------------------------------------------------------
- <process:hasResult>
- <process:Result>
- <process:inCondition>
- <expr:SWRL-Condition rdf:ID="SignInAlternativesAcctExists">
  <rdfs:label>hasAcctID(SignInAlternativesSignInData,
SignInAlternativesAcctID)</rdfs:label>
  <rdfs:comment>If an account already exists, sign-in operation will
be performed and returned acct ID willbe used</rdfs:comment>
  <expr:expressionLanguage
rdf:resource="http://www.daml.org/services/owl-s/1.1/generic/Expression.owl#SWRL"
/>
- <expr:expressionBody rdf:parseType="Literal">
- <swrlx:AtomList>
- <rdf:first>
- <swrlx:IndividualPropertyAtom>
  <swrlx:propertyPredicate rdf:resource="#hasAcctID" /> 
  <swrlx:argument1 rdf:resource="#SignInAlternativesSignInData" /> 
  <swrlx:argument2 rdf:resource="#SignInAlternativesAcctID" /> 
  </swrlx:IndividualPropertyAtom>
  </rdf:first>
  <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" /> 
  </swrlx:AtomList>
  </expr:expressionBody>
  </expr:SWRL-Condition>
  </process:inCondition>
- <process:withOutput>
- <process:OutputBinding>
  <process:toParam rdf:resource="#SignInAlternativesAcctID" /> 
- <process:valueSource>
- <process:ValueOf>
  <process:theVar rdf:resource="#SignInSequenceAcctID" /> 
  <process:fromProcess rdf:resource="#SignInSequencePerform" /> 
  </process:ValueOf>
  </process:valueSource>
  </process:OutputBinding>
  </process:withOutput>
  </process:Result>
  </process:hasResult>
-----------------------------------------------------------------

I notice that "#SignInAlternativesAcctID" is an output parameter of 
the process "#SignInAlternatives". However, it occurs in the condition
of the output. How to evaluate this condition before execution? 

(4) The last question is not related with variables:
I still can't understand the "Choice" structure. What's the criteria
of choosing the execution branches in it? Is it up to the agent? 

-- 
Best regards! 

Manshan Lin (林满山)
Email: lmshill@hotmail.com;lmshill@gmail.com;lms-hill@21cn.com
Affiliation: School of Computer Science and Engineering, the South
China University of Technology
Phone: (+86)13711287277
2005-01-05
----------------------
            \ " 
  ___0__/   |
       /_       |
 .__/   \_.    |

Received on Wednesday, 5 January 2005 09:18:48 UTC