DAML(-S) logic, process:composedOf

Hi,

I have a question that's probably related to DAML rather than DAML-S, but
the example I give is fairly specific.

Why is it that daml:intersectionOf is used, for defining the Class, of the
composedOf property of a CompositeProcess?
Using the following example:

<daml:Class rdf:ID="Expanded_Process">
  <rdfs:subClassOf rdf:resource="&process;#CompositeProcess" />
  <rdfs:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="&process;#composedOf" />
      <daml:toClass>
        <daml:Class>
          <daml:intersectionOf rdf:parseType="daml:collection">
            <daml:Class rdf:about="process:Sequence"/>
            <daml:Restriction> 
              <daml:onProperty rdf:resource="&process;#components"/>
              <daml:toClass>
                <daml:Class>
                  <process:listOfInstancesOf
rdf:parseType="daml:collection">
                    <daml:Class rdf:about="#AtomicProcess"/>
                    <daml:Class rdf:about="#AnotherAtomicProcess"/>
                  </process:listOfInstancesOf>
                </daml:Class>
              </daml:toClass>
            </daml:Restriction>
          </daml:intersectionOf>
        </daml:Class>
      </daml:toClass>
    </daml:Restriction>
  </rdfs:subClassOf>
</daml:Class>

I am getting confused as to why the "normal" method of Class definition
can't be used.
By saying that there is an intersection between the process:Sequence class
(the new Class *is* a process:Sequence), and a restriction on the components
property:

<daml:Class rdf:ID="Expanded_Process">
  <rdfs:subClassOf rdf:resource="&process;#CompositeProcess" />
  <rdfs:subClassOf>
    <daml:Restriction>
      <daml:onProperty rdf:resource="&process;#composedOf" />
      <daml:toClass>
        <daml:Class>
         <rdfs:subClassOf rdf:resource="&process;#Sequence">
         <rdfs:subClassOf>
            <daml:Restriction> 
              <daml:onProperty rdf:resource="&process;#components"/>
              <daml:toClass>
                <daml:Class>
                  <process:listOfInstancesOf
rdf:parseType="daml:collection">
                    <daml:Class rdf:about="#AtomicProcess"/>
                    <daml:Class rdf:about="#AnotherAtomicProcess"/>
                  </process:listOfInstancesOf>
                </daml:Class>
              </daml:toClass>
            </daml:Restriction>
          </rdfs:subClassOf>
        </daml:Class>
      </daml:toClass>
    </daml:Restriction>
  </rdfs:subClassOf>
</daml:Class>

Using this definition, iteration isn't required to parse the composedOf
Class definition.

I feel as though I'm missing something fundamental here, to do with the
logic of the definition.

Many thanks,
Ed
_____________________________________________
Edward Buckley
BTexact Technologies (www.btexact.com)

This electronic message contains information from British Telecommunications
plc which may be privileged or confidential. The information is intended to
be for the use of the individual(s) or entity named above. If you are not
the intended recipient be aware that any disclosure, copying, distribution
or use of the contents of this information is prohibited. If you have
received this electronic message in error, please notify us by telephone or
email (to the numbers or address above) immediately. 

Received on Thursday, 26 September 2002 12:46:52 UTC