﻿<?xml version="1.0" encoding="utf-8"?>
<modelStoreModel xmlns:dm0="http://schemas.microsoft.com/VisualStudio/2008/DslTools/Core" xmlns:dm1="http://schemas.microsoft.com/dsltools/Kernel" xmlns:dm2="http://schemas.microsoft.com/dsltools/Component" xmlns:dm3="http://schemas.microsoft.com/dsltools/Activity" xmlns:dm4="http://schemas.microsoft.com/dsltools/UseCase" xmlns:dm5="http://schemas.microsoft.com/dsltools/Interaction" xmlns:dm6="http://schemas.microsoft.com/dsltools/UmlModelLibrary" xmlns:dm7="http://schemas.microsoft.com/dsltools/UmlDiagrams" xmlns:dm8="http://schemas.microsoft.com/dsltools/LogicalClassDesigner"
  dslVersion="1.0.0.0"
  Id="312b96e2-a91b-4b04-ae03-8737c37e32e2"
  name="Goudkoorts.Model" xmlns="http://schemas.microsoft.com/dsltools/ModelStore">
  <profileInstances>
    <packageHasProfileInstances
      Id="0caec977-1f8c-4ba3-a7db-8cc9ad9cc73b">
      <profileInstance
        Id="e34d544e-0fea-4ed6-ac5e-1b74119ac791"
        name="StandardProfileL2" />
    </packageHasProfileInstances>
    <packageHasProfileInstances
      Id="29349502-908c-4fda-9054-c48619c59ed0">
      <profileInstance
        Id="532ea607-fb19-44b8-8502-3351b05452be"
        name="StandardProfileL3" />
    </packageHasProfileInstances>
  </profileInstances>
  <packagedElements>
    <packageHasNamedElement>
      <class
        Id="7b4c8142-04c6-4d47-aad0-a37370a80c7a"
        name="Track"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <targetEnds>
          <association
            Id="b9b6587e-1fb5-4ab0-951e-247044f1124e"
            isDerived="false"
            sourceEndRoleName="Track"
            targetEndRoleName="Cart"
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="2cbd3d62-2ca6-4cf5-9d92-1f1ee632c22e"
              LastKnownName="Cart"
              LastKnownLocation="Goudkoorts.Model.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="f99c24c5-44bc-491d-89a3-bc4df718acd8"
                  name="Track"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="70be1035-0b36-4d00-aa32-63b53d0355d4"
                  name="Cart"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
        <ownedAttributesInternal>
          <property
            Id="2618f8d3-ea7c-4fbe-876f-d812782fc342"
            name="Symbol"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false" />
        </ownedAttributesInternal>
        <ownedOperationsInternal>
          <operation
            Id="d0979ec0-6489-471c-a6f8-a8ae6bf0b7c5"
            name="void CanMove"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="9e00615a-90bb-4c22-a265-1d571a5c8b70"
        name="EndTrack"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <generalsInternal>
          <generalization
            Id="25c0ce33-2c5c-4112-b8ae-26616ef69b18"
            isSubstitutable="false">
            <classMoniker
              Id="7b4c8142-04c6-4d47-aad0-a37370a80c7a"
              LastKnownName="Track"
              LastKnownLocation="Goudkoorts.Model.uml" />
          </generalization>
        </generalsInternal>
        <ownedOperationsInternal>
          <operation
            Id="32a78e3a-3845-4731-b67d-2de202da9fc8"
            name="void DeleteCart"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="396aa251-3a66-4a67-bae2-d8d45bbdf658"
        name="Switch"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <generalsInternal>
          <generalization
            Id="1682385c-f4d3-4d6a-b4cd-bbd913c94caa"
            isSubstitutable="false">
            <classMoniker
              Id="7b4c8142-04c6-4d47-aad0-a37370a80c7a"
              LastKnownName="Track"
              LastKnownLocation="Goudkoorts.Model.uml" />
          </generalization>
        </generalsInternal>
        <ownedAttributesInternal>
          <property
            Id="056d367c-528b-4e6c-ae59-99a9b6c7cc86"
            name="bool Up"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false" />
        </ownedAttributesInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="df23092f-798b-4216-8d0e-3360c921177d"
        name="Incomming"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <generalsInternal>
          <generalization
            Id="2c258535-f437-48df-bbcb-3a691ae29729"
            isSubstitutable="false">
            <classMoniker
              Id="396aa251-3a66-4a67-bae2-d8d45bbdf658"
              LastKnownName="Switch"
              LastKnownLocation="Goudkoorts.Model.uml" />
          </generalization>
        </generalsInternal>
        <ownedAttributesInternal>
          <property
            Id="2499d3e1-a0e7-4afd-9df1-1354d1bf7601"
            name="Link PrreviousUp"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false" />
          <property
            Id="4399f530-0c85-4699-a8d8-7e2d184087de"
            name="Link PrreviousDown"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false" />
        </ownedAttributesInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="08b28b76-1145-4f8d-b186-a5585d9ffb79"
        name="Outgoing"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <generalsInternal>
          <generalization
            Id="a7fc57d3-a8b1-4e37-a5d9-65ba73739b70"
            isSubstitutable="false">
            <classMoniker
              Id="396aa251-3a66-4a67-bae2-d8d45bbdf658"
              LastKnownName="Switch"
              LastKnownLocation="Goudkoorts.Model.uml" />
          </generalization>
        </generalsInternal>
        <ownedAttributesInternal>
          <property
            Id="350debe1-9044-4097-adec-ee5b335110fe"
            name="Link NextUp"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false" />
          <property
            Id="64843f39-21bf-4a14-b3a5-07a0d6965938"
            name="Link NextDown"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false" />
        </ownedAttributesInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="555d5fd1-984e-4107-a54d-c3a4ef5995f8"
        name="DockTrack"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <generalsInternal>
          <generalization
            Id="748a07ab-3455-411e-b13a-3261d443bd24"
            isSubstitutable="false">
            <classMoniker
              Id="7b4c8142-04c6-4d47-aad0-a37370a80c7a"
              LastKnownName="Track"
              LastKnownLocation="Goudkoorts.Model.uml" />
          </generalization>
        </generalsInternal>
        <targetEnds>
          <association
            Id="87777534-7f30-4d6a-84d0-001fcbe888e0"
            isDerived="false"
            sourceEndRoleName="DockTrack"
            targetEndRoleName="SeaTile"
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="016fdaec-392d-48b2-b746-9f047dce4ac8"
              LastKnownName="SeaTile"
              LastKnownLocation="Goudkoorts.Model.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="984d1241-53b0-40f4-bbf7-459638b9710e"
                  name="DockTrack"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="7cf8b1d9-f583-4731-8db7-eb12c6a90e82"
                  name="SeaTile"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
        <ownedOperationsInternal>
          <operation
            Id="c5eeff28-ff2d-4045-b40e-436cf4f113e5"
            name="TryUnloadCart"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="dafc5862-a909-42c8-b0ef-2c48a694b93a"
        name="SafeTrack"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <generalsInternal>
          <generalization
            Id="2a5677e3-8be0-4add-b9d2-010868da22b0"
            isSubstitutable="false">
            <classMoniker
              Id="7b4c8142-04c6-4d47-aad0-a37370a80c7a"
              LastKnownName="Track"
              LastKnownLocation="Goudkoorts.Model.uml" />
          </generalization>
        </generalsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="2cbd3d62-2ca6-4cf5-9d92-1f1ee632c22e"
        name="Cart"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <generalsInternal>
          <generalization
            Id="e40334e1-8db2-46eb-b2f6-70abed174262"
            isSubstitutable="false">
            <classMoniker
              Id="236a7191-16d5-4eda-b013-c81c1091ce60"
              LastKnownName="MoveableObject"
              LastKnownLocation="Goudkoorts.Model.uml" />
          </generalization>
        </generalsInternal>
        <targetEnds>
          <association
            Id="8b4d114d-0e39-4ee9-aa3d-97f22bf9ba82"
            isDerived="false"
            sourceEndRoleName="Cart"
            targetEndRoleName="Track"
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="7b4c8142-04c6-4d47-aad0-a37370a80c7a"
              LastKnownName="Track"
              LastKnownLocation="Goudkoorts.Model.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="7922ca2f-3847-40c1-9a3b-4ff862d89dfb"
                  name="Cart"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="a5b4c062-b8d4-4afc-ba50-da04e898dee7"
                  name="Track"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
        <ownedAttributesInternal>
          <property
            Id="55c50c18-b86d-4d14-a533-d4beb8f6aa79"
            name="_currentTrack"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false" />
        </ownedAttributesInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="25a7986b-72f9-468f-b28c-03fd976113da"
        name="Ship"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <generalsInternal>
          <generalization
            Id="354f3c5e-d4d7-4af1-9fbd-5a764b9428d4"
            isSubstitutable="false">
            <classMoniker
              Id="236a7191-16d5-4eda-b013-c81c1091ce60"
              LastKnownName="MoveableObject"
              LastKnownLocation="Goudkoorts.Model.uml" />
          </generalization>
        </generalsInternal>
        <targetEnds>
          <association
            Id="cb722c14-f776-4ab6-a721-1c0413852432"
            isDerived="false"
            sourceEndRoleName="Boat"
            targetEndRoleName="Route"
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="4ff9c4ac-9c20-4e63-8f1f-ac551eec1a86"
              LastKnownName="ShipRoute"
              LastKnownLocation="Goudkoorts.Model.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="8c2e88d1-307f-4cce-a76e-1220450a0c89"
                  name="Boat"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="a1137955-cbcf-420b-b318-429cf9136f95"
                  name="Route"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
          <association
            Id="1295dd72-7fac-48f6-a0e9-c705521f839e"
            isDerived="false"
            sourceEndRoleName="Ship"
            targetEndRoleName="SeaTile"
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="016fdaec-392d-48b2-b746-9f047dce4ac8"
              LastKnownName="SeaTile"
              LastKnownLocation="Goudkoorts.Model.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="768776ae-8c06-4036-a354-05d2f9d86dbd"
                  name="Ship"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="5eebd582-6fe0-44e9-b325-dfb2d32fda60"
                  name="SeaTile"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false">
                  <lowerValueInternal>
                    <literalString
                      Id="a88d7719-49f5-4b24-a3c2-d12896c3330a"
                      name="Lower"
                      value="*" />
                  </lowerValueInternal>
                  <upperValueInternal>
                    <literalString
                      Id="fc36d33f-08e0-4945-bedf-29b3043f4855"
                      name="Upper"
                      value="*" />
                  </upperValueInternal>
                </memberEnd>
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
        <ownedAttributesInternal>
          <property
            Id="c37548a2-9d1d-496b-91eb-ec86611d2211"
            name="int Cargo"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false" />
          <property
            Id="a567ff7b-a0d9-4b3e-94bb-78e0f1d82e84"
            name="SeaTile[] Route"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false" />
        </ownedAttributesInternal>
        <ownedOperationsInternal>
          <operation
            Id="78368d04-f80d-4456-bbbb-f6a7efba5248"
            name="CanMove"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="236a7191-16d5-4eda-b013-c81c1091ce60"
        name="MoveableObject"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <ownedAttributesInternal>
          <property
            Id="29603202-fc7c-47af-b08b-1f17923e12f1"
            name="Symbol"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false" />
        </ownedAttributesInternal>
        <ownedOperationsInternal>
          <operation
            Id="910ec499-6c1d-40e9-88fd-4a3cec31c831"
            name="void DoMove"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="911888f4-1b09-4ad6-956d-4bc58afc38ca"
        name="Warehouse"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <ownedOperationsInternal>
          <operation
            Id="aae50fc5-f5f2-48ab-8327-241b128d8eb0"
            name="void CreateObject"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="eba3b7d1-9b9d-42b0-a22a-eec7b0b2735b"
        name="ShipWarehouse"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <generalsInternal>
          <generalization
            Id="1109ee36-92e3-4a40-b04d-c5e40a949e28"
            isSubstitutable="false">
            <classMoniker
              Id="911888f4-1b09-4ad6-956d-4bc58afc38ca"
              LastKnownName="Warehouse"
              LastKnownLocation="Goudkoorts.Model.uml" />
          </generalization>
        </generalsInternal>
        <targetEnds>
          <association
            Id="70d2e0bc-1fa9-4cf1-884f-5fc243461e54"
            isDerived="false"
            sourceEndRoleName="BoatWarehouse"
            targetEndRoleName="Boat"
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="25a7986b-72f9-468f-b28c-03fd976113da"
              LastKnownName="Ship"
              LastKnownLocation="Goudkoorts.Model.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="7bd33a9e-573a-4dcd-8f4c-9bad27e365f2"
                  name="BoatWarehouse"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="17b0e2f6-ffa9-4224-8eb8-8c4e7e79d6db"
                  name="Boat"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
          <association
            Id="254b07b7-b5d3-486b-9d99-b302c8098a70"
            isDerived="false"
            sourceEndRoleName="BoatWarehouse"
            targetEndRoleName="Route"
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="4ff9c4ac-9c20-4e63-8f1f-ac551eec1a86"
              LastKnownName="ShipRoute"
              LastKnownLocation="Goudkoorts.Model.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="b097db2d-37b7-44a1-af96-300cdbb9ed9d"
                  name="BoatWarehouse"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="60df8931-b94b-4f5e-b15c-7f578e6e4d63"
                  name="Route"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
          <association
            Id="c3f108bf-b043-4e96-ab8f-05d4e1d7209c"
            isDerived="false"
            sourceEndRoleName="ShipWarehouse"
            targetEndRoleName="SeaTile"
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="016fdaec-392d-48b2-b746-9f047dce4ac8"
              LastKnownName="SeaTile"
              LastKnownLocation="Goudkoorts.Model.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="b62abd58-e9a3-4223-9a59-d20c5dda4239"
                  name="ShipWarehouse"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="1ba5d8fe-69d4-4412-9cb0-2df6a02defc3"
                  name="SeaTile"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false">
                  <lowerValueInternal>
                    <literalString
                      Id="445463ef-13fb-4681-919a-421e25de8075"
                      name="Lower"
                      value="*" />
                  </lowerValueInternal>
                  <upperValueInternal>
                    <literalString
                      Id="e478b0f3-1508-4388-8da4-f942d7b8533d"
                      name="Upper"
                      value="*" />
                  </upperValueInternal>
                </memberEnd>
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
        <ownedAttributesInternal>
          <property
            Id="6e48f7e9-411f-40ad-b112-7ceb3a96b58a"
            name="SeaTile[]"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false" />
        </ownedAttributesInternal>
        <ownedOperationsInternal>
          <operation
            Id="19441457-561a-458a-a3a8-0594e340ff50"
            name="CanCreate"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="caf9a602-adcd-4fc5-84f3-19f866a45db5"
        name="CartWarehouse"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <generalsInternal>
          <generalization
            Id="28dc3a1d-77c2-49a5-a412-a9b7dc4f9c0b"
            isSubstitutable="false">
            <classMoniker
              Id="911888f4-1b09-4ad6-956d-4bc58afc38ca"
              LastKnownName="Warehouse"
              LastKnownLocation="Goudkoorts.Model.uml" />
          </generalization>
        </generalsInternal>
        <targetEnds>
          <association
            Id="4243a52d-d689-4467-9dfc-778b85048f75"
            isDerived="false"
            sourceEndRoleName="CartWarehouse"
            targetEndRoleName="Track"
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="7b4c8142-04c6-4d47-aad0-a37370a80c7a"
              LastKnownName="Track"
              LastKnownLocation="Goudkoorts.Model.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="7e2f66f7-d018-41f3-8911-098ca0681072"
                  name="CartWarehouse"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="68848389-43c7-417d-ae26-124e54340665"
                  name="Track"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
        <ownedOperationsInternal>
          <operation
            Id="6ec6acb3-a574-441e-921f-1a546c001c12"
            name="CreateObject"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="7adf8f5e-a33a-449b-99e0-8e09550061bc"
                  name="selectedRoute"
                  direction="In"
                  isUnique="false" />
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="4ff9c4ac-9c20-4e63-8f1f-ac551eec1a86"
        name="ShipRoute"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <targetEnds>
          <association
            Id="e9a710f6-b971-404d-a98c-8a1065a5bb86"
            isDerived="false"
            sourceEndRoleName="Route"
            targetEndRoleName="SeaTile"
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="016fdaec-392d-48b2-b746-9f047dce4ac8"
              LastKnownName="SeaTile"
              LastKnownLocation="Goudkoorts.Model.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="92d18a40-77b8-4f2c-ac75-cf901db4e07f"
                  name="Route"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="490f156d-e3bb-4753-9b1e-edb4d2d9fcec"
                  name="SeaTile"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
        <ownedAttributesInternal>
          <property
            Id="634d2a30-a36e-43bd-b921-a9de8e70d1ec"
            name="NextTile"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false" />
        </ownedAttributesInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="016fdaec-392d-48b2-b746-9f047dce4ac8"
        name="SeaTile"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <targetEnds>
          <association
            Id="bcf0c3af-bfab-4cc0-a5e4-e201c4022631"
            isDerived="false"
            sourceEndRoleName="SeaTile"
            targetEndRoleName="Boat"
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="25a7986b-72f9-468f-b28c-03fd976113da"
              LastKnownName="Ship"
              LastKnownLocation="Goudkoorts.Model.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="ac2f9e72-88c7-44f2-86b1-6d8011ab6c66"
                  name="SeaTile"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="bc69e3f8-c43a-436d-b257-b14ef243fcbc"
                  name="Boat"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
        <ownedAttributesInternal>
          <property
            Id="e00398e3-4d96-4903-8a79-c5c0f4cb0f56"
            name="Ship ship"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false" />
          <property
            Id="ebd8b7a2-93c9-42fe-922a-24c711f18729"
            name="Symbol"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false" />
        </ownedAttributesInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="22dd50e8-1006-4fbb-aa24-6f82c3c34131"
        name="GameView"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <ownedOperationsInternal>
          <operation
            Id="8de49259-0de6-45ff-9600-8f85e3e0fe46"
            name="ShowBoard"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="9650f397-d7fc-4045-86a3-988b9bb21604"
        name="GameController"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <targetEnds>
          <association
            Id="0a168e36-d5f4-4b8b-b61c-7d37707aa8aa"
            isDerived="false"
            sourceEndRoleName="GameController"
            targetEndRoleName="GameView"
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="22dd50e8-1006-4fbb-aa24-6f82c3c34131"
              LastKnownName="GameView"
              LastKnownLocation="Goudkoorts.Model.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="ce0cc841-c964-42d0-8c87-342796d0d793"
                  name="GameController"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="2ec2192a-f9ab-4b6b-95f2-d71d63d9fc99"
                  name="GameView"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
          <association
            Id="0cdda276-d1f0-41d0-ab3c-102562691ca1"
            isDerived="false"
            sourceEndRoleName="GameController"
            targetEndRoleName="Game"
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="190a54bc-fbbb-4e8c-959f-818738ce0d3c"
              LastKnownName="Game"
              LastKnownLocation="Goudkoorts.Model.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="304ba5c7-966f-4e0d-aa4f-ed2c704f71f6"
                  name="GameController"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="00d02ec1-5f2d-4913-89a4-a555dedfb3ab"
                  name="Game"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
        <ownedOperationsInternal>
          <operation
            Id="3610a4e4-859a-4498-b538-cd7d283d87be"
            name="void Switch"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
          <operation
            Id="933cfd8c-1969-4909-b36f-e8f1a4b13de9"
            name="void Start"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
          <operation
            Id="786e44ea-19d5-4497-b7a5-6da7e41c205c"
            name="void setGameSpeed"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="190a54bc-fbbb-4e8c-959f-818738ce0d3c"
        name="Game"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <targetEnds>
          <association
            Id="1d140c7f-63da-42e0-ab20-67066d19732a"
            isDerived="false"
            sourceEndRoleName="Game"
            targetEndRoleName="CartRoute"
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="b15eb9fc-1ed9-4bc2-aa6b-65e766db1a3e"
              LastKnownName="CartRoute"
              LastKnownLocation="Goudkoorts.Model.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="fe6334f2-8aaa-4acc-b8bf-a6333154a46e"
                  name="Game"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="040ca516-022a-4c08-b0cf-4581d242f7e4"
                  name="CartRoute"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
          <association
            Id="0f4eb820-ab45-4f7d-b6c6-1b1177b8a697"
            isDerived="false"
            sourceEndRoleName="Game"
            targetEndRoleName="SeaTile"
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="016fdaec-392d-48b2-b746-9f047dce4ac8"
              LastKnownName="SeaTile"
              LastKnownLocation="Goudkoorts.Model.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="940498bd-c584-48dc-9905-423352333970"
                  name="Game"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="fd96e7d4-280f-48ee-a87c-871c9de55ee3"
                  name="SeaTile"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
        <ownedAttributesInternal>
          <property
            Id="fa7ed46a-1e0e-4af2-853c-6f116e86983b"
            name="[] SeaRoute"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false" />
          <property
            Id="a37740f6-4262-4314-ae1e-9027cb4bba81"
            name="[] Tracks"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false" />
        </ownedAttributesInternal>
        <ownedOperationsInternal>
          <operation
            Id="62c2f302-9dce-448c-95b7-823805a279bd"
            name="[] SeaRoute getRoute"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
          <operation
            Id="2b27a274-96cc-45c8-aee1-41f2c276b19e"
            name="[] Tracks getTracks"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="13f48cff-fd06-4e9e-8612-b47101244586"
        name="InputController"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <targetEnds>
          <association
            Id="332ff603-996e-4a33-8120-b9988ba8837e"
            isDerived="false"
            sourceEndRoleName="InputController"
            targetEndRoleName="GameController"
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="9650f397-d7fc-4045-86a3-988b9bb21604"
              LastKnownName="GameController"
              LastKnownLocation="Goudkoorts.Model.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="da6da12d-7a27-4436-8298-0549ca098c3b"
                  name="InputController"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="4b9954c5-2ec0-45dc-b934-67638d080fe6"
                  name="GameController"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
        <ownedOperationsInternal>
          <operation
            Id="7d51a9b3-eb50-4a94-81e9-70beb7440099"
            name="void ReadInput"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
          <operation
            Id="18e36269-3c09-442d-88f9-9b98d4670ba4"
            name="void printscore"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="d0e36bff-694a-4bcd-9e8d-821cf905d09e"
                  name="gamescore"
                  direction="In"
                  isUnique="false" />
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="b15eb9fc-1ed9-4bc2-aa6b-65e766db1a3e"
        name="CartRoute"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <targetEnds>
          <association
            Id="10ee5576-2694-4d6d-a213-1b528b56ec34"
            isDerived="false"
            sourceEndRoleName="CartRoute"
            targetEndRoleName="Track"
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="7b4c8142-04c6-4d47-aad0-a37370a80c7a"
              LastKnownName="Track"
              LastKnownLocation="Goudkoorts.Model.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="ed20039b-c1c8-4be4-9e8c-59a2e2fba4b7"
                  name="CartRoute"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="2f01d24d-e045-4814-9941-5b40c9f85be8"
                  name="Track"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
        <ownedAttributesInternal>
          <property
            Id="03b153d2-cc1d-40c7-8d77-59f66519f903"
            name="List Routes"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false" />
        </ownedAttributesInternal>
        <ownedOperationsInternal>
          <operation
            Id="450811c5-d70b-40fa-8773-7090effdf27f"
            name="SetRoute 1, 2, 3"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
          <operation
            Id="78578459-e870-4595-b2ae-4143736236a4"
            name="SetSwitches"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="f65e3bf0-5b80-4da6-a824-3acf725ec752"
        name="PreSwitch"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <generalsInternal>
          <generalization
            Id="20f2d2ab-d33d-4085-a00b-dc777819e0f9"
            isSubstitutable="false">
            <classMoniker
              Id="7b4c8142-04c6-4d47-aad0-a37370a80c7a"
              LastKnownName="Track"
              LastKnownLocation="Goudkoorts.Model.uml" />
          </generalization>
        </generalsInternal>
        <ownedOperationsInternal>
          <operation
            Id="f4a47fb2-691c-49ba-9086-d9978fe76de1"
            name="GetNextTrack"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
  </packagedElements>
  <primitiveType
    Id="220a3521-e091-4221-bae9-3ef9018e845c"
    name="Integer"
    isAbstract="false"
    isLeaf="false" />
  <primitiveType
    Id="8943dc84-709e-4f62-b15a-a3273aa6f165"
    name="Boolean"
    isAbstract="false"
    isLeaf="false" />
  <primitiveType
    Id="59259974-6d55-42c6-b7bd-763d77ac8ef9"
    name="String"
    isAbstract="false"
    isLeaf="false" />
  <primitiveType
    Id="3ab42e7d-4969-445a-b209-471f5cb8209c"
    name="UnlimitedNatural"
    isAbstract="false"
    isLeaf="false" />
</modelStoreModel>