<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema
targetNamespace="http://www.omg.org/spec/BPDM/20080501/CommonInfrastructure"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xmi="http://schema.omg.org/spec/XMI/2.1"
xmlns:infra="http://www.omg.org/spec/BPDM/20080501/CommonInfrastructure"
>
  <xsd:import namespace="http://schema.omg.org/spec/XMI/2.1" schemaLocation="xmi_infra.xsd"/>
  <xsd:include schemaLocation="CompositionModel.xsd"/>

  <xsd:complexType name="Happening" abstract="false" mixed="false" id="id4C69CCFB-F6AD-4B43-B12D-27D85602D049" >
      <xsd:annotation>
        <xsd:documentation>
          A Happening is a Classifier for dynamic entities.
        </xsd:documentation>
      </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="infra:Classifier"/>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="Happening" type="infra:Happening" />

  <xsd:complexType name="CourseEvent" abstract="false" mixed="false" id="idE9482F09-F735-4366-B0D9-75BBA4C926F7" >
      <xsd:annotation>
        <xsd:documentation>
          A Course Event is a kind of Event that occurs as part of the lifecycle of a  Course, such as Start Event, End Event.
The Common Infrastructure provides a predefined library of Course Events.

        </xsd:documentation>
      </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="infra:Event"/>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="CourseEvent" type="infra:CourseEvent" />

  <xsd:complexType name="HappeningPart" abstract="true" mixed="false" id="id9EA238D3-61AF-488A-93F2-4EECDA940174" >
      <xsd:annotation>
        <xsd:documentation>
          A Happening Part is a kind of  Course Part  that is also a Typed Part where the type is a Happening. It is a stage or interval in a development or Course.
Happening Parts are  different from other Course Parts as they are the only one that have occurence trace at runtime.
        </xsd:documentation>
      </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="infra:CoursePart">
        <xsd:choice maxOccurs="unbounded" minOccurs="0">
          <xsd:element name="selectionRule" type="infra:SelectorSpecification" maxOccurs="unbounded" minOccurs="0" />
          <xsd:element name="type" maxOccurs="1" minOccurs="0" >
            <xsd:complexType>
            <xsd:complexContent>
              <xsd:restriction base="xmi:LinkAttribs">
                  <xsd:attribute ref="xmi:label" use="optional" />
                  <xsd:attribute name="href" type="xsd:string" use="optional" />
                  <xsd:attribute ref="xmi:idref" use="optional"/>
                  <xsd:attribute ref="xmi:referenceTypeID" use="optional" fixed="idB3CC3287-3CF2-4577-A43D-BFCBBA1AC2FB" />
              </xsd:restriction>
            </xsd:complexContent>
          </xsd:complexType>
          </xsd:element>
          <xsd:element name="subsettedProperty" maxOccurs="unbounded" minOccurs="0" >
            <xsd:complexType>
            <xsd:complexContent>
              <xsd:restriction base="xmi:LinkAttribs">
                  <xsd:attribute ref="xmi:label" use="optional" />
                  <xsd:attribute name="href" type="xsd:string" use="optional" />
                  <xsd:attribute ref="xmi:idref" use="optional"/>
                  <xsd:attribute ref="xmi:referenceTypeID" use="optional" fixed="id454DCB98-19A4-46AB-B5BA-7EA92119F17F" />
              </xsd:restriction>
            </xsd:complexContent>
          </xsd:complexType>
          </xsd:element>
          <xsd:element name="defaultValue" type="infra:ValueSpecification" maxOccurs="1" minOccurs="0" />
          <xsd:element name="predecessorSuccessionCondition" maxOccurs="1" minOccurs="1" >
            <xsd:complexType>
            <xsd:complexContent>
              <xsd:restriction base="xmi:LinkAttribs">
                  <xsd:attribute ref="xmi:label" use="optional" default="One Succession"/>
                  <xsd:attribute name="href" type="xsd:string" use="optional" default="http://www.omg.org/spec/bpmn/20071201/BPMNLibrary.xml#idA75333C6-B60F-4C05-84E3-2274AB92EA29"/>
                  <xsd:attribute ref="xmi:idref" use="optional"/>
                  <xsd:attribute ref="xmi:referenceTypeID" use="optional" fixed="idA38EBCE7-228B-4D29-ACFD-9FE9FF8CBFD4" />
              </xsd:restriction>
            </xsd:complexContent>
          </xsd:complexType>
          </xsd:element>
          <xsd:element name="successorSuccessionCondition" maxOccurs="1" minOccurs="1" >
            <xsd:complexType>
            <xsd:complexContent>
              <xsd:restriction base="xmi:LinkAttribs">
                  <xsd:attribute ref="xmi:label" use="optional" default="All Successions"/>
                  <xsd:attribute name="href" type="xsd:string" use="optional" default="http://www.omg.org/spec/bpmn/20071201/BPMNLibrary.xml#idF487713F-7353-41CA-9CA4-7DC3A8035A3C"/>
                  <xsd:attribute ref="xmi:idref" use="optional"/>
                  <xsd:attribute ref="xmi:referenceTypeID" use="optional" fixed="idA38EBCE7-228B-4D29-ACFD-9FE9FF8CBFD4" />
              </xsd:restriction>
            </xsd:complexContent>
          </xsd:complexType>
          </xsd:element>
        </xsd:choice>
        <xsd:attribute name="isReadOnly" type="infra:Boolean" default="false" />
        <xsd:attribute name="isComposite" type="infra:Boolean" default="false" />
        <xsd:attribute name="isDerived" type="infra:Boolean" default="false" />
        <xsd:attribute name="isOrdered" type="infra:Boolean" default="false" />
        <xsd:attribute name="isUnique" type="infra:Boolean" default="true" />
        <xsd:attribute name="lower" type="infra:Integer" default="1" />
        <xsd:attribute name="upper" type="infra:UnlimitedNatural" default="1" />
        <xsd:attribute name="isDerivedUnion" type="infra:Boolean" default="false" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <xsd:complexType name="EventCondition" abstract="true" mixed="false" id="idE42411FE-D3BE-4D9C-90E6-889446BD5D3A" >
      <xsd:annotation>
        <xsd:documentation>
          An Event Condition is a Condition for specifying that an Event must occur in the context of a particular Happening Over Time for the condition to hold.
For instance, a condition can be on the eruption (instance of Event) of a particular volcano (instance of Happening Over Time).
        </xsd:documentation>
      </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="infra:Condition">
        <xsd:choice maxOccurs="unbounded" minOccurs="0">
        </xsd:choice>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="EventCondition" type="infra:EventCondition" />
  
  <xsd:complexType name="HappeningOverTime" abstract="false" mixed="false" id="id46CB5401-C45E-4DDD-8B3E-63B053E28CA1" >
      <xsd:annotation>
        <xsd:documentation>
          A Happening Over Time is a Happening for dynamic entities that are treated as extending over time and that are contexts for Events.
        </xsd:documentation>
      </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="infra:Happening">
        <xsd:choice maxOccurs="unbounded" minOccurs="0">
          <xsd:element name="inducedEvent" maxOccurs="unbounded" minOccurs="0" >
            <xsd:complexType>
            <xsd:complexContent>
              <xsd:restriction base="xmi:LinkAttribs">
                  <xsd:attribute ref="xmi:label" use="optional" />
                  <xsd:attribute name="href" type="xsd:string" use="optional" />
                  <xsd:attribute ref="xmi:idref" use="optional"/>
                  <xsd:attribute ref="xmi:referenceTypeID" use="optional" fixed="id201EADC9-C467-49FC-A982-3ED1E7A94E44" />
              </xsd:restriction>
            </xsd:complexContent>
          </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="HappeningOverTime" type="infra:HappeningOverTime" />
  
  <xsd:complexType name="ImmediateSuccession" abstract="true" mixed="false" id="id6147E101-9C95-4C60-AE84-D750EA231A1E" >
      <xsd:annotation>
        <xsd:documentation>
          A Immediate Succession is a kind of Succession that has the following execution semantic: successor immediately follows its predecessor 
        </xsd:documentation>
      </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="infra:Succession">
        <xsd:choice maxOccurs="unbounded" minOccurs="0">
        </xsd:choice>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <xsd:complexType name="Gateway" abstract="true" mixed="false" id="idFF18D68C-644B-4BAB-9ABE-1AA2A2723B9A" >
      <xsd:annotation>
        <xsd:documentation>
          A Gateway is a kind of Course Part representing potentially complex specifications of how dynamic individuals playing Happening Parts are ordered in time.  The particular specifications are given in subtypes. At runtime, Gateways don&apos;t have any execution trace. 
        </xsd:documentation>
      </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="infra:CoursePart">
        <xsd:choice maxOccurs="unbounded" minOccurs="0">
        </xsd:choice>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <xsd:complexType name="FactChangeCondition" abstract="false" mixed="false" id="id026CC3CF-53CC-453C-A2A8-A973A58D9CAC" >
      <xsd:annotation>
        <xsd:documentation>
          A Fact Change Condition refers to general propositions becoming true or false due to changes in M0 facts. It is used to integrate with models of rules.
        </xsd:documentation>
      </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="infra:EventCondition">
        <xsd:choice maxOccurs="unbounded" minOccurs="0">
          <xsd:element name="conditioningFactChange" maxOccurs="1" minOccurs="1" >
            <xsd:complexType>
            <xsd:complexContent>
              <xsd:restriction base="xmi:LinkAttribs">
                  <xsd:attribute ref="xmi:label" use="optional" />
                  <xsd:attribute name="href" type="xsd:string" use="optional" />
                  <xsd:attribute ref="xmi:idref" use="optional"/>
                  <xsd:attribute ref="xmi:referenceTypeID" use="optional" fixed="id3790085F-9D05-4674-B357-3C8D89BD0FDC" />
              </xsd:restriction>
            </xsd:complexContent>
          </xsd:complexType>
          </xsd:element>
          <xsd:element name="conditioningStatement" maxOccurs="1" minOccurs="1" >
            <xsd:complexType>
            <xsd:complexContent>
              <xsd:restriction base="xmi:LinkAttribs">
                  <xsd:attribute ref="xmi:label" use="optional" />
                  <xsd:attribute name="href" type="xsd:string" use="optional" />
                  <xsd:attribute ref="xmi:idref" use="optional"/>
                  <xsd:attribute ref="xmi:referenceTypeID" use="optional" fixed="idE9C50227-8E9D-4523-A9D4-8945CE164C57" />
              </xsd:restriction>
            </xsd:complexContent>
          </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="FactChangeCondition" type="infra:FactChangeCondition" />
  
  <xsd:complexType name="TimeEvent" abstract="false" mixed="false" id="id9DDE8827-7FCD-4526-A8A1-2CEACD214DBA" >
      <xsd:annotation>
        <xsd:documentation>
          A Time Event specifies a point in time that is a source of interest. 
        </xsd:documentation>
      </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="infra:Event">
        <xsd:choice maxOccurs="unbounded" minOccurs="0">
          <xsd:element name="timeEventProducer" maxOccurs="1" minOccurs="0" >
            <xsd:complexType>
            <xsd:complexContent>
              <xsd:restriction base="xmi:LinkAttribs">
                  <xsd:attribute ref="xmi:label" use="optional" />
                  <xsd:attribute name="href" type="xsd:string" use="optional" />
                  <xsd:attribute ref="xmi:idref" use="optional"/>
                  <xsd:attribute ref="xmi:referenceTypeID" use="optional" fixed="id6E1F2A1B-1C0B-4CCD-8757-EB2D0C8B3441" />
              </xsd:restriction>
            </xsd:complexContent>
          </xsd:complexType>
          </xsd:element>
        </xsd:choice>
        <xsd:attribute name="timeExpression" type="infra:String" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="TimeEvent" type="infra:TimeEvent" />
  
  <xsd:complexType name="CycleEvent" abstract="false" mixed="false" id="id0D54D6F2-0396-471F-BEFE-F4A4856100EB" >
      <xsd:annotation>
        <xsd:documentation>
          A Cycle Event is a kind of Time Event that define the occurrence of a cycle in time.
        </xsd:documentation>
      </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="infra:TimeEvent">
        <xsd:choice maxOccurs="unbounded" minOccurs="0">
        </xsd:choice>
        <xsd:attribute name="timedatePeriod" type="infra:UnlimitedNatural" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="CycleEvent" type="infra:CycleEvent" />
  
  <xsd:complexType name="RelativeTimeDateEvent" abstract="false" mixed="false" id="idD73BB675-E38E-4A55-9D04-FBDE854F44D0" >
      <xsd:annotation>
        <xsd:documentation>
          A Relative TimeDate Event is a kind of TimeDate Event that defines a change in time for a relative start point in time.
        </xsd:documentation>
      </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="infra:TimeEvent">
        <xsd:choice maxOccurs="unbounded" minOccurs="0">
          <xsd:element name="startingEvent" maxOccurs="1" minOccurs="1" >
            <xsd:complexType>
            <xsd:complexContent>
              <xsd:restriction base="xmi:LinkAttribs">
                  <xsd:attribute ref="xmi:label" use="optional" />
                  <xsd:attribute name="href" type="xsd:string" use="optional" />
                  <xsd:attribute ref="xmi:idref" use="optional"/>
                  <xsd:attribute ref="xmi:referenceTypeID" use="optional" fixed="id201EADC9-C467-49FC-A982-3ED1E7A94E44" />
              </xsd:restriction>
            </xsd:complexContent>
          </xsd:complexType>
          </xsd:element>
        </xsd:choice>
        <xsd:attribute name="duration" type="infra:UnlimitedNatural" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="RelativeTimeDateEvent" type="infra:RelativeTimeDateEvent" />
  
  <xsd:complexType name="ParallelJoin" abstract="false" mixed="false" id="id8863D3B4-A5C5-4A89-B5F7-DB0E7DEBE6B3" >
      <xsd:annotation>
        <xsd:documentation>
          Parallel Join is a Gateway indicating that the parts (in the sense of individuals) following it happen after the parts preceding them

        </xsd:documentation>
      </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="infra:Gateway">
        <xsd:choice maxOccurs="unbounded" minOccurs="0">
        </xsd:choice>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <xsd:complexType name="TimeDateEvent" abstract="false" mixed="false" id="id4531326C-F968-4182-B7D4-8E77C0EB310E" >
      <xsd:annotation>
        <xsd:documentation>
          A TimeDate Event is a kind of Time Event that manifest a date or time change.
        </xsd:documentation>
      </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="infra:TimeEvent">
        <xsd:choice maxOccurs="unbounded" minOccurs="0">
        </xsd:choice>
        <xsd:attribute name="timedate" type="infra:UnlimitedNatural" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="TimeDateEvent" type="infra:TimeDateEvent" />
  
  <xsd:complexType name="FactChange" abstract="false" mixed="false" id="id3790085F-9D05-4674-B357-3C8D89BD0FDC" >
      <xsd:annotation>
        <xsd:documentation>
          A Fact Change is a kind of Event that manifests a change in the evaluation of a Statement.


        </xsd:documentation>
      </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="infra:Event">
        <xsd:choice maxOccurs="unbounded" minOccurs="0">
        </xsd:choice>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="FactChange" type="infra:FactChange" />
  
  <xsd:complexType name="ExclusiveSplit" abstract="false" mixed="false" id="id723A2244-710A-4796-AF59-468E54691DD0" >
      <xsd:annotation>
        <xsd:documentation>
          Exclusive Split is a Gateway indicating that exactly one of the part following it will occur after the part preceding it
        </xsd:documentation>
      </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="infra:Gateway">
        <xsd:choice maxOccurs="unbounded" minOccurs="0">
          <xsd:element name="default" maxOccurs="1" minOccurs="0" >
            <xsd:complexType>
            <xsd:complexContent>
              <xsd:restriction base="xmi:LinkAttribs">
                  <xsd:attribute ref="xmi:label" use="optional" />
                  <xsd:attribute name="href" type="xsd:string" use="optional" />
                  <xsd:attribute ref="xmi:idref" use="optional"/>
                  <xsd:attribute ref="xmi:referenceTypeID" use="optional" fixed="id15F569D3-5415-4851-9908-53637497D5DC" />
              </xsd:restriction>
            </xsd:complexContent>
          </xsd:complexType>
          </xsd:element>
          <xsd:element name="splittingExpression" maxOccurs="1" minOccurs="0" >
            <xsd:complexType>
            <xsd:complexContent>
              <xsd:restriction base="xmi:LinkAttribs">
                  <xsd:attribute ref="xmi:label" use="optional" />
                  <xsd:attribute name="href" type="xsd:string" use="optional" />
                  <xsd:attribute ref="xmi:idref" use="optional"/>
                  <xsd:attribute ref="xmi:referenceTypeID" use="optional" fixed="id12198AF3-CD82-4781-A72A-06D340B458C0" />
              </xsd:restriction>
            </xsd:complexContent>
          </xsd:complexType>
          </xsd:element>
          <xsd:element name="ownedExpression" type="infra:ValueSpecification" maxOccurs="1" minOccurs="0" />
        </xsd:choice>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <xsd:complexType name="Succession" abstract="false" mixed="false" id="id15F569D3-5415-4851-9908-53637497D5DC" >
      <xsd:annotation>
        <xsd:documentation>
          A Succession is a Directed Part Connection that organizes Course Parts in series in the context of a Course. A Succession indicates that one Course Part &quot;follows&quot; another in time, and possibly establishes constraints on such followings. It can order the Event Part of its Happening Parts such as their Start or End.
Succession allows any combination of Event Part to be connected.
End -&gt; Start
Start  -&gt; Start
Start -&gt; Abort
etc.
A Succession doesn&apos;t need to have Happening Part on its ends, it can have untyped course parts also, such as Gateway, but it must have something on each end.  
For convenience, a Succession that does not specify source event part or target event part   will have the same effect as a Succession where these are respectively the End and Start .
        </xsd:documentation>
      </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="infra:DirectedPartConnection">
        <xsd:choice maxOccurs="unbounded" minOccurs="0">
          <xsd:element name="predecessor" maxOccurs="1" minOccurs="1" >
            <xsd:complexType>
            <xsd:complexContent>
              <xsd:restriction base="xmi:LinkAttribs">
                  <xsd:attribute ref="xmi:label" use="optional" />
                  <xsd:attribute name="href" type="xsd:string" use="optional" />
                  <xsd:attribute ref="xmi:idref" use="optional"/>
                  <xsd:attribute ref="xmi:referenceTypeID" use="optional" fixed="id0410717D-7F93-4196-839B-B02EBD4F6A3B" />
              </xsd:restriction>
            </xsd:complexContent>
          </xsd:complexType>
          </xsd:element>
          <xsd:element name="successor" maxOccurs="1" minOccurs="1" >
            <xsd:complexType>
            <xsd:complexContent>
              <xsd:restriction base="xmi:LinkAttribs">
                  <xsd:attribute ref="xmi:label" use="optional" />
                  <xsd:attribute name="href" type="xsd:string" use="optional" />
                  <xsd:attribute ref="xmi:idref" use="optional"/>
                  <xsd:attribute ref="xmi:referenceTypeID" use="optional" fixed="id0410717D-7F93-4196-839B-B02EBD4F6A3B" />
              </xsd:restriction>
            </xsd:complexContent>
          </xsd:complexType>
          </xsd:element>
          <xsd:element name="targetEventPart" maxOccurs="1" minOccurs="0" >
            <xsd:complexType>
            <xsd:complexContent>
              <xsd:restriction base="xmi:LinkAttribs">
                  <xsd:attribute ref="xmi:label" use="optional" />
                  <xsd:attribute name="href" type="xsd:string" use="optional" />
                  <xsd:attribute ref="xmi:idref" use="optional"/>
                  <xsd:attribute ref="xmi:referenceTypeID" use="optional" fixed="id74319698-5771-475C-BB8C-DDCA8EA124CF" />
              </xsd:restriction>
            </xsd:complexContent>
          </xsd:complexType>
          </xsd:element>
          <xsd:element name="sourceEventPart" maxOccurs="1" minOccurs="0" >
            <xsd:complexType>
            <xsd:complexContent>
              <xsd:restriction base="xmi:LinkAttribs">
                  <xsd:attribute ref="xmi:label" use="optional" />
                  <xsd:attribute name="href" type="xsd:string" use="optional" />
                  <xsd:attribute ref="xmi:idref" use="optional"/>
                  <xsd:attribute ref="xmi:referenceTypeID" use="optional" fixed="id74319698-5771-475C-BB8C-DDCA8EA124CF" />
              </xsd:restriction>
            </xsd:complexContent>
          </xsd:complexType>
          </xsd:element>
          <xsd:element name="successorGateway" maxOccurs="1" minOccurs="0" >
            <xsd:complexType>
            <xsd:complexContent>
              <xsd:restriction base="xmi:LinkAttribs">
                  <xsd:attribute ref="xmi:label" use="optional" />
                  <xsd:attribute name="href" type="xsd:string" use="optional" />
                  <xsd:attribute ref="xmi:idref" use="optional"/>
                  <xsd:attribute ref="xmi:referenceTypeID" use="optional" fixed="idFF18D68C-644B-4BAB-9ABE-1AA2A2723B9A" />
              </xsd:restriction>
            </xsd:complexContent>
          </xsd:complexType>
          </xsd:element>
          <xsd:element name="predecessorGateway" maxOccurs="1" minOccurs="0" >
            <xsd:complexType>
            <xsd:complexContent>
              <xsd:restriction base="xmi:LinkAttribs">
                  <xsd:attribute ref="xmi:label" use="optional" />
                  <xsd:attribute name="href" type="xsd:string" use="optional" />
                  <xsd:attribute ref="xmi:idref" use="optional"/>
                  <xsd:attribute ref="xmi:referenceTypeID" use="optional" fixed="idFF18D68C-644B-4BAB-9ABE-1AA2A2723B9A" />
              </xsd:restriction>
            </xsd:complexContent>
          </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <xsd:complexType name="TimeEventCondition" abstract="false" mixed="false" id="id1CCB58A9-0FF3-4092-8F82-64460DF90073" >
      <xsd:annotation>
        <xsd:documentation>
          A Time Event Condition is a kind of Event Condition that is based on the occurrence of a Time Event. A Time Event Condition  is specified by referring to a Clock.
        </xsd:documentation>
      </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="infra:EventCondition">
        <xsd:choice maxOccurs="unbounded" minOccurs="0">
          <xsd:element name="conditioningTimeEvent" maxOccurs="1" minOccurs="1" >
            <xsd:complexType>
            <xsd:complexContent>
              <xsd:restriction base="xmi:LinkAttribs">
                  <xsd:attribute ref="xmi:label" use="optional" />
                  <xsd:attribute name="href" type="xsd:string" use="optional" />
                  <xsd:attribute ref="xmi:idref" use="optional"/>
                  <xsd:attribute ref="xmi:referenceTypeID" use="optional" fixed="id9DDE8827-7FCD-4526-A8A1-2CEACD214DBA" />
              </xsd:restriction>
            </xsd:complexContent>
          </xsd:complexType>
          </xsd:element>
          <xsd:element name="conditioningClock" maxOccurs="1" minOccurs="0" >
            <xsd:complexType>
            <xsd:complexContent>
              <xsd:restriction base="xmi:LinkAttribs">
                  <xsd:attribute ref="xmi:label" use="optional" />
                  <xsd:attribute name="href" type="xsd:string" use="optional" />
                  <xsd:attribute ref="xmi:idref" use="optional"/>
                  <xsd:attribute ref="xmi:referenceTypeID" use="optional" fixed="id6E1F2A1B-1C0B-4CCD-8757-EB2D0C8B3441" />
              </xsd:restriction>
            </xsd:complexContent>
          </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="TimeEventCondition" type="infra:TimeEventCondition" />
  
  <xsd:complexType name="ExclusiveJoin" abstract="false" mixed="false" id="id11409B21-DD3B-4AB1-BA2A-59FBD29D0936" >
      <xsd:annotation>
        <xsd:documentation>
          An Exclusive Join is a Gateway indicating that the part following it will occur after each part that occurs preceding it. 

        </xsd:documentation>
      </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="infra:Gateway">
        <xsd:choice maxOccurs="unbounded" minOccurs="0">
        </xsd:choice>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <xsd:complexType name="CoursePart" abstract="true" mixed="false" id="id0410717D-7F93-4196-839B-B02EBD4F6A3B" >
      <xsd:annotation>
        <xsd:documentation>
          A Course Part is a kind of Connectable Element that defines a stage in a Course.
It can be connected to Succession as a predecessor or successor element.
        </xsd:documentation>
      </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="infra:Part">
        <xsd:choice maxOccurs="unbounded" minOccurs="0">
        </xsd:choice>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <xsd:complexType name="Course" abstract="false" mixed="false" id="idF123CFE4-713F-44CD-9E98-B41F7CE004CD" >
      <xsd:annotation>
        <xsd:documentation>
          A Course is an ordered Succession of Happening Parts
A Course is a Composite that has connections representing that one part of the course &quot;follows&quot; another in time, and possibly establishes constraints on such followings (Succession).
        </xsd:documentation>
      </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="infra:Composite">
        <xsd:choice maxOccurs="unbounded" minOccurs="0">
          <xsd:element name="inducedEvent" maxOccurs="unbounded" minOccurs="0" >
            <xsd:complexType>
            <xsd:complexContent>
              <xsd:restriction base="xmi:LinkAttribs">
                  <xsd:attribute ref="xmi:label" use="optional" />
                  <xsd:attribute name="href" type="xsd:string" use="optional" />
                  <xsd:attribute ref="xmi:idref" use="optional"/>
                  <xsd:attribute ref="xmi:referenceTypeID" use="optional" fixed="id201EADC9-C467-49FC-A982-3ED1E7A94E44" />
              </xsd:restriction>
            </xsd:complexContent>
          </xsd:complexType>
          </xsd:element>
          <xsd:element name="ownedEventPart" type="infra:EventPart" maxOccurs="unbounded" minOccurs="0" />
          <xsd:element name="ownedSuccession" type="infra:Succession" maxOccurs="unbounded" minOccurs="0" />
          <xsd:element name="ownedGateway" type="infra:Gateway" maxOccurs="unbounded" minOccurs="0" />
        </xsd:choice>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="Course" type="infra:Course" />
  
  <xsd:complexType name="Clock" abstract="false" mixed="false" id="id6E1F2A1B-1C0B-4CCD-8757-EB2D0C8B3441" >
      <xsd:annotation>
        <xsd:documentation>
          A Clock is a kind of Happening Over Time that produces Time Events.
        </xsd:documentation>
      </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="infra:HappeningOverTime">
        <xsd:choice maxOccurs="unbounded" minOccurs="0">
        </xsd:choice>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="Clock" type="infra:Clock" />
  
  <xsd:complexType name="EventPart" abstract="false" mixed="false" id="id74319698-5771-475C-BB8C-DDCA8EA124CF" >
      <xsd:annotation>
        <xsd:documentation>
          An Event Part identifies Event (such as Start Event or End Event) for an individual Course.  An Event Part is also a Happening Part, enabling it to be connected by Successions. 
        </xsd:documentation>
      </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="infra:HappeningPart">
        <xsd:choice maxOccurs="unbounded" minOccurs="0">
          <xsd:element name="eventPartType" maxOccurs="1" minOccurs="1" >
            <xsd:complexType>
            <xsd:complexContent>
              <xsd:restriction base="xmi:LinkAttribs">
                  <xsd:attribute ref="xmi:label" use="optional" />
                  <xsd:attribute name="href" type="xsd:string" use="optional" />
                  <xsd:attribute ref="xmi:idref" use="optional"/>
                  <xsd:attribute ref="xmi:referenceTypeID" use="optional" fixed="id201EADC9-C467-49FC-A982-3ED1E7A94E44" />
              </xsd:restriction>
            </xsd:complexContent>
          </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>

  <xsd:complexType name="Event" abstract="false" mixed="false" id="id201EADC9-C467-49FC-A982-3ED1E7A94E44" >
      <xsd:annotation>
        <xsd:documentation>
          An Event is a Happening for dynamic entities occurring at a point in time.
        </xsd:documentation>
      </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="infra:Happening">
        <xsd:choice maxOccurs="unbounded" minOccurs="0">
          <xsd:element name="eventContext" maxOccurs="unbounded" minOccurs="0" >
            <xsd:complexType>
            <xsd:complexContent>
              <xsd:restriction base="xmi:LinkAttribs">
                  <xsd:attribute ref="xmi:label" use="optional" />
                  <xsd:attribute name="href" type="xsd:string" use="optional" />
                  <xsd:attribute ref="xmi:idref" use="optional"/>
                  <xsd:attribute ref="xmi:referenceTypeID" use="optional" fixed="id46CB5401-C45E-4DDD-8B3E-63B053E28CA1" />
              </xsd:restriction>
            </xsd:complexContent>
          </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="Event" type="infra:Event" />

  <xsd:complexType name="ParallelSplit" abstract="false" mixed="false" id="id7D9B7A61-748E-47C5-B0D0-DC33CA2DEF99" >
      <xsd:annotation>
        <xsd:documentation>
          Parallel Split is a Gateway that indicates that the dynamic individuals playing parts following them happen after the dynamic individuals playing the part preceding them.
        </xsd:documentation>
      </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="infra:Gateway">
        <xsd:choice maxOccurs="unbounded" minOccurs="0">
        </xsd:choice>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>

</xsd:schema>