Restricting input depending on output

Hi,

I am working on a user-centric broker agent in the context of a national 
research project in Germany (see the extended abstract submitted to KIMAS'03 
for a summary of our ideas about the broker agent under 
http://www.zgdv.de/departments/z3/Z3Staff/stazari/index_html_en).

I have a problem regarding the flow control in composite processes (more 
precisely in a simple sequence without any preconditions and effects):  How 
can I specify that one of the inputs of an atomic process must be a subset 
of one of the outputs of the preceeding atomic process?

Consider the following example:

   <daml:Class rdf:ID="GetPostitCompositionPrerequisites">
     <daml:subClassOf rdf:resource="&process;#AtomicProcess"/>
     <daml:subClassOf>
       <daml:Restriction>
         <daml:onProperty rdf:resource="#availableLocationList_Out"/>
 <daml:toClass>
           <daml:Class>
             <process:listOfInstancesOf rdf:resource="#Location"/>
   </daml:Class>
 </daml:toClass>
       </daml:Restriction>
     </daml:subClassOf>
   </daml:Class>

   <daml:Property rdf:ID="availableLocationList_Out">
     <daml:subPropertyOf rdf:resource="&process;#output"/>
     <daml:domain rdf:resource="#GetPostitCompositionPrerequisites"/>
     <daml:range rdf:resource="&daml;#List"/>
   </daml:Property>

   <daml:Class rdf:ID="StickPostit">
     <daml:subClassOf rdf:resource="&process;#AtomicProcess"/>
     <daml:subClassOf>
       <daml:Restriction>
         <daml:onProperty rdf:resource="#selectedLocationList_In"/>
 <daml:toClass>
           <daml:Class>
             <process:listOfInstancesOf rdf:resource="#Location"/>
   </daml:Class>
 </daml:toClass>
       </daml:Restriction>
     </daml:subClassOf>
   </daml:Class>

   <daml:Property rdf:ID="selectedLocationList_In">
     <daml:subPropertyOf rdf:resource="&process;#input"/>
     <daml:domain rdf:resource="#StickPostit"/>
     <daml:range rdf:resource="&daml;#List"/>
   </daml:Property>

How can I formulate that a concrete value given for selectedLocationList_In 
within a concrete sequence of these two processes must be a subset of the 
concrete value delivered for availableLocationList_Out?

Thanks a lot,

-- Mohammad-Reza Tazari (Saied.Tazari@zgdv.de)
-- Research associate at Dept. Mobile Information Visualization
-- Computer Graphics Center (ZGDV e.V.)
-- Fraunhoferstrasse 5, 64283 Darmstadt, Germany
-- Tel.: +49-6151-155618
-- Fax:  +49-6151-155451

Received on Tuesday, 11 March 2003 02:50:58 UTC