<?xml version='1.0' encoding='UTF-8'?>
<xmi:XMI 
xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:uml="http://www.omg.org/spec/UML/20131001" xmlns:mofext="http://www.omg.org/spec/MOF/20131001" xmlns:StandardProfile="http://www.omg.org/spec/UML/20131001/StandardProfile" xmlns:SysML="http://www.omg.org/spec/SysML/20150709/SysML">
  <uml:Package xmi:id="QUDV" xmi:uuid="org.omg.sysml.QUDV" xmi:type="uml:Package">
    <name>QUDV</name>
    <URI>http://www.omg.org/spec/SysML/20150709/QUDV</URI>
    <packagedElement xmi:id="QUDV.association_packagedElement_A_conversionBasedUnit_referenceUnit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_conversionBasedUnit_referenceUnit" xmi:type="uml:Association">
      <name>A_conversionBasedUnit_referenceUnit</name>
      <ownedEnd xmi:id="QUDV.association_packagedElement_A_conversionBasedUnit_referenceUnit_ownedEnd.conversionBasedUnit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_conversionBasedUnit_referenceUnit_ownedEnd.conversionBasedUnit" xmi:type="uml:Property">
        <name>conversionBasedUnit</name>
        <lowerValue xmi:id="QUDV.association_packagedElement_A_conversionBasedUnit_referenceUnit_ownedEnd.conversionBasedUnit_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_conversionBasedUnit_referenceUnit_ownedEnd.conversionBasedUnit_lowerValue" xmi:type="uml:LiteralInteger"/>
        <upperValue 
        xmi:id="QUDV.association_packagedElement_A_conversionBasedUnit_referenceUnit_ownedEnd.conversionBasedUnit_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_conversionBasedUnit_referenceUnit_ownedEnd.conversionBasedUnit_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
</upperValue>
        <type xmi:idref="QUDV.class_packagedElement_ConversionBasedUnit"/>
        <association xmi:idref="QUDV.association_packagedElement_A_conversionBasedUnit_referenceUnit"/>
      </ownedEnd>
      <memberEnd xmi:idref="QUDV.association_packagedElement_A_conversionBasedUnit_referenceUnit_ownedEnd.conversionBasedUnit"/>
      <memberEnd xmi:idref="QUDV.class_packagedElement_ConversionBasedUnit_ownedAttribute.referenceUnit"/>
    </packagedElement>
    <packagedElement xmi:id="QUDV.association_packagedElement_A_derivedQuantityKind_factor" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_derivedQuantityKind_factor" xmi:type="uml:Association">
      <name>A_derivedQuantityKind_factor</name>
      <ownedEnd xmi:id="QUDV.association_packagedElement_A_derivedQuantityKind_factor_ownedEnd.derivedQuantityKind" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_derivedQuantityKind_factor_ownedEnd.derivedQuantityKind" xmi:type="uml:Property">
        <name>derivedQuantityKind</name>
        <lowerValue xmi:id="QUDV.association_packagedElement_A_derivedQuantityKind_factor_ownedEnd.derivedQuantityKind_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_derivedQuantityKind_factor_ownedEnd.derivedQuantityKind_lowerValue" xmi:type="uml:LiteralInteger"/>
        <upperValue xmi:id="QUDV.association_packagedElement_A_derivedQuantityKind_factor_ownedEnd.derivedQuantityKind_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_derivedQuantityKind_factor_ownedEnd.derivedQuantityKind_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
        </upperValue>
        <type xmi:idref="QUDV.class_packagedElement_DerivedQuantityKind"/>
        <association xmi:idref="QUDV.association_packagedElement_A_derivedQuantityKind_factor"/>
      </ownedEnd>
      <memberEnd xmi:idref="QUDV.association_packagedElement_A_derivedQuantityKind_factor_ownedEnd.derivedQuantityKind"/>
      <memberEnd xmi:idref="QUDV.class_packagedElement_DerivedQuantityKind_ownedAttribute.factor"/>
    </packagedElement>
    <packagedElement xmi:id="QUDV.association_packagedElement_A_derivedUnit_factor" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_derivedUnit_factor" xmi:type="uml:Association">
      <name>A_derivedUnit_factor</name>
      <ownedEnd xmi:id="QUDV.association_packagedElement_A_derivedUnit_factor_ownedEnd.derivedUnit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_derivedUnit_factor_ownedEnd.derivedUnit" xmi:type="uml:Property">
        <name>derivedUnit</name>
        <type xmi:idref="QUDV.class_packagedElement_DerivedUnit"/>
        <association xmi:idref="QUDV.association_packagedElement_A_derivedUnit_factor"/>
      </ownedEnd>
      <memberEnd xmi:idref="QUDV.association_packagedElement_A_derivedUnit_factor_ownedEnd.derivedUnit"/>
      <memberEnd xmi:idref="QUDV.class_packagedElement_DerivedUnit_ownedAttribute.factor"/>
    </packagedElement>
    <packagedElement xmi:id="QUDV.association_packagedElement_A_dimension_factor" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_dimension_factor" xmi:type="uml:Association">
      <name>A_dimension_factor</name>
      <ownedEnd xmi:id="QUDV.association_packagedElement_A_dimension_factor_ownedEnd.dimension" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_dimension_factor_ownedEnd.dimension" xmi:type="uml:Property">
        <name>dimension</name>
        <lowerValue xmi:id="QUDV.association_packagedElement_A_dimension_factor_ownedEnd.dimension_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_dimension_factor_ownedEnd.dimension_lowerValue" xmi:type="uml:LiteralInteger"/>
        <upperValue xmi:id="QUDV.association_packagedElement_A_dimension_factor_ownedEnd.dimension_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_dimension_factor_ownedEnd.dimension_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
        </upperValue>
        <type xmi:idref="QUDV.class_packagedElement_Dimension"/>
        <association xmi:idref="QUDV.association_packagedElement_A_dimension_factor"/>
      </ownedEnd>
      <memberEnd xmi:idref="QUDV.association_packagedElement_A_dimension_factor_ownedEnd.dimension"/>
      <memberEnd xmi:idref="QUDV.class_packagedElement_Dimension_ownedAttribute.factor"/>
    </packagedElement>
    <packagedElement xmi:id="QUDV.association_packagedElement_A_generalQuantityKind_specificQuantityKind" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_generalQuantityKind_specificQuantityKind" xmi:type="uml:Association">
      <name>A_generalQuantityKind_specificQuantityKind</name>
      <ownedEnd xmi:id="QUDV.association_packagedElement_A_generalQuantityKind_specificQuantityKind_ownedEnd.specific" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_generalQuantityKind_specificQuantityKind_ownedEnd.specific" xmi:type="uml:Property">
        <name>specific</name>
        <lowerValue xmi:id="QUDV.association_packagedElement_A_generalQuantityKind_specificQuantityKind_ownedEnd.specific_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_generalQuantityKind_specificQuantityKind_ownedEnd.specific_lowerValue" xmi:type="uml:LiteralInteger"/>
        <upperValue xmi:id="QUDV.association_packagedElement_A_generalQuantityKind_specificQuantityKind_ownedEnd.specific_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_generalQuantityKind_specificQuantityKind_ownedEnd.specific_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
        </upperValue>
        <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
        <association xmi:idref="QUDV.association_packagedElement_A_generalQuantityKind_specificQuantityKind"/>
      </ownedEnd>
      <memberEnd xmi:idref="QUDV.class_packagedElement_QuantityKind_ownedAttribute.general"/>
      <memberEnd xmi:idref="QUDV.association_packagedElement_A_generalQuantityKind_specificQuantityKind_ownedEnd.specific"/>
    </packagedElement>
    <packagedElement xmi:id="QUDV.association_packagedElement_A_generalUnit_specificUnit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_generalUnit_specificUnit" xmi:type="uml:Association">
      <name>A_generalUnit_specificUnit</name>
      <ownedEnd xmi:id="QUDV.association_packagedElement_A_generalUnit_specificUnit_ownedEnd.specific" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_generalUnit_specificUnit_ownedEnd.specific" xmi:type="uml:Property">
        <name>specific</name>
        <lowerValue xmi:id="QUDV.association_packagedElement_A_generalUnit_specificUnit_ownedEnd.specific_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_generalUnit_specificUnit_ownedEnd.specific_lowerValue" xmi:type="uml:LiteralInteger"/>
        <upperValue xmi:id="QUDV.association_packagedElement_A_generalUnit_specificUnit_ownedEnd.specific_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_generalUnit_specificUnit_ownedEnd.specific_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
        </upperValue>
        <type xmi:idref="QUDV.class_packagedElement_Unit"/>
        <association xmi:idref="QUDV.association_packagedElement_A_generalUnit_specificUnit"/>
      </ownedEnd>
      <memberEnd xmi:idref="QUDV.association_packagedElement_A_generalUnit_specificUnit_ownedEnd.specific"/>
      <memberEnd xmi:idref="QUDV.class_packagedElement_Unit_ownedAttribute.general"/>
    </packagedElement>
    <packagedElement xmi:id="QUDV.association_packagedElement_A_includedSystemOfQuantities_systemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_includedSystemOfQuantities_systemOfQuantities" xmi:type="uml:Association">
      <name>A_includedSystemOfQuantities_systemOfQuantities</name>
      <ownedEnd xmi:id="QUDV.association_packagedElement_A_includedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_includedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities" xmi:type="uml:Property">
        <name>systemOfQuantities</name>
        <lowerValue 
        xmi:id="QUDV.association_packagedElement_A_includedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_includedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities_lowerValue" xmi:type="uml:LiteralInteger">
</lowerValue>
        <upperValue 
        xmi:id="QUDV.association_packagedElement_A_includedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_includedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
</upperValue>
        <type xmi:idref="QUDV.class_packagedElement_SystemOfQuantities"/>
        <association xmi:idref="QUDV.association_packagedElement_A_includedSystemOfQuantities_systemOfQuantities"/>
      </ownedEnd>
      <memberEnd xmi:idref="QUDV.association_packagedElement_A_includedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities"/>
      <memberEnd xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.includedSystemOfQuantities"/>
    </packagedElement>
    <packagedElement xmi:id="QUDV.association_packagedElement_A_includedSystemOfUnits_systemOfUnits" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_includedSystemOfUnits_systemOfUnits" xmi:type="uml:Association">
      <name>A_includedSystemOfUnits_systemOfUnits</name>
      <ownedEnd xmi:id="QUDV.association_packagedElement_A_includedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_includedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits" xmi:type="uml:Property">
        <name>systemOfUnits</name>
        <lowerValue xmi:id="QUDV.association_packagedElement_A_includedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_includedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits_lowerValue" xmi:type="uml:LiteralInteger"/>
        <upperValue xmi:id="QUDV.association_packagedElement_A_includedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_includedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
        </upperValue>
        <type xmi:idref="QUDV.class_packagedElement_SystemOfUnits"/>
        <association xmi:idref="QUDV.association_packagedElement_A_includedSystemOfUnits_systemOfUnits"/>
      </ownedEnd>
      <memberEnd xmi:idref="QUDV.association_packagedElement_A_includedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits"/>
      <memberEnd xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.includedSystemOfUnits"/>
    </packagedElement>
    <packagedElement xmi:id="QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit" xmi:type="uml:Association">
      <name>A_noQuantityKind_prefixedUnit</name>
      <generalization 
      xmi:id="QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit._generalization.QUDV.association_packagedElement_A_quantityKind_measurementUnit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit._generalization.QUDV.association_packagedElement_A_quantityKind_measurementUnit" xmi:type="uml:Generalization">
        <general xmi:idref="QUDV.association_packagedElement_A_quantityKind_measurementUnit"/>
</generalization>
      <ownedEnd xmi:id="QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit_ownedEnd.prefixedUnit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit_ownedEnd.prefixedUnit" xmi:type="uml:Property">
        <name>prefixedUnit</name>
        <lowerValue xmi:id="QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit_ownedEnd.prefixedUnit_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit_ownedEnd.prefixedUnit_lowerValue" xmi:type="uml:LiteralInteger"/>
        <upperValue xmi:id="QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit_ownedEnd.prefixedUnit_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit_ownedEnd.prefixedUnit_upperValue" xmi:type="uml:LiteralUnlimitedNatural"/>
        <type xmi:idref="QUDV.class_packagedElement_PrefixedUnit"/>
        <association xmi:idref="QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit"/>
        <redefinedProperty xmi:idref="QUDV.association_packagedElement_A_quantityKind_measurementUnit_ownedEnd.measurementUnit"/>
      </ownedEnd>
      <memberEnd xmi:idref="QUDV.class_packagedElement_PrefixedUnit_ownedAttribute.noQuantityKind"/>
      <memberEnd xmi:idref="QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit_ownedEnd.prefixedUnit"/>
    </packagedElement>
    <packagedElement xmi:id="QUDV.association_packagedElement_A_prefixedUnit_prefix" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_prefixedUnit_prefix" xmi:type="uml:Association">
      <name>A_prefixedUnit_prefix</name>
      <ownedEnd xmi:id="QUDV.association_packagedElement_A_prefixedUnit_prefix_ownedEnd.prefixedUnit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_prefixedUnit_prefix_ownedEnd.prefixedUnit" xmi:type="uml:Property">
        <name>prefixedUnit</name>
        <lowerValue xmi:id="QUDV.association_packagedElement_A_prefixedUnit_prefix_ownedEnd.prefixedUnit_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_prefixedUnit_prefix_ownedEnd.prefixedUnit_lowerValue" xmi:type="uml:LiteralInteger"/>
        <upperValue xmi:id="QUDV.association_packagedElement_A_prefixedUnit_prefix_ownedEnd.prefixedUnit_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_prefixedUnit_prefix_ownedEnd.prefixedUnit_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
        </upperValue>
        <type xmi:idref="QUDV.class_packagedElement_PrefixedUnit"/>
        <association xmi:idref="QUDV.association_packagedElement_A_prefixedUnit_prefix"/>
      </ownedEnd>
      <memberEnd xmi:idref="QUDV.association_packagedElement_A_prefixedUnit_prefix_ownedEnd.prefixedUnit"/>
      <memberEnd xmi:idref="QUDV.class_packagedElement_PrefixedUnit_ownedAttribute.prefix"/>
    </packagedElement>
    <packagedElement xmi:id="QUDV.association_packagedElement_A_quantityKindFactor_quantityKind" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_quantityKindFactor_quantityKind" xmi:type="uml:Association">
      <name>A_quantityKindFactor_quantityKind</name>
      <ownedEnd xmi:id="QUDV.association_packagedElement_A_quantityKindFactor_quantityKind_ownedEnd.quantityKindFactor" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_quantityKindFactor_quantityKind_ownedEnd.quantityKindFactor" xmi:type="uml:Property">
        <name>quantityKindFactor</name>
        <lowerValue xmi:id="QUDV.association_packagedElement_A_quantityKindFactor_quantityKind_ownedEnd.quantityKindFactor_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_quantityKindFactor_quantityKind_ownedEnd.quantityKindFactor_lowerValue" xmi:type="uml:LiteralInteger"/>
        <upperValue xmi:id="QUDV.association_packagedElement_A_quantityKindFactor_quantityKind_ownedEnd.quantityKindFactor_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_quantityKindFactor_quantityKind_ownedEnd.quantityKindFactor_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
        </upperValue>
        <type xmi:idref="QUDV.class_packagedElement_QuantityKindFactor"/>
        <association xmi:idref="QUDV.association_packagedElement_A_quantityKindFactor_quantityKind"/>
      </ownedEnd>
      <memberEnd xmi:idref="QUDV.association_packagedElement_A_quantityKindFactor_quantityKind_ownedEnd.quantityKindFactor"/>
      <memberEnd xmi:idref="QUDV.class_packagedElement_QuantityKindFactor_ownedAttribute.quantityKind"/>
    </packagedElement>
    <packagedElement xmi:id="QUDV.association_packagedElement_A_quantityKind_measurementUnit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_quantityKind_measurementUnit" xmi:type="uml:Association">
      <name>A_quantityKind_measurementUnit</name>
      <generalization 
      xmi:id="QUDV.association_packagedElement_A_quantityKind_measurementUnit._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.association_packagedElement_A_quantityKind_unit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_quantityKind_measurementUnit._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.association_packagedElement_A_quantityKind_unit" xmi:type="uml:Generalization">
        <general href="http://www.omg.org/spec/SysML/20150709/SysML.xmi#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.association_packagedElement_A_quantityKind_unit"/>
</generalization>
      <ownedEnd xmi:id="QUDV.association_packagedElement_A_quantityKind_measurementUnit_ownedEnd.measurementUnit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_quantityKind_measurementUnit_ownedEnd.measurementUnit" xmi:type="uml:Property">
        <name>measurementUnit</name>
        <lowerValue xmi:id="QUDV.association_packagedElement_A_quantityKind_measurementUnit_ownedEnd.measurementUnit_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_quantityKind_measurementUnit_ownedEnd.measurementUnit_lowerValue" xmi:type="uml:LiteralInteger"/>
        <upperValue xmi:id="QUDV.association_packagedElement_A_quantityKind_measurementUnit_ownedEnd.measurementUnit_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_quantityKind_measurementUnit_ownedEnd.measurementUnit_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
        </upperValue>
        <type xmi:idref="QUDV.class_packagedElement_Unit"/>
        <association xmi:idref="QUDV.association_packagedElement_A_quantityKind_measurementUnit"/>
        <redefinedProperty href="http://www.omg.org/spec/SysML/20150709/SysML.xmi#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.association_packagedElement_A_quantityKind_unit_ownedEnd.unit"/>
      </ownedEnd>
      <memberEnd xmi:idref="QUDV.class_packagedElement_Unit_ownedAttribute.quantityKind"/>
      <memberEnd xmi:idref="QUDV.association_packagedElement_A_quantityKind_measurementUnit_ownedEnd.measurementUnit"/>
    </packagedElement>
    <packagedElement xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind" xmi:type="uml:Association">
      <name>A_systemOfQuantities_baseQuantityKind</name>
      <generalization 
      xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind._generalization.QUDV.association_packagedElement_A_systemOfQuantities_quantityKind" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind._generalization.QUDV.association_packagedElement_A_systemOfQuantities_quantityKind" xmi:type="uml:Generalization">
        <general xmi:idref="QUDV.association_packagedElement_A_systemOfQuantities_quantityKind"/>
</generalization>
      <ownedEnd xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind_ownedEnd.systemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind_ownedEnd.systemOfQuantities" xmi:type="uml:Property">
        <name>systemOfQuantities</name>
        <lowerValue xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind_ownedEnd.systemOfQuantities_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind_ownedEnd.systemOfQuantities_lowerValue" xmi:type="uml:LiteralInteger"/>
        <upperValue 
        xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind_ownedEnd.systemOfQuantities_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind_ownedEnd.systemOfQuantities_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
</upperValue>
        <type xmi:idref="QUDV.class_packagedElement_SystemOfQuantities"/>
        <association xmi:idref="QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind"/>
        <subsettedProperty xmi:idref="QUDV.association_packagedElement_A_systemOfQuantities_quantityKind_ownedEnd.systemOfQuantities"/>
      </ownedEnd>
      <memberEnd xmi:idref="QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind_ownedEnd.systemOfQuantities"/>
      <memberEnd xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.baseQuantityKind"/>
    </packagedElement>
    <packagedElement xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_dimension" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_dimension" xmi:type="uml:Association">
      <name>A_systemOfQuantities_dimension</name>
      <ownedEnd xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_dimension_ownedEnd.systemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_dimension_ownedEnd.systemOfQuantities" xmi:type="uml:Property">
        <name>systemOfQuantities</name>
        <lowerValue xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_dimension_ownedEnd.systemOfQuantities_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_dimension_ownedEnd.systemOfQuantities_lowerValue" xmi:type="uml:LiteralInteger"/>
        <upperValue xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_dimension_ownedEnd.systemOfQuantities_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_dimension_ownedEnd.systemOfQuantities_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
        </upperValue>
        <type xmi:idref="QUDV.class_packagedElement_SystemOfQuantities"/>
        <association xmi:idref="QUDV.association_packagedElement_A_systemOfQuantities_dimension"/>
      </ownedEnd>
      <memberEnd xmi:idref="QUDV.association_packagedElement_A_systemOfQuantities_dimension_ownedEnd.systemOfQuantities"/>
      <memberEnd xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.dimension"/>
    </packagedElement>
    <packagedElement xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_quantityKind" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_quantityKind" xmi:type="uml:Association">
      <name>A_systemOfQuantities_quantityKind</name>
      <ownedEnd xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_quantityKind_ownedEnd.systemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_quantityKind_ownedEnd.systemOfQuantities" xmi:type="uml:Property">
        <name>systemOfQuantities</name>
        <lowerValue xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_quantityKind_ownedEnd.systemOfQuantities_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_quantityKind_ownedEnd.systemOfQuantities_lowerValue" xmi:type="uml:LiteralInteger"/>
        <upperValue xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_quantityKind_ownedEnd.systemOfQuantities_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_quantityKind_ownedEnd.systemOfQuantities_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
        </upperValue>
        <type xmi:idref="QUDV.class_packagedElement_SystemOfQuantities"/>
        <association xmi:idref="QUDV.association_packagedElement_A_systemOfQuantities_quantityKind"/>
      </ownedEnd>
      <memberEnd xmi:idref="QUDV.association_packagedElement_A_systemOfQuantities_quantityKind_ownedEnd.systemOfQuantities"/>
      <memberEnd xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.quantityKind"/>
    </packagedElement>
    <packagedElement xmi:id="QUDV.association_packagedElement_A_systemOfUnits_baseUnit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_baseUnit" xmi:type="uml:Association">
      <name>A_systemOfUnits_baseUnit</name>
      <generalization 
      xmi:id="QUDV.association_packagedElement_A_systemOfUnits_baseUnit._generalization.QUDV.association_packagedElement_A_systemOfUnits_unit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_baseUnit._generalization.QUDV.association_packagedElement_A_systemOfUnits_unit" xmi:type="uml:Generalization">
        <general xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_unit"/>
</generalization>
      <ownedEnd xmi:id="QUDV.association_packagedElement_A_systemOfUnits_baseUnit_ownedEnd.systemOfUnits" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_baseUnit_ownedEnd.systemOfUnits" xmi:type="uml:Property">
        <name>systemOfUnits</name>
        <lowerValue xmi:id="QUDV.association_packagedElement_A_systemOfUnits_baseUnit_ownedEnd.systemOfUnits_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_baseUnit_ownedEnd.systemOfUnits_lowerValue" xmi:type="uml:LiteralInteger"/>
        <upperValue xmi:id="QUDV.association_packagedElement_A_systemOfUnits_baseUnit_ownedEnd.systemOfUnits_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_baseUnit_ownedEnd.systemOfUnits_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
        </upperValue>
        <type xmi:idref="QUDV.class_packagedElement_SystemOfUnits"/>
        <association xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_baseUnit"/>
        <subsettedProperty xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_unit_ownedEnd.systemOfUnits"/>
      </ownedEnd>
      <memberEnd xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_baseUnit_ownedEnd.systemOfUnits"/>
      <memberEnd xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.baseUnit"/>
    </packagedElement>
    <packagedElement xmi:id="QUDV.association_packagedElement_A_systemOfUnits_prefix" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_prefix" xmi:type="uml:Association">
      <name>A_systemOfUnits_prefix</name>
      <ownedEnd xmi:id="QUDV.association_packagedElement_A_systemOfUnits_prefix_ownedEnd.systemOfUnits" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_prefix_ownedEnd.systemOfUnits" xmi:type="uml:Property">
        <name>systemOfUnits</name>
        <lowerValue xmi:id="QUDV.association_packagedElement_A_systemOfUnits_prefix_ownedEnd.systemOfUnits_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_prefix_ownedEnd.systemOfUnits_lowerValue" xmi:type="uml:LiteralInteger"/>
        <upperValue xmi:id="QUDV.association_packagedElement_A_systemOfUnits_prefix_ownedEnd.systemOfUnits_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_prefix_ownedEnd.systemOfUnits_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
        </upperValue>
        <type xmi:idref="QUDV.class_packagedElement_SystemOfUnits"/>
        <association xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_prefix"/>
      </ownedEnd>
      <memberEnd xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_prefix_ownedEnd.systemOfUnits"/>
      <memberEnd xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.prefix"/>
    </packagedElement>
    <packagedElement xmi:id="QUDV.association_packagedElement_A_systemOfUnits_systemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_systemOfQuantities" xmi:type="uml:Association">
      <name>A_systemOfUnits_systemOfQuantities</name>
      <ownedEnd xmi:id="QUDV.association_packagedElement_A_systemOfUnits_systemOfQuantities_ownedEnd.systemOfUnits" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_systemOfQuantities_ownedEnd.systemOfUnits" xmi:type="uml:Property">
        <name>systemOfUnits</name>
        <lowerValue xmi:id="QUDV.association_packagedElement_A_systemOfUnits_systemOfQuantities_ownedEnd.systemOfUnits_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_systemOfQuantities_ownedEnd.systemOfUnits_lowerValue" xmi:type="uml:LiteralInteger"/>
        <upperValue xmi:id="QUDV.association_packagedElement_A_systemOfUnits_systemOfQuantities_ownedEnd.systemOfUnits_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_systemOfQuantities_ownedEnd.systemOfUnits_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
        </upperValue>
        <type xmi:idref="QUDV.class_packagedElement_SystemOfUnits"/>
        <association xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_systemOfQuantities"/>
      </ownedEnd>
      <memberEnd xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_systemOfQuantities_ownedEnd.systemOfUnits"/>
      <memberEnd xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.systemOfQuantities"/>
    </packagedElement>
    <packagedElement xmi:id="QUDV.association_packagedElement_A_systemOfUnits_unit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_unit" xmi:type="uml:Association">
      <name>A_systemOfUnits_unit</name>
      <ownedEnd xmi:id="QUDV.association_packagedElement_A_systemOfUnits_unit_ownedEnd.systemOfUnits" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_unit_ownedEnd.systemOfUnits" xmi:type="uml:Property">
        <name>systemOfUnits</name>
        <lowerValue xmi:id="QUDV.association_packagedElement_A_systemOfUnits_unit_ownedEnd.systemOfUnits_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_unit_ownedEnd.systemOfUnits_lowerValue" xmi:type="uml:LiteralInteger"/>
        <upperValue xmi:id="QUDV.association_packagedElement_A_systemOfUnits_unit_ownedEnd.systemOfUnits_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_unit_ownedEnd.systemOfUnits_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
        </upperValue>
        <type xmi:idref="QUDV.class_packagedElement_SystemOfUnits"/>
        <association xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_unit"/>
      </ownedEnd>
      <memberEnd xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_unit_ownedEnd.systemOfUnits"/>
      <memberEnd xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.unit"/>
    </packagedElement>
    <packagedElement xmi:id="QUDV.association_packagedElement_A_unitFactor_unit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_unitFactor_unit" xmi:type="uml:Association">
      <name>A_unitFactor_unit</name>
      <ownedEnd xmi:id="QUDV.association_packagedElement_A_unitFactor_unit_ownedEnd.unitFactor" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_unitFactor_unit_ownedEnd.unitFactor" xmi:type="uml:Property">
        <name>unitFactor</name>
        <lowerValue xmi:id="QUDV.association_packagedElement_A_unitFactor_unit_ownedEnd.unitFactor_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_unitFactor_unit_ownedEnd.unitFactor_lowerValue" xmi:type="uml:LiteralInteger"/>
        <upperValue xmi:id="QUDV.association_packagedElement_A_unitFactor_unit_ownedEnd.unitFactor_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_unitFactor_unit_ownedEnd.unitFactor_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
        </upperValue>
        <type xmi:idref="QUDV.class_packagedElement_UnitFactor"/>
        <association xmi:idref="QUDV.association_packagedElement_A_unitFactor_unit"/>
      </ownedEnd>
      <memberEnd xmi:idref="QUDV.association_packagedElement_A_unitFactor_unit_ownedEnd.unitFactor"/>
      <memberEnd xmi:idref="QUDV.class_packagedElement_UnitFactor_ownedAttribute.unit"/>
    </packagedElement>
    <packagedElement xmi:id="QUDV.association_packagedElement_A_usedSystemOfQuantities_systemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_usedSystemOfQuantities_systemOfQuantities" xmi:type="uml:Association">
      <name>A_usedSystemOfQuantities_systemOfQuantities</name>
      <ownedEnd xmi:id="QUDV.association_packagedElement_A_usedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_usedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities" xmi:type="uml:Property">
        <name>systemOfQuantities</name>
        <lowerValue 
        xmi:id="QUDV.association_packagedElement_A_usedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_usedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities_lowerValue" xmi:type="uml:LiteralInteger">
</lowerValue>
        <upperValue 
        xmi:id="QUDV.association_packagedElement_A_usedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_usedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
</upperValue>
        <type xmi:idref="QUDV.class_packagedElement_SystemOfQuantities"/>
        <association xmi:idref="QUDV.association_packagedElement_A_usedSystemOfQuantities_systemOfQuantities"/>
      </ownedEnd>
      <memberEnd xmi:idref="QUDV.association_packagedElement_A_usedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities"/>
      <memberEnd xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.usedSystemOfQuantities"/>
    </packagedElement>
    <packagedElement xmi:id="QUDV.association_packagedElement_A_usedSystemOfUnits_systemOfUnits" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_usedSystemOfUnits_systemOfUnits" xmi:type="uml:Association">
      <name>A_usedSystemOfUnits_systemOfUnits</name>
      <ownedEnd xmi:id="QUDV.association_packagedElement_A_usedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_usedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits" xmi:type="uml:Property">
        <name>systemOfUnits</name>
        <lowerValue xmi:id="QUDV.association_packagedElement_A_usedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_usedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits_lowerValue" xmi:type="uml:LiteralInteger"/>
        <upperValue xmi:id="QUDV.association_packagedElement_A_usedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_usedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
        </upperValue>
        <type xmi:idref="QUDV.class_packagedElement_SystemOfUnits"/>
        <association xmi:idref="QUDV.association_packagedElement_A_usedSystemOfUnits_systemOfUnits"/>
      </ownedEnd>
      <memberEnd xmi:idref="QUDV.association_packagedElement_A_usedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits"/>
      <memberEnd xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.usedSystemOfUnits"/>
    </packagedElement>
    <packagedElement xmi:id="QUDV.class_packagedElement_AffineConversionUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_AffineConversionUnit" xmi:type="uml:Class">
      <name>AffineConversionUnit</name>
      <ownedRule xmi:id="QUDV.class_packagedElement_AffineConversionUnit.constraint_ownedRule_invertible" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_AffineConversionUnit.constraint_ownedRule_invertible" xmi:type="uml:Constraint">
        <name>invertible</name>
        <specification xmi:id="QUDV.class_packagedElement_AffineConversionUnit.constraint_ownedRule_invertible_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_AffineConversionUnit.constraint_ownedRule_invertible_specification" xmi:type="uml:OpaqueExpression">
          <body>isInvertible = true</body>
          <language>OCL2.0</language>
        </specification>
      </ownedRule>
      <generalization 
      xmi:id="QUDV.class_packagedElement_AffineConversionUnit._generalization.QUDV.class_packagedElement_ConversionBasedUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_AffineConversionUnit._generalization.QUDV.class_packagedElement_ConversionBasedUnit" xmi:type="uml:Generalization">
        <general xmi:idref="QUDV.class_packagedElement_ConversionBasedUnit"/>
</generalization>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_AffineConversionUnit_ownedAttribute.factor" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_AffineConversionUnit_ownedAttribute.factor" xmi:type="uml:Property">
        <name>factor</name>
        <type href="http://www.omg.org/spec/SysML/20150709/SysML.xmi#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_AffineConversionUnit_ownedAttribute.offset" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_AffineConversionUnit_ownedAttribute.offset" xmi:type="uml:Property">
        <name>offset</name>
        <type href="http://www.omg.org/spec/SysML/20150709/SysML.xmi#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:id="QUDV.class_packagedElement_ConversionBasedUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_ConversionBasedUnit" xmi:type="uml:Class">
      <name>ConversionBasedUnit</name>
      <isAbstract>true</isAbstract>
      <generalization xmi:id="QUDV.class_packagedElement_ConversionBasedUnit._generalization.QUDV.class_packagedElement_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_ConversionBasedUnit._generalization.QUDV.class_packagedElement_Unit" xmi:type="uml:Generalization">
        <general xmi:idref="QUDV.class_packagedElement_Unit"/>
      </generalization>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_ConversionBasedUnit_ownedAttribute.isInvertible" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_ConversionBasedUnit_ownedAttribute.isInvertible" xmi:type="uml:Property">
        <name>isInvertible</name>
        <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_ConversionBasedUnit_ownedAttribute.referenceUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_ConversionBasedUnit_ownedAttribute.referenceUnit" xmi:type="uml:Property">
        <name>referenceUnit</name>
        <type xmi:idref="QUDV.class_packagedElement_Unit"/>
        <association xmi:idref="QUDV.association_packagedElement_A_conversionBasedUnit_referenceUnit"/>
      </ownedAttribute>
      <ownedOperation xmi:id="QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit" xmi:type="uml:Operation">
        <name>dependsOnUnits</name>
        <isQuery>true</isQuery>
        <ownedComment xmi:id="QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit._ownedComment.0" xmi:type="uml:Comment">
          <body>A ConversionBasedUnit transitively depends on its referenceUnit and all of the Units that its referenceUnit depends on.</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit"/>
        </ownedComment>
        <ownedRule xmi:idref="QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body"/>
        <ownedParameter 
        xmi:id="QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result" xmi:type="uml:Parameter">
          <name>result</name>
          <lowerValue 
          xmi:id="QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
</lowerValue>
          <upperValue 
          xmi:id="QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
            <value>*</value>
</upperValue>
          <type xmi:idref="QUDV.class_packagedElement_Unit"/>
</ownedParameter>
        <bodyCondition xmi:id="QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body" xmi:type="uml:Constraint">
          <name>body</name>
          <specification 
          xmi:id="QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
            <body>referenceUnit.dependsOnUnits()-&gt;including(referenceUnit)-&gt;asSet()</body>
            <language>OCL2.0</language>
</specification>
          <constrainedElement xmi:idref="QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit"/>
        </bodyCondition>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:id="QUDV.class_packagedElement_DerivedQuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedQuantityKind" xmi:type="uml:Class">
      <name>DerivedQuantityKind</name>
      <generalization xmi:id="QUDV.class_packagedElement_DerivedQuantityKind._generalization.QUDV.class_packagedElement_QuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedQuantityKind._generalization.QUDV.class_packagedElement_QuantityKind" xmi:type="uml:Generalization">
        <general xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
      </generalization>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_DerivedQuantityKind_ownedAttribute.factor" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedQuantityKind_ownedAttribute.factor" xmi:type="uml:Property">
        <name>factor</name>
        <upperValue xmi:id="QUDV.class_packagedElement_DerivedQuantityKind_ownedAttribute.factor_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedQuantityKind_ownedAttribute.factor_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
        </upperValue>
        <type xmi:idref="QUDV.class_packagedElement_QuantityKindFactor"/>
        <association xmi:idref="QUDV.association_packagedElement_A_derivedQuantityKind_factor"/>
      </ownedAttribute>
      <ownedOperation xmi:id="QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind" xmi:type="uml:Operation">
        <name>dependsOnQuantityKinds</name>
        <isQuery>true</isQuery>
        <ownedComment xmi:id="QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind._ownedComment.0" xmi:type="uml:Comment">
          <body>A DerivedQuantityKind transitively depends on its factors' QuantityKinds and all of the QuantityKinds that its factors' QuantityKinds depend on.</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind"/>
        </ownedComment>
        <ownedRule xmi:idref="QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.constraint_bodyCondition_body"/>
        <ownedParameter 
        xmi:id="QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:type="uml:Parameter">
          <name>result</name>
          <lowerValue 
          xmi:id="QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
</lowerValue>
          <upperValue 
          xmi:id="QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
            <value>*</value>
</upperValue>
          <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
</ownedParameter>
        <bodyCondition 
        xmi:id="QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.constraint_bodyCondition_body" xmi:type="uml:Constraint">
          <name>body</name>
          <specification 
          xmi:id="QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
            <body>factor.quantityKind.dependsOnQuantityKinds()-&gt;flatten()-&gt;asSet()-&gt;union(factor.quantityKind-&gt;flatten()-&gt;asSet())-&gt;asSet()</body>
            <language>OCL2.0</language>
</specification>
          <constrainedElement xmi:idref="QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind"/>
</bodyCondition>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:id="QUDV.class_packagedElement_DerivedUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit" xmi:type="uml:Class">
      <name>DerivedUnit</name>
      <ownedRule xmi:id="QUDV.class_packagedElement_DerivedUnit.constraint_ownedRule_mustSpecifyQuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit.constraint_ownedRule_mustSpecifyQuantityKind" xmi:type="uml:Constraint">
        <name>mustSpecifyQuantityKind</name>
        <ownedComment xmi:id="QUDV.class_packagedElement_DerivedUnit.constraint_ownedRule_mustSpecifyQuantityKind._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit.constraint_ownedRule_mustSpecifyQuantityKind._ownedComment.0" xmi:type="uml:Comment">
          <body>Since a DerivedUnit is defined as a product factor of one or more other Units, it must specify explicitly its QuantityKinds.</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_DerivedUnit.constraint_ownedRule_mustSpecifyQuantityKind"/>
        </ownedComment>
        <specification xmi:id="QUDV.class_packagedElement_DerivedUnit.constraint_ownedRule_mustSpecifyQuantityKind_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit.constraint_ownedRule_mustSpecifyQuantityKind_specification" xmi:type="uml:OpaqueExpression">
          <body>quantityKind &lt;&gt; null and quantityKind-&gt;notEmpty()</body>
          <language>OCL2.0</language>
        </specification>
      </ownedRule>
      <generalization xmi:id="QUDV.class_packagedElement_DerivedUnit._generalization.QUDV.class_packagedElement_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit._generalization.QUDV.class_packagedElement_Unit" xmi:type="uml:Generalization">
        <general xmi:idref="QUDV.class_packagedElement_Unit"/>
      </generalization>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_DerivedUnit_ownedAttribute.factor" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit_ownedAttribute.factor" xmi:type="uml:Property">
        <name>factor</name>
        <upperValue xmi:id="QUDV.class_packagedElement_DerivedUnit_ownedAttribute.factor_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit_ownedAttribute.factor_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
        </upperValue>
        <type xmi:idref="QUDV.class_packagedElement_UnitFactor"/>
        <association xmi:idref="QUDV.association_packagedElement_A_derivedUnit_factor"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_DerivedUnit_ownedAttribute.hasReducedFactors" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit_ownedAttribute.hasReducedFactors" xmi:type="uml:Property">
        <name>hasReducedFactors</name>
        <ownedComment xmi:id="QUDV.class_packagedElement_DerivedUnit_ownedAttribute.hasReducedFactors._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit_ownedAttribute.hasReducedFactors._ownedComment.0" xmi:type="uml:Comment">
          <body>
            If true, the UnitFactors specifying the product of powers of other measurement units that define the DerivedUnit cannot be simplified. If false, the DerivedUnit is non-reduced; some UnitFactors can be simplified. A non-reduced DerivedUnit can have as a general unit other DerivedUnits defined in terms of simplified UnitFactors, possibly in reduced form.
          </body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_DerivedUnit_ownedAttribute.hasReducedFactors"/>
        </ownedComment>
        <defaultValue xmi:id="QUDV.class_packagedElement_DerivedUnit_ownedAttribute.hasReducedFactors_defaultValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit_ownedAttribute.hasReducedFactors_defaultValue" xmi:type="uml:LiteralBoolean">
          <value>true</value>
        </defaultValue>
        <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
      </ownedAttribute>
      <ownedOperation xmi:id="QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit" xmi:type="uml:Operation">
        <name>dependsOnUnits</name>
        <isQuery>true</isQuery>
        <ownedComment xmi:id="QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit._ownedComment.0" xmi:type="uml:Comment">
          <body>A DerivedUnit transitively depends on its factors' Units and all of the Units that its factors' Units depend on.</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit"/>
        </ownedComment>
        <ownedRule xmi:idref="QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body"/>
        <ownedParameter xmi:id="QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result" xmi:type="uml:Parameter">
          <name>result</name>
          <lowerValue 
          xmi:id="QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
</lowerValue>
          <upperValue 
          xmi:id="QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
            <value>*</value>
</upperValue>
          <type xmi:idref="QUDV.class_packagedElement_Unit"/>
        </ownedParameter>
        <bodyCondition xmi:id="QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body" xmi:type="uml:Constraint">
          <name>body</name>
          <specification 
          xmi:id="QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
            <body>factor.unit.dependsOnUnits()-&gt;flatten()-&gt;asSet()-&gt;union(factor.unit-&gt;flatten()-&gt;asSet())-&gt;asSet()</body>
            <language>OCL2.0</language>
</specification>
          <constrainedElement xmi:idref="QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit"/>
        </bodyCondition>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:id="QUDV.class_packagedElement_Dimension" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Dimension" xmi:type="uml:Class">
      <name>Dimension</name>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_Dimension_ownedAttribute.factor" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Dimension_ownedAttribute.factor" xmi:type="uml:Property">
        <name>factor</name>
        <isOrdered>true</isOrdered>
        <lowerValue xmi:id="QUDV.class_packagedElement_Dimension_ownedAttribute.factor_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Dimension_ownedAttribute.factor_lowerValue" xmi:type="uml:LiteralInteger"/>
        <upperValue xmi:id="QUDV.class_packagedElement_Dimension_ownedAttribute.factor_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Dimension_ownedAttribute.factor_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
        </upperValue>
        <type xmi:idref="QUDV.class_packagedElement_QuantityKindFactor"/>
        <association xmi:idref="QUDV.association_packagedElement_A_dimension_factor"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_Dimension_ownedAttribute.symbolicExpression" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Dimension_ownedAttribute.symbolicExpression" xmi:type="uml:Property">
        <name>symbolicExpression</name>
        <ownedComment xmi:id="QUDV.class_packagedElement_Dimension_ownedAttribute.symbolicExpression._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Dimension_ownedAttribute.symbolicExpression._ownedComment.0" xmi:type="uml:Comment">
          <body>Symbolic expression of the quantity dimension's product of powers, in terms of symbols of the kinds of quantity that represent the base kinds of quantity and their exponents. In tool implementations, the symbolicExpression may automatically derived from the associated factor set.</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_Dimension_ownedAttribute.symbolicExpression"/>
        </ownedComment>
        <lowerValue xmi:id="QUDV.class_packagedElement_Dimension_ownedAttribute.symbolicExpression_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Dimension_ownedAttribute.symbolicExpression_lowerValue" xmi:type="uml:LiteralInteger"/>
        <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:id="QUDV.class_packagedElement_GeneralConversionUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_GeneralConversionUnit" xmi:type="uml:Class">
      <name>GeneralConversionUnit</name>
      <generalization 
      xmi:id="QUDV.class_packagedElement_GeneralConversionUnit._generalization.QUDV.class_packagedElement_ConversionBasedUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_GeneralConversionUnit._generalization.QUDV.class_packagedElement_ConversionBasedUnit" xmi:type="uml:Generalization">
        <general xmi:idref="QUDV.class_packagedElement_ConversionBasedUnit"/>
</generalization>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_GeneralConversionUnit_ownedAttribute.expression" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_GeneralConversionUnit_ownedAttribute.expression" xmi:type="uml:Property">
        <name>expression</name>
        <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_GeneralConversionUnit_ownedAttribute.expressionLanguageURI" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_GeneralConversionUnit_ownedAttribute.expressionLanguageURI" xmi:type="uml:Property">
        <name>expressionLanguageURI</name>
        <lowerValue xmi:id="QUDV.class_packagedElement_GeneralConversionUnit_ownedAttribute.expressionLanguageURI_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_GeneralConversionUnit_ownedAttribute.expressionLanguageURI_lowerValue" xmi:type="uml:LiteralInteger"/>
        <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:id="QUDV.class_packagedElement_LinearConversionUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_LinearConversionUnit" xmi:type="uml:Class">
      <name>LinearConversionUnit</name>
      <ownedRule xmi:id="QUDV.class_packagedElement_LinearConversionUnit.constraint_ownedRule_invertible" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_LinearConversionUnit.constraint_ownedRule_invertible" xmi:type="uml:Constraint">
        <name>invertible</name>
        <specification xmi:id="QUDV.class_packagedElement_LinearConversionUnit.constraint_ownedRule_invertible_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_LinearConversionUnit.constraint_ownedRule_invertible_specification" xmi:type="uml:OpaqueExpression">
          <body>isInvertible = true</body>
          <language>OCL2.0</language>
        </specification>
      </ownedRule>
      <generalization 
      xmi:id="QUDV.class_packagedElement_LinearConversionUnit._generalization.QUDV.class_packagedElement_ConversionBasedUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_LinearConversionUnit._generalization.QUDV.class_packagedElement_ConversionBasedUnit" xmi:type="uml:Generalization">
        <general xmi:idref="QUDV.class_packagedElement_ConversionBasedUnit"/>
</generalization>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_LinearConversionUnit_ownedAttribute.factor" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_LinearConversionUnit_ownedAttribute.factor" xmi:type="uml:Property">
        <name>factor</name>
        <type href="http://www.omg.org/spec/SysML/20150709/SysML.xmi#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:id="QUDV.class_packagedElement_Prefix" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Prefix" xmi:type="uml:Class">
      <name>Prefix</name>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_Prefix_ownedAttribute.factor" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Prefix_ownedAttribute.factor" xmi:type="uml:Property">
        <name>factor</name>
        <type xmi:idref="QUDV.dataType_packagedElement_Rational"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_Prefix_ownedAttribute.symbol" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Prefix_ownedAttribute.symbol" xmi:type="uml:Property">
        <name>symbol</name>
        <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:id="QUDV.class_packagedElement_PrefixedUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_PrefixedUnit" xmi:type="uml:Class">
      <name>PrefixedUnit</name>
      <ownedRule xmi:id="QUDV.class_packagedElement_PrefixedUnit.constraint_ownedRule_PU1" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_PrefixedUnit.constraint_ownedRule_PU1" xmi:type="uml:Constraint">
        <name>PU1</name>
        <ownedComment xmi:id="QUDV.class_packagedElement_PrefixedUnit.constraint_ownedRule_PU1._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_PrefixedUnit.constraint_ownedRule_PU1._ownedComment.0" xmi:type="uml:Comment">
          <body>The referenceUnit shall not be a PrefixedUnit, i.e.,it is not allowed to prefix an already prefixed measurement unit. In general the referenceUnit should be a SimpleUnit.</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_PrefixedUnit.constraint_ownedRule_PU1"/>
        </ownedComment>
        <specification xmi:id="QUDV.class_packagedElement_PrefixedUnit.constraint_ownedRule_PU1_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_PrefixedUnit.constraint_ownedRule_PU1_specification" xmi:type="uml:OpaqueExpression">
          <body>not referenceUnit.oclIsTypeOf(PrefixedUnit)</body>
          <language>OCL2.0</language>
        </specification>
      </ownedRule>
      <generalization xmi:id="QUDV.class_packagedElement_PrefixedUnit._generalization.QUDV.class_packagedElement_ConversionBasedUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_PrefixedUnit._generalization.QUDV.class_packagedElement_ConversionBasedUnit" xmi:type="uml:Generalization">
        <general xmi:idref="QUDV.class_packagedElement_ConversionBasedUnit"/>
      </generalization>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_PrefixedUnit_ownedAttribute.noQuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_PrefixedUnit_ownedAttribute.noQuantityKind" xmi:type="uml:Property">
        <name>noQuantityKind</name>
        <lowerValue xmi:id="QUDV.class_packagedElement_PrefixedUnit_ownedAttribute.noQuantityKind_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_PrefixedUnit_ownedAttribute.noQuantityKind_lowerValue" xmi:type="uml:LiteralInteger"/>
        <upperValue xmi:id="QUDV.class_packagedElement_PrefixedUnit_ownedAttribute.noQuantityKind_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_PrefixedUnit_ownedAttribute.noQuantityKind_upperValue" xmi:type="uml:LiteralUnlimitedNatural"/>
        <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
        <association xmi:idref="QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit"/>
        <redefinedProperty xmi:idref="QUDV.class_packagedElement_Unit_ownedAttribute.quantityKind"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_PrefixedUnit_ownedAttribute.prefix" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_PrefixedUnit_ownedAttribute.prefix" xmi:type="uml:Property">
        <name>prefix</name>
        <type xmi:idref="QUDV.class_packagedElement_Prefix"/>
        <association xmi:idref="QUDV.association_packagedElement_A_prefixedUnit_prefix"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:id="QUDV.class_packagedElement_QuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind" xmi:type="uml:Class">
      <name>QuantityKind</name>
      <isAbstract>true</isAbstract>
      <ownedRule xmi:id="QUDV.class_packagedElement_QuantityKind.constraint_ownedRule_acyclic_quantity_kind_dependencies" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind.constraint_ownedRule_acyclic_quantity_kind_dependencies" xmi:type="uml:Constraint">
        <name>acyclic_quantity_kind_dependencies</name>
        <ownedComment xmi:id="QUDV.class_packagedElement_QuantityKind.constraint_ownedRule_acyclic_quantity_kind_dependencies._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind.constraint_ownedRule_acyclic_quantity_kind_dependencies._ownedComment.0" xmi:type="uml:Comment">
          <body>A QuantityKind cannot be defined in terms of itself. This follows from the quantity calculus used for expressing a derived QuantityKind in terms of base QuantityKinds chosen for a SystemOfQuantities by means of non-contradictory equations (See ISO 80000-1, 4.3).</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_QuantityKind.constraint_ownedRule_acyclic_quantity_kind_dependencies"/>
        </ownedComment>
        <specification 
        xmi:id="QUDV.class_packagedElement_QuantityKind.constraint_ownedRule_acyclic_quantity_kind_dependencies_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind.constraint_ownedRule_acyclic_quantity_kind_dependencies_specification" xmi:type="uml:OpaqueExpression">
          <body>dependsOnQuantityKinds-&gt;excludes(self)</body>
          <language>OCL2.0</language>
</specification>
      </ownedRule>
      <generalization 
      xmi:id="QUDV.class_packagedElement_QuantityKind._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind" xmi:type="uml:Generalization">
        <general href="http://www.omg.org/spec/SysML/20150709/SysML.xmi#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind"/>
</generalization>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.dependsOnQuantityKinds" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.dependsOnQuantityKinds" xmi:type="uml:Property">
        <name>dependsOnQuantityKinds</name>
        <isReadOnly>true</isReadOnly>
        <isDerived>true</isDerived>
        <ownedComment xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.dependsOnQuantityKinds._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.dependsOnQuantityKinds._ownedComment.0" xmi:type="uml:Comment">
          <body>The set of all QuantityKinds that this QuantityKind directly or indirectly depends on according to its definition.</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_QuantityKind_ownedAttribute.dependsOnQuantityKinds"/>
        </ownedComment>
        <lowerValue xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.dependsOnQuantityKinds_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.dependsOnQuantityKinds_lowerValue" xmi:type="uml:LiteralInteger"/>
        <upperValue xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.dependsOnQuantityKinds_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.dependsOnQuantityKinds_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
        </upperValue>
        <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.general" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.general" xmi:type="uml:Property">
        <name>general</name>
        <lowerValue xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.general_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.general_lowerValue" xmi:type="uml:LiteralInteger"/>
        <upperValue xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.general_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.general_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
        </upperValue>
        <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
        <association xmi:idref="QUDV.association_packagedElement_A_generalQuantityKind_specificQuantityKind"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.isNumberOfEntities" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.isNumberOfEntities" xmi:type="uml:Property">
        <name>isNumberOfEntities</name>
        <ownedComment xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.isNumberOfEntities._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.isNumberOfEntities._ownedComment.0" xmi:type="uml:Comment">
          <body>If true, indicates that the QuantityKind represents a number of entities (see ISO 80000-1, 3.8, Note 4).</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_QuantityKind_ownedAttribute.isNumberOfEntities"/>
        </ownedComment>
        <defaultValue xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.isNumberOfEntities_defaultValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.isNumberOfEntities_defaultValue" xmi:type="uml:LiteralBoolean"/>
        <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.isQuantityOfDimensionOne" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.isQuantityOfDimensionOne" xmi:type="uml:Property">
        <name>isQuantityOfDimensionOne</name>
        <ownedComment xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.isQuantityOfDimensionOne._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.isQuantityOfDimensionOne._ownedComment.0" xmi:type="uml:Comment">
          <body>If true, indicates that the QuantityKind has dimension one (see ISO 80000-1, 3.8).</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_QuantityKind_ownedAttribute.isQuantityOfDimensionOne"/>
        </ownedComment>
        <defaultValue xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.isQuantityOfDimensionOne_defaultValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.isQuantityOfDimensionOne_defaultValue" xmi:type="uml:LiteralBoolean"/>
        <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
      </ownedAttribute>
      <ownedOperation xmi:id="QUDV.class_packagedElement_QuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind" xmi:type="uml:Operation">
        <name>dependsOnQuantityKinds</name>
        <ownedComment xmi:id="QUDV.class_packagedElement_QuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind._ownedComment.0" xmi:type="uml:Comment">
          <body>Abstract operation specified in SpecializedQuantityKind, SimpleQuantityKind and DerivedQuantityKind to calculate the value of the derived property QuantityKind:/dependsOnQuantityKinds.</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_QuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind"/>
        </ownedComment>
        <ownedParameter 
        xmi:id="QUDV.class_packagedElement_QuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:type="uml:Parameter">
          <name>result</name>
          <lowerValue 
          xmi:id="QUDV.class_packagedElement_QuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
</lowerValue>
          <upperValue 
          xmi:id="QUDV.class_packagedElement_QuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
            <value>*</value>
</upperValue>
          <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
</ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:id="QUDV.class_packagedElement_QuantityKindFactor" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKindFactor" xmi:type="uml:Class">
      <name>QuantityKindFactor</name>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_QuantityKindFactor_ownedAttribute.exponent" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKindFactor_ownedAttribute.exponent" xmi:type="uml:Property">
        <name>exponent</name>
        <type xmi:idref="QUDV.dataType_packagedElement_Rational"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_QuantityKindFactor_ownedAttribute.quantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKindFactor_ownedAttribute.quantityKind" xmi:type="uml:Property">
        <name>quantityKind</name>
        <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
        <association xmi:idref="QUDV.association_packagedElement_A_quantityKindFactor_quantityKind"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:id="QUDV.class_packagedElement_SimpleQuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleQuantityKind" xmi:type="uml:Class">
      <name>SimpleQuantityKind</name>
      <generalization xmi:id="QUDV.class_packagedElement_SimpleQuantityKind._generalization.QUDV.class_packagedElement_QuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleQuantityKind._generalization.QUDV.class_packagedElement_QuantityKind" xmi:type="uml:Generalization">
        <general xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
      </generalization>
      <ownedOperation xmi:id="QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind" xmi:type="uml:Operation">
        <name>dependsOnQuantityKinds</name>
        <isQuery>true</isQuery>
        <ownedComment xmi:id="QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind._ownedComment.0" xmi:type="uml:Comment">
          <body>A SimpleQuantityKind does not depend on any other QuantityKind.</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind"/>
        </ownedComment>
        <ownedRule xmi:idref="QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.constraint_bodyCondition_body"/>
        <ownedParameter 
        xmi:id="QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:type="uml:Parameter">
          <name>result</name>
          <lowerValue 
          xmi:id="QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
</lowerValue>
          <upperValue 
          xmi:id="QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
            <value>*</value>
</upperValue>
          <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
</ownedParameter>
        <bodyCondition 
        xmi:id="QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.constraint_bodyCondition_body" xmi:type="uml:Constraint">
          <name>body</name>
          <specification 
          xmi:id="QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
            <body>Set(QuantityKind){}</body>
            <language>OCL2.0</language>
</specification>
          <constrainedElement xmi:idref="QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind"/>
</bodyCondition>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:id="QUDV.class_packagedElement_SimpleUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleUnit" xmi:type="uml:Class">
      <name>SimpleUnit</name>
      <generalization xmi:id="QUDV.class_packagedElement_SimpleUnit._generalization.QUDV.class_packagedElement_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleUnit._generalization.QUDV.class_packagedElement_Unit" xmi:type="uml:Generalization">
        <general xmi:idref="QUDV.class_packagedElement_Unit"/>
      </generalization>
      <ownedOperation xmi:id="QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit" xmi:type="uml:Operation">
        <name>dependsOnUnits</name>
        <isQuery>true</isQuery>
        <ownedComment xmi:id="QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit._ownedComment.0" xmi:type="uml:Comment">
          <body>A SimpleUnit, by definition, does not depend on any other Unit.</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit"/>
        </ownedComment>
        <ownedRule xmi:idref="QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body"/>
        <ownedParameter xmi:id="QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result" xmi:type="uml:Parameter">
          <name>result</name>
          <lowerValue 
          xmi:id="QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
</lowerValue>
          <upperValue 
          xmi:id="QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
            <value>*</value>
</upperValue>
          <type xmi:idref="QUDV.class_packagedElement_Unit"/>
        </ownedParameter>
        <bodyCondition xmi:id="QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body" xmi:type="uml:Constraint">
          <name>body</name>
          <specification 
          xmi:id="QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
            <body>Set(Unit){}</body>
            <language>OCL2.0</language>
</specification>
          <constrainedElement xmi:idref="QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit"/>
        </bodyCondition>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:id="QUDV.class_packagedElement_SystemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities" xmi:type="uml:Class">
      <name>SystemOfQuantities</name>
      <ownedRule xmi:id="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_acyclicProvenance" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_acyclicProvenance" xmi:type="uml:Constraint">
        <name>acyclicProvenance</name>
        <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_acyclicProvenance._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_acyclicProvenance._ownedComment.0" xmi:type="uml:Comment">
          <body>For a QuantityKind to have a provenance to a single SystemOfQuantities, the use and includes relationships among SystemOfQuantities must be acyclic.</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_acyclicProvenance"/>
        </ownedComment>
        <specification xmi:id="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_acyclicProvenance_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_acyclicProvenance_specification" xmi:type="uml:OpaqueExpression">
          <body>allAccessibleSystemOfQuantities()-&gt;excludes(self)</body>
          <language>OCL2.0</language>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_allBaseQuantitiesAreQuantities" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_allBaseQuantitiesAreQuantities" xmi:type="uml:Constraint">
        <name>allBaseQuantitiesAreQuantities</name>
        <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_allBaseQuantitiesAreQuantities._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_allBaseQuantitiesAreQuantities._ownedComment.0" xmi:type="uml:Comment">
          <body>
            The set of all QuantityKinds in a given SystemOfQuantities can be partitioned into two disjoint, covering subsets: the set of base QuantityKinds (typically chosen to be mutually independent) and all its complement, the set of derived QuantityKinds, each of which can be expressed in terms of the base QuantityKinds (See ISO 80000-1, 4.3).
          </body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_allBaseQuantitiesAreQuantities"/>
        </ownedComment>
        <specification 
        xmi:id="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_allBaseQuantitiesAreQuantities_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_allBaseQuantitiesAreQuantities_specification" xmi:type="uml:OpaqueExpression">
          <body>allQuantityKinds()-&gt;includesAll(allBaseQuantityKinds())</body>
          <language>OCL2.0</language>
</specification>
      </ownedRule>
      <ownedRule 
      xmi:id="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_includedSystemOfQuantities_transitivelyDisjoint_usedSystemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_includedSystemOfQuantities_transitivelyDisjoint_usedSystemOfQuantities" xmi:type="uml:Constraint">
        <name>includedSystemOfQuantities_transitivelyDisjoint_usedSystemOfQuantities</name>
        <ownedComment 
        xmi:id="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_includedSystemOfQuantities_transitivelyDisjoint_usedSystemOfQuantities._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_includedSystemOfQuantities_transitivelyDisjoint_usedSystemOfQuantities._ownedComment.0" xmi:type="uml:Comment">
          <body>For a QuantityKind to have a provenance to a single SystemOfQuantities, includedSystemsOfQuantities must be transitively disjoint with usedSystemsOfQuantities</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_includedSystemOfQuantities_transitivelyDisjoint_usedSystemOfQuantities"/>
</ownedComment>
        <specification 
        xmi:id="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_includedSystemOfQuantities_transitivelyDisjoint_usedSystemOfQuantities_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_includedSystemOfQuantities_transitivelyDisjoint_usedSystemOfQuantities_specification" xmi:type="uml:OpaqueExpression">
          <body>allIncludedSystemOfQuantities()-&gt;intersection(self.oclAsSet()-&gt;closure(usedSystemOfQuantities))-&gt;isEmpty()</body>
          <language>OCL2.0</language>
</specification>
</ownedRule>
      <ownedRule xmi:id="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_singleProvenance" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_singleProvenance" xmi:type="uml:Constraint">
        <name>singleProvenance</name>
        <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_singleProvenance._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_singleProvenance._ownedComment.0" xmi:type="uml:Comment">
          <body>
            Every QuantityKind must be defined in only one SystemOfQuantities but it can be in the scope of several SystemOfQuantities. A given QuantityKind is in scope of a SystemOfQuantities either because it is defined or used in a SystemOfQuantities or because it is included from the scope of another SystemOfQuantities.
          </body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_singleProvenance"/>
        </ownedComment>
        <specification xmi:id="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_singleProvenance_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_singleProvenance_specification" xmi:type="uml:OpaqueExpression">
          <body>includedSystemOfQuantities-&gt;collect(allQuantityKinds())-&gt;intersection(quantityKind)-&gt;isEmpty()</body>
          <language>OCL2.0</language>
        </specification>
      </ownedRule>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.baseQuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.baseQuantityKind" xmi:type="uml:Property">
        <name>baseQuantityKind</name>
        <isOrdered>true</isOrdered>
        <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.baseQuantityKind_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.baseQuantityKind_lowerValue" xmi:type="uml:LiteralInteger"/>
        <upperValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.baseQuantityKind_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.baseQuantityKind_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
        </upperValue>
        <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
        <association xmi:idref="QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind"/>
        <subsettedProperty xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.quantityKind"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.definitionURI" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.definitionURI" xmi:type="uml:Property">
        <name>definitionURI</name>
        <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.definitionURI_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.definitionURI_lowerValue" xmi:type="uml:LiteralInteger"/>
        <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.description" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.description" xmi:type="uml:Property">
        <name>description</name>
        <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.description_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.description_lowerValue" xmi:type="uml:LiteralInteger"/>
        <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.dimension" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.dimension" xmi:type="uml:Property">
        <name>dimension</name>
        <isOrdered>true</isOrdered>
        <isUnique>false</isUnique>
        <isReadOnly>true</isReadOnly>
        <isDerived>true</isDerived>
        <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.dimension_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.dimension_lowerValue" xmi:type="uml:LiteralInteger"/>
        <upperValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.dimension_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.dimension_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
        </upperValue>
        <type xmi:idref="QUDV.class_packagedElement_Dimension"/>
        <association xmi:idref="QUDV.association_packagedElement_A_systemOfQuantities_dimension"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.includedSystemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.includedSystemOfQuantities" xmi:type="uml:Property">
        <name>includedSystemOfQuantities</name>
        <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.includedSystemOfQuantities_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.includedSystemOfQuantities_lowerValue" xmi:type="uml:LiteralInteger"/>
        <upperValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.includedSystemOfQuantities_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.includedSystemOfQuantities_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
        </upperValue>
        <type xmi:idref="QUDV.class_packagedElement_SystemOfQuantities"/>
        <association xmi:idref="QUDV.association_packagedElement_A_includedSystemOfQuantities_systemOfQuantities"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.quantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.quantityKind" xmi:type="uml:Property">
        <name>quantityKind</name>
        <isOrdered>true</isOrdered>
        <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.quantityKind_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.quantityKind_lowerValue" xmi:type="uml:LiteralInteger"/>
        <upperValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.quantityKind_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.quantityKind_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
        </upperValue>
        <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
        <association xmi:idref="QUDV.association_packagedElement_A_systemOfQuantities_quantityKind"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.symbol" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.symbol" xmi:type="uml:Property">
        <name>symbol</name>
        <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.symbol_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.symbol_lowerValue" xmi:type="uml:LiteralInteger"/>
        <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.usedSystemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.usedSystemOfQuantities" xmi:type="uml:Property">
        <name>usedSystemOfQuantities</name>
        <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.usedSystemOfQuantities_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.usedSystemOfQuantities_lowerValue" xmi:type="uml:LiteralInteger"/>
        <upperValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.usedSystemOfQuantities_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.usedSystemOfQuantities_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
        </upperValue>
        <type xmi:idref="QUDV.class_packagedElement_SystemOfQuantities"/>
        <association xmi:idref="QUDV.association_packagedElement_A_usedSystemOfQuantities_systemOfQuantities"/>
      </ownedAttribute>
      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind" xmi:type="uml:Operation">
        <name>allAccessibleQuantityKinds</name>
        <isQuery>true</isQuery>
        <ownedComment 
        xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind._ownedComment.0" xmi:type="uml:Comment">
          <body>The query accessibleQuantityKinds() gives all the QuantityKinds directly defined in the SystemOfQuantities or transitively in any included or used SystemOfQuantities.</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind"/>
</ownedComment>
        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind.constraint_bodyCondition_body"/>
        <ownedParameter 
        xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:type="uml:Parameter">
          <name>result</name>
          <lowerValue 
          xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
</lowerValue>
          <upperValue 
          xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
            <value>*</value>
</upperValue>
          <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
</ownedParameter>
        <bodyCondition 
        xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind.constraint_bodyCondition_body" xmi:type="uml:Constraint">
          <name>body</name>
          <specification 
          xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
            <body>allAccessibleSystemOfQuantities()-&gt;collect(quantityKind)-&gt;flatten()-&gt;asSet()</body>
            <language>OCL2.0</language>
</specification>
          <constrainedElement xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind"/>
</bodyCondition>
      </ownedOperation>
      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities" xmi:type="uml:Operation">
        <name>allAccessibleSystemOfQuantities</name>
        <isQuery>true</isQuery>
        <ownedComment 
        xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities._ownedComment.0" xmi:type="uml:Comment">
          <body>The query allAccessibleSystemOfQuantities() gives all the SystemOfQuantities directly or transitively included or used.</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities"/>
</ownedComment>
        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body"/>
        <ownedParameter 
        xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result" xmi:type="uml:Parameter">
          <name>result</name>
          <lowerValue 
          xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
</lowerValue>
          <upperValue 
          xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
            <value>*</value>
</upperValue>
          <type xmi:idref="QUDV.class_packagedElement_SystemOfQuantities"/>
</ownedParameter>
        <bodyCondition 
        xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body" xmi:type="uml:Constraint">
          <name>body</name>
          <specification 
          xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
            <body>self-&gt;closure(includedSystemOfQuantities-&gt;union(usedSystemOfQuantities))-&gt;asSet()</body>
            <language>OCL2.0</language>
</specification>
</bodyCondition>
      </ownedOperation>
      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind" xmi:type="uml:Operation">
        <name>allBaseQuantityKinds</name>
        <isQuery>true</isQuery>
        <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind._ownedComment.0" xmi:type="uml:Comment">
          <body>The query allBaseQuantityKinds() gives all the QuantityKinds directly adopted or transitively adopted from any included SystemOfQuantities as base QuantityKinds.</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind"/>
        </ownedComment>
        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind.constraint_bodyCondition_body"/>
        <ownedParameter 
        xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:type="uml:Parameter">
          <name>result</name>
          <lowerValue 
          xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
</lowerValue>
          <upperValue 
          xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
            <value>*</value>
</upperValue>
          <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
</ownedParameter>
        <bodyCondition 
        xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind.constraint_bodyCondition_body" xmi:type="uml:Constraint">
          <name>body</name>
          <specification 
          xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
            <body>allIncludedSystemOfQuantities()-&gt;collect(baseQuantityKind)-&gt;flatten()-&gt;asSet()-&gt;union(baseQuantityKind)-&gt;asSet()</body>
            <language>OCL2.0</language>
</specification>
          <constrainedElement xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind"/>
</bodyCondition>
      </ownedOperation>
      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities" xmi:type="uml:Operation">
        <name>allIncludedSystemOfQuantities</name>
        <isQuery>true</isQuery>
        <ownedComment 
        xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities._ownedComment.0" xmi:type="uml:Comment">
          <body>The query allIncludedSystemOfQuantities() gives all the SystemOfQuantities directly or transitively included.</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities"/>
</ownedComment>
        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body"/>
        <ownedParameter 
        xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result" xmi:type="uml:Parameter">
          <name>result</name>
          <lowerValue 
          xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
</lowerValue>
          <upperValue 
          xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
            <value>*</value>
</upperValue>
          <type xmi:idref="QUDV.class_packagedElement_SystemOfQuantities"/>
</ownedParameter>
        <bodyCondition 
        xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body" xmi:type="uml:Constraint">
          <name>body</name>
          <specification 
          xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
            <body>self-&gt;closure(includedSystemOfQuantities)-&gt;asSet()</body>
            <language>OCL2.0</language>
</specification>
</bodyCondition>
      </ownedOperation>
      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind" xmi:type="uml:Operation">
        <name>allQuantityKinds</name>
        <isQuery>true</isQuery>
        <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind._ownedComment.0" xmi:type="uml:Comment">
          <body>
            The query allQuantityKinds() gives all the QuantityKinds in scope of a SystemOfQuantities; that is, each QuantityKind is either directly defined in the SystemOfQuantities, selectively used from another SystemOfQuantities or part of the scope of all the QuantityKinds included from another SystemOfQuantities.
          </body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind"/>
        </ownedComment>
        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind.constraint_bodyCondition_body"/>
        <ownedParameter 
        xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:type="uml:Parameter">
          <name>result</name>
          <lowerValue 
          xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
</lowerValue>
          <upperValue 
          xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
            <value>*</value>
</upperValue>
          <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
</ownedParameter>
        <bodyCondition 
        xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind.constraint_bodyCondition_body" xmi:type="uml:Constraint">
          <name>body</name>
          <specification 
          xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
            <body>allIncludedSystemOfQuantities()-&gt;collect(quantityKind)-&gt;flatten()-&gt;asSet()-&gt;union(quantityKind)-&gt;asSet()</body>
            <language>OCL2.0</language>
</specification>
          <constrainedElement xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind"/>
</bodyCondition>
      </ownedOperation>
      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.getDimension_QuantityKind_Dimension" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.getDimension_QuantityKind_Dimension" xmi:type="uml:Operation">
        <name>getDimension</name>
        <ownedParameter 
        xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.getDimension_QuantityKind_Dimension.parameter_ownedParameter_qk" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.getDimension_QuantityKind_Dimension.parameter_ownedParameter_qk" xmi:type="uml:Parameter">
          <name>qk</name>
          <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
</ownedParameter>
        <ownedParameter 
        xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.getDimension_QuantityKind_Dimension.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.getDimension_QuantityKind_Dimension.parameter_ownedParameter_result" xmi:type="uml:Parameter">
          <name>result</name>
          <type xmi:idref="QUDV.class_packagedElement_Dimension"/>
</ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:id="QUDV.class_packagedElement_SystemOfUnits" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits" xmi:type="uml:Class">
      <name>SystemOfUnits</name>
      <ownedRule xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_1" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_1" xmi:type="uml:Constraint">
        <name>SoU3_1</name>
        <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_1._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_1._ownedComment.0" xmi:type="uml:Comment">
          <body>In a well-formed SystemOfUnits, all of the prefixes of PrefixedUnits are defined in the SystemOfUnits.</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_1"/>
        </ownedComment>
        <specification xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_1_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_1_specification" xmi:type="uml:OpaqueExpression">
          <body>allPrefixes()-&gt;includesAll(allUnits()-&gt;select(oclIsTypeOf(PrefixedUnit))-&gt;collect(oclAsType(PrefixedUnit).prefix))</body>
          <language>OCL2.0</language>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_2" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_2" xmi:type="uml:Constraint">
        <name>SoU3_2</name>
        <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_2._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_2._ownedComment.0" xmi:type="uml:Comment">
          <body>All the dependent Units of a SystemOfUnits must be in the scope of that SystemOfUnits.</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_2"/>
        </ownedComment>
        <specification xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_2_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_2_specification" xmi:type="uml:OpaqueExpression">
          <body>allUnits()-&gt;includesAll(allUnits()-&gt;collect(dependsOnUnits())-&gt;flatten()-&gt;asSet())</body>
          <language>OCL2.0</language>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_3" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_3" xmi:type="uml:Constraint">
        <name>SoU3_3</name>
        <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_3._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_3._ownedComment.0" xmi:type="uml:Comment">
          <body>All of the quantityKinds that are measurementUnits of Units in the SystemOfUnits are defined in the systemOfQuantities of that SystemOfUnits.</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_3"/>
        </ownedComment>
        <specification xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_3_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_3_specification" xmi:type="uml:OpaqueExpression">
          <body>getEffectiveSystemOfQuantities() = null or let aqk : Set(QuantityKind) = getEffectiveSystemOfQuantities().allQuantityKinds() in allUnits()-&gt;forAll(u | aqk-&gt;includesAll(getKindOfQuantitiesForMeasurementUnit(u)))</body>
          <language>OCL2.0</language>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_acyclicProvenance" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_acyclicProvenance" xmi:type="uml:Constraint">
        <name>acyclicProvenance</name>
        <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_acyclicProvenance._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_acyclicProvenance._ownedComment.0" xmi:type="uml:Comment">
          <body>For a Unit to have a provenance to a single SystemOfUnits, the use and includes relationships among SystemOfUnits must be acyclic.</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_acyclicProvenance"/>
        </ownedComment>
        <specification xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_acyclicProvenance_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_acyclicProvenance_specification" xmi:type="uml:OpaqueExpression">
          <body>allAccessibleSystemOfUnits()-&gt;excludes(self)</body>
          <language>OCL2.0</language>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_allBaseUnitsAreUnits" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_allBaseUnitsAreUnits" xmi:type="uml:Constraint">
        <name>allBaseUnitsAreUnits</name>
        <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_allBaseUnitsAreUnits._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_allBaseUnitsAreUnits._ownedComment.0" xmi:type="uml:Comment">
          <body>
            The set of all Units in a given SystemOfUnits can be partitioned into two disjoint, covering subsets: the set of base Units (typically chosen to be mutually independent) and all its complement, the set of derived Units, each of which can be expressed in terms of the base Units (See ISO 80000-1, 6.4).
          </body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_allBaseUnitsAreUnits"/>
        </ownedComment>
        <specification xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_allBaseUnitsAreUnits_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_allBaseUnitsAreUnits_specification" xmi:type="uml:OpaqueExpression">
          <body>allUnits()-&gt;includesAll(allBaseUnits())</body>
          <language>OCL2.0</language>
        </specification>
      </ownedRule>
      <ownedRule 
      xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_includedSystemOfUnits_transitivelyDisjoint_usedSystemOfUnits" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_includedSystemOfUnits_transitivelyDisjoint_usedSystemOfUnits" xmi:type="uml:Constraint">
        <name>includedSystemOfUnits_transitivelyDisjoint_usedSystemOfUnits</name>
        <ownedComment 
        xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_includedSystemOfUnits_transitivelyDisjoint_usedSystemOfUnits._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_includedSystemOfUnits_transitivelyDisjoint_usedSystemOfUnits._ownedComment.0" xmi:type="uml:Comment">
          <body>For a Unit to have a provenance to a single SystemOfUnits, all included systems of units must be transitively disjoint with all used systems of units.</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_includedSystemOfUnits_transitivelyDisjoint_usedSystemOfUnits"/>
</ownedComment>
        <specification 
        xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_includedSystemOfUnits_transitivelyDisjoint_usedSystemOfUnits_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_includedSystemOfUnits_transitivelyDisjoint_usedSystemOfUnits_specification" xmi:type="uml:OpaqueExpression">
          <body>allIncludedSystemOfUnits()-&gt;intersection(self.oclAsSet()-&gt;closure(usedSystemOfUnits))-&gt;isEmpty()</body>
          <language>OCL2.0</language>
</specification>
</ownedRule>
      <ownedRule xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_singleProvenance" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_singleProvenance" xmi:type="uml:Constraint">
        <name>singleProvenance</name>
        <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_singleProvenance._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_singleProvenance._ownedComment.0" xmi:type="uml:Comment">
          <body>Every Unit must be defined in only one SystemOfUnits but it can be in the scope of several SystemOfUnits. A given Unit is in scope of a SystemOfUnits either because it is defined or used in a SystemOfUnits or because it is included from the scope of another SystemOfUnits.</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_singleProvenance"/>
        </ownedComment>
        <specification xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_singleProvenance_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_singleProvenance_specification" xmi:type="uml:OpaqueExpression">
          <body>includedSystemOfUnits-&gt;collect(allUnits())-&gt;intersection(unit)-&gt;isEmpty()</body>
          <language>OCL2.0</language>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_systemOfQuantitiesIncludesAllUnitsQuantityKinds" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_systemOfQuantitiesIncludesAllUnitsQuantityKinds" xmi:type="uml:Constraint">
        <name>systemOfQuantitiesIncludesAllUnitsQuantityKinds</name>
        <ownedComment 
        xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_systemOfQuantitiesIncludesAllUnitsQuantityKinds._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_systemOfQuantitiesIncludesAllUnitsQuantityKinds._ownedComment.0" xmi:type="uml:Comment">
          <body>For a Unit to have a provenance to a single SystemOfUnits, includedSystemsOfUnits must be transitively disjoint with usedSystemsOfUnits.</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_systemOfQuantitiesIncludesAllUnitsQuantityKinds"/>
</ownedComment>
        <specification 
        xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_systemOfQuantitiesIncludesAllUnitsQuantityKinds_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_systemOfQuantitiesIncludesAllUnitsQuantityKinds_specification" xmi:type="uml:OpaqueExpression">
          <body>let aqks : Set(QuantityKind) = getEffectiveSystemOfQuantities().allQuantityKinds() in allUnits()-&gt;forAll(u | getKindOfQuantitiesForMeasurementUnit(u)-&gt;intersection(aqks)-&gt;notEmpty())</body>
          <language>OCL2.0</language>
</specification>
      </ownedRule>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.baseUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.baseUnit" xmi:type="uml:Property">
        <name>baseUnit</name>
        <isOrdered>true</isOrdered>
        <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.baseUnit_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.baseUnit_lowerValue" xmi:type="uml:LiteralInteger"/>
        <upperValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.baseUnit_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.baseUnit_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
        </upperValue>
        <type xmi:idref="QUDV.class_packagedElement_Unit"/>
        <association xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_baseUnit"/>
        <subsettedProperty xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.unit"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.definitionURI" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.definitionURI" xmi:type="uml:Property">
        <name>definitionURI</name>
        <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.definitionURI_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.definitionURI_lowerValue" xmi:type="uml:LiteralInteger"/>
        <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.description" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.description" xmi:type="uml:Property">
        <name>description</name>
        <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.description_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.description_lowerValue" xmi:type="uml:LiteralInteger"/>
        <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.includedSystemOfUnits" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.includedSystemOfUnits" xmi:type="uml:Property">
        <name>includedSystemOfUnits</name>
        <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.includedSystemOfUnits_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.includedSystemOfUnits_lowerValue" xmi:type="uml:LiteralInteger"/>
        <upperValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.includedSystemOfUnits_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.includedSystemOfUnits_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
        </upperValue>
        <type xmi:idref="QUDV.class_packagedElement_SystemOfUnits"/>
        <association xmi:idref="QUDV.association_packagedElement_A_includedSystemOfUnits_systemOfUnits"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.prefix" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.prefix" xmi:type="uml:Property">
        <name>prefix</name>
        <isOrdered>true</isOrdered>
        <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.prefix_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.prefix_lowerValue" xmi:type="uml:LiteralInteger"/>
        <upperValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.prefix_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.prefix_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
        </upperValue>
        <type xmi:idref="QUDV.class_packagedElement_Prefix"/>
        <association xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_prefix"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.symbol" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.symbol" xmi:type="uml:Property">
        <name>symbol</name>
        <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.symbol_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.symbol_lowerValue" xmi:type="uml:LiteralInteger"/>
        <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.systemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.systemOfQuantities" xmi:type="uml:Property">
        <name>systemOfQuantities</name>
        <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.systemOfQuantities_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.systemOfQuantities_lowerValue" xmi:type="uml:LiteralInteger"/>
        <type xmi:idref="QUDV.class_packagedElement_SystemOfQuantities"/>
        <association xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_systemOfQuantities"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.unit" xmi:type="uml:Property">
        <name>unit</name>
        <isOrdered>true</isOrdered>
        <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.unit_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.unit_lowerValue" xmi:type="uml:LiteralInteger"/>
        <upperValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.unit_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.unit_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
        </upperValue>
        <type xmi:idref="QUDV.class_packagedElement_Unit"/>
        <association xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_unit"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.usedSystemOfUnits" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.usedSystemOfUnits" xmi:type="uml:Property">
        <name>usedSystemOfUnits</name>
        <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.usedSystemOfUnits_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.usedSystemOfUnits_lowerValue" xmi:type="uml:LiteralInteger"/>
        <upperValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.usedSystemOfUnits_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.usedSystemOfUnits_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
        </upperValue>
        <type xmi:idref="QUDV.class_packagedElement_SystemOfUnits"/>
        <association xmi:idref="QUDV.association_packagedElement_A_usedSystemOfUnits_systemOfUnits"/>
      </ownedAttribute>
      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits" xmi:type="uml:Operation">
        <name>allAccessibleSystemOfUnits</name>
        <isQuery>true</isQuery>
        <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits._ownedComment.0" xmi:type="uml:Comment">
          <body>The query allAccessibleSystemOfUnits() gives all the SystemOfUnits directly or transitively included or used.</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits"/>
        </ownedComment>
        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits.constraint_bodyCondition_body"/>
        <ownedParameter 
        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits.parameter_ownedParameter_result" xmi:type="uml:Parameter">
          <name>result</name>
          <lowerValue 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
</lowerValue>
          <upperValue 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
            <value>*</value>
</upperValue>
          <type xmi:idref="QUDV.class_packagedElement_SystemOfUnits"/>
</ownedParameter>
        <bodyCondition 
        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits.constraint_bodyCondition_body" xmi:type="uml:Constraint">
          <name>body</name>
          <specification 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
            <body>self-&gt;closure(includedSystemOfUnits-&gt;union(usedSystemOfUnits))-&gt;asSet()</body>
            <language>OCL2.0</language>
</specification>
</bodyCondition>
      </ownedOperation>
      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit" xmi:type="uml:Operation">
        <name>allAccessibleUnits</name>
        <isQuery>true</isQuery>
        <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit._ownedComment.0" xmi:type="uml:Comment">
          <body>The query accessibleUnits() gives all the Units directly defined in a SystemOfUnits or transitively in any included or used SystemOfUnits.</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit"/>
        </ownedComment>
        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit.constraint_bodyCondition_body"/>
        <ownedParameter xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit.parameter_ownedParameter_result" xmi:type="uml:Parameter">
          <name>result</name>
          <lowerValue 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
</lowerValue>
          <upperValue 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
            <value>*</value>
</upperValue>
          <type xmi:idref="QUDV.class_packagedElement_Unit"/>
        </ownedParameter>
        <bodyCondition xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit.constraint_bodyCondition_body" xmi:type="uml:Constraint">
          <name>body</name>
          <specification 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
            <body>allAccessibleSystemOfUnits()-&gt;collect(unit)-&gt;flatten()-&gt;asSet()</body>
            <language>OCL2.0</language>
</specification>
          <constrainedElement xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit"/>
        </bodyCondition>
      </ownedOperation>
      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind" xmi:type="uml:Operation">
        <name>allBaseQuantityKinds</name>
        <isQuery>true</isQuery>
        <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind._ownedComment.0" xmi:type="uml:Comment">
          <body>The query allBaseQuantityKinds() gives all the QuantityKinds directly adopted or transitively adopted from any included SystemOfQuantities as base QuantityKinds in the effective SystemOfQuantities associated to a SystemOfUnits.</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind"/>
        </ownedComment>
        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind.constraint_bodyCondition_result"/>
        <ownedParameter 
        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:type="uml:Parameter">
          <name>result</name>
          <lowerValue 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
</lowerValue>
          <upperValue 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
            <value>*</value>
</upperValue>
          <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
</ownedParameter>
        <bodyCondition 
        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind.constraint_bodyCondition_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind.constraint_bodyCondition_result" xmi:type="uml:Constraint">
          <name>result</name>
          <specification 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind.constraint_bodyCondition_result_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind.constraint_bodyCondition_result_specification" xmi:type="uml:OpaqueExpression">
            <body>getEffectiveSystemOfQuantities().allBaseQuantityKinds()-&gt;flatten()-&gt;asSet()</body>
            <language>OCL2.0</language>
</specification>
</bodyCondition>
      </ownedOperation>
      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit" xmi:type="uml:Operation">
        <name>allBaseUnits</name>
        <isQuery>true</isQuery>
        <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit._ownedComment.0" xmi:type="uml:Comment">
          <body>The query allBaseUnits() gives all the Units directly adopted or transitively adopted from any included SystemOfUnits as base Units.</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit"/>
        </ownedComment>
        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit.constraint_bodyCondition_body"/>
        <ownedParameter xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit.parameter_ownedParameter_result" xmi:type="uml:Parameter">
          <name>result</name>
          <lowerValue 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
</lowerValue>
          <upperValue 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
            <value>*</value>
</upperValue>
          <type xmi:idref="QUDV.class_packagedElement_Unit"/>
        </ownedParameter>
        <bodyCondition xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit.constraint_bodyCondition_body" xmi:type="uml:Constraint">
          <name>body</name>
          <specification 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
            <body>allIncludedSystemOfUnits()-&gt;collect(baseUnit)-&gt;flatten()-&gt;asSet()-&gt;union(baseUnit)-&gt;asSet()</body>
            <language>OCL2.0</language>
</specification>
          <constrainedElement xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit"/>
        </bodyCondition>
      </ownedOperation>
      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits" xmi:type="uml:Operation">
        <name>allIncludedSystemOfUnits</name>
        <isQuery>true</isQuery>
        <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits._ownedComment.0" xmi:type="uml:Comment">
          <body>The query allIncludedSystemOfUnits() gives all the SystemOfUnits directly or transitively included.</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits"/>
        </ownedComment>
        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits.constraint_bodyCondition_body"/>
        <ownedParameter 
        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits.parameter_ownedParameter_result" xmi:type="uml:Parameter">
          <name>result</name>
          <lowerValue 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
</lowerValue>
          <upperValue 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
            <value>*</value>
</upperValue>
          <type xmi:idref="QUDV.class_packagedElement_SystemOfUnits"/>
</ownedParameter>
        <bodyCondition 
        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits.constraint_bodyCondition_body" xmi:type="uml:Constraint">
          <name>body</name>
          <specification 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
            <body>self-&gt;closure(includedSystemOfUnits-&gt;union(usedSystemOfUnits))-&gt;asSet()</body>
            <language>OCL2.0</language>
</specification>
</bodyCondition>
      </ownedOperation>
      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allMeasurementUnitsDefinedForSomeQuantityKind_Boolean" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allMeasurementUnitsDefinedForSomeQuantityKind_Boolean" xmi:type="uml:Operation">
        <name>allMeasurementUnitsDefinedForSomeQuantityKind</name>
        <isQuery>true</isQuery>
        <ownedComment 
        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allMeasurementUnitsDefinedForSomeQuantityKind_Boolean._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allMeasurementUnitsDefinedForSomeQuantityKind_Boolean._ownedComment.0" xmi:type="uml:Comment">
          <body>The predicate allMeasurementUnitsDefinedForSomeQuantityKind() determines whether, in a SystemOfUnits, every Unit must be defined, by convention, as a multiplicable reference for at least one QuantityKind (see ISO 80000-1, 3.9).</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allMeasurementUnitsDefinedForSomeQuantityKind_Boolean"/>
</ownedComment>
        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allMeasurementUnitsDefinedForSomeQuantityKind_Boolean.constraint_bodyCondition_body"/>
        <ownedParameter 
        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allMeasurementUnitsDefinedForSomeQuantityKind_Boolean.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allMeasurementUnitsDefinedForSomeQuantityKind_Boolean.parameter_ownedParameter_result" xmi:type="uml:Parameter">
          <name>result</name>
          <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
</ownedParameter>
        <bodyCondition 
        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allMeasurementUnitsDefinedForSomeQuantityKind_Boolean.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allMeasurementUnitsDefinedForSomeQuantityKind_Boolean.constraint_bodyCondition_body" xmi:type="uml:Constraint">
          <name>body</name>
          <specification 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allMeasurementUnitsDefinedForSomeQuantityKind_Boolean.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allMeasurementUnitsDefinedForSomeQuantityKind_Boolean.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
            <body>allUnits()-&gt;forAll(quantityKind &lt;&gt; null)</body>
            <language>OCL2.0</language>
</specification>
</bodyCondition>
      </ownedOperation>
      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix" xmi:type="uml:Operation">
        <name>allPrefixes</name>
        <isQuery>true</isQuery>
        <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix._ownedComment.0" xmi:type="uml:Comment">
          <body>The query allPrefixes() gives all the Prefixes in scope of a SystemOfUnits; that is, each Prefix is either directly defined in the SystemOfUnits or in any accessible SystemOfUnits.</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix"/>
        </ownedComment>
        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix.constraint_bodyCondition_body"/>
        <ownedParameter xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix.parameter_ownedParameter_result" xmi:type="uml:Parameter">
          <name>result</name>
          <lowerValue 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
</lowerValue>
          <upperValue 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
            <value>*</value>
</upperValue>
          <type xmi:idref="QUDV.class_packagedElement_Prefix"/>
        </ownedParameter>
        <bodyCondition xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix.constraint_bodyCondition_body" xmi:type="uml:Constraint">
          <name>body</name>
          <specification 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
            <body>allAccessibleSystemOfUnits()-&gt;including(self)-&gt;collect(prefix)-&gt;flatten()-&gt;asSet()</body>
            <language>OCL2.0</language>
</specification>
        </bodyCondition>
      </ownedOperation>
      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit" xmi:type="uml:Operation">
        <name>allUnits</name>
        <isQuery>true</isQuery>
        <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit._ownedComment.0" xmi:type="uml:Comment">
          <body>The query allUnits() gives all the Units in scope of a SystemOfUnits; that is, each Unit is either directly defined in the SystemOfUnits, selectively used from another SystemOfUnits or part of the scope of all the Units included from another SystemOfUnits.</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit"/>
        </ownedComment>
        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit.constraint_bodyCondition_body"/>
        <ownedParameter xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit.parameter_ownedParameter_result" xmi:type="uml:Parameter">
          <name>result</name>
          <lowerValue 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
</lowerValue>
          <upperValue 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
            <value>*</value>
</upperValue>
          <type xmi:idref="QUDV.class_packagedElement_Unit"/>
        </ownedParameter>
        <bodyCondition xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit.constraint_bodyCondition_body" xmi:type="uml:Constraint">
          <name>body</name>
          <specification 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
            <body>allIncludedSystemOfUnits()-&gt;collect(unit)-&gt;flatten()-&gt;asSet()-&gt;union(unit)-&gt;asSet()</body>
            <language>OCL2.0</language>
</specification>
          <constrainedElement xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit"/>
        </bodyCondition>
      </ownedOperation>
      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit" xmi:type="uml:Operation">
        <name>getAdoptedBaseUnitForMeasurementUnit</name>
        <isQuery>true</isQuery>
        <ownedComment 
        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit._ownedComment.0" xmi:type="uml:Comment">
          <body>The query getAdoptedBaseUnitForMeasurementUnit() determines for a Unit u in scope of a SystemOfUnits the base Unit, if any, corresponding to u, which can be u itself if it is a baseUnit in that SystemOfUnits or its reference Unit if it is a base Unit and u is a PrefixUnit.</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit"/>
</ownedComment>
        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit.constraint_bodyCondition_body"/>
        <ownedParameter 
        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit.parameter_ownedParameter_result" xmi:type="uml:Parameter">
          <name>result</name>
          <lowerValue 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
</lowerValue>
          <type xmi:idref="QUDV.class_packagedElement_Unit"/>
</ownedParameter>
        <ownedParameter 
        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit.parameter_ownedParameter_u" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit.parameter_ownedParameter_u" xmi:type="uml:Parameter">
          <name>u</name>
          <type xmi:idref="QUDV.class_packagedElement_Unit"/>
</ownedParameter>
        <bodyCondition 
        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit.constraint_bodyCondition_body" xmi:type="uml:Constraint">
          <name>body</name>
          <specification 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
            <body>let abu : Set(Unit) = allBaseUnits() in if (abu-&gt;includes(u)) then u else if (u.oclIsKindOf(PrefixedUnit)) then abu-&gt;intersection(u.oclAsType(PrefixedUnit).referenceUnit-&gt;asSet())-&gt;any(true) else null endif endif</body>
            <language>OCL2.0</language>
</specification>
</bodyCondition>
      </ownedOperation>
      <ownedOperation 
      xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit" xmi:type="uml:Operation">
        <name>getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit</name>
        <isQuery>true</isQuery>
        <ownedComment 
        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit._ownedComment.0" xmi:type="uml:Comment">
          <body>The query getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit() determines for a Unit u in scope of a SystemOfUnits the base QuantityKind, if any, corresponding to the base Unit of u.</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit"/>
</ownedComment>
        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_bodyCondition_body"/>
        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_postcondition_knownPrimaryQuantityKind"/>
        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_precondition_baseUnitParameter"/>
        <ownedParameter 
        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_result" xmi:type="uml:Parameter">
          <name>result</name>
          <lowerValue 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
</lowerValue>
          <upperValue 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
            <value>*</value>
</upperValue>
          <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
</ownedParameter>
        <ownedParameter 
        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_u" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_u" xmi:type="uml:Parameter">
          <name>u</name>
          <type xmi:idref="QUDV.class_packagedElement_Unit"/>
</ownedParameter>
        <bodyCondition 
        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_bodyCondition_body" xmi:type="uml:Constraint">
          <name>body</name>
          <specification 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
            <body>let bu : Unit = getAdoptedBaseUnitForMeasurementUnit(u) in if (bu = null) then Set{} else let qks : Set(QuantityKind) = getKindOfQuantitiesForMeasurementUnit(bu) in allBaseQuantityKinds()-&gt;intersection(qks) endif</body>
            <language>OCL2.0</language>
</specification>
          <constrainedElement xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit"/>
</bodyCondition>
        <postcondition 
        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_postcondition_knownPrimaryQuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_postcondition_knownPrimaryQuantityKind" xmi:type="uml:Constraint">
          <name>knownPrimaryQuantityKind</name>
          <specification 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_postcondition_knownPrimaryQuantityKind_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_postcondition_knownPrimaryQuantityKind_specification" xmi:type="uml:OpaqueExpression">
            <body>getEffectiveSystemOfQuantities().allBaseQuantityKinds()-&gt;includesAll(result)</body>
            <language>OCL2.0</language>
</specification>
          <constrainedElement xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit"/>
</postcondition>
        <precondition 
        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_precondition_baseUnitParameter" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_precondition_baseUnitParameter" xmi:type="uml:Constraint">
          <name>baseUnitParameter</name>
          <specification 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_precondition_baseUnitParameter_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_precondition_baseUnitParameter_specification" xmi:type="uml:OpaqueExpression">
            <body>allBaseUnits()-&gt;includes(u)</body>
            <language>OCL2.0</language>
</specification>
</precondition>
</ownedOperation>
      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities" xmi:type="uml:Operation">
        <name>getEffectiveSystemOfQuantities</name>
        <isQuery>true</isQuery>
        <ownedComment 
        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities._ownedComment.0" xmi:type="uml:Comment">
          <body>The query getEffectiveSystemOfQuantities() determines for a SystemOfUnits the SystemOfQuantities, if any, that it is directly or indirectly associated with via included SystemOfUnits.</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities"/>
</ownedComment>
        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body"/>
        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.constraint_precondition_atMostOneSystemOfQuantities"/>
        <ownedParameter 
        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result" xmi:type="uml:Parameter">
          <name>result</name>
          <lowerValue 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
</lowerValue>
          <type xmi:idref="QUDV.class_packagedElement_SystemOfQuantities"/>
</ownedParameter>
        <bodyCondition 
        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body" xmi:type="uml:Constraint">
          <name>body</name>
          <specification 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
            <body>if systemOfQuantities = null then includedSystemOfUnits-&gt;collect(getEffectiveSystemOfQuantities())-&gt;flatten()-&gt;asSet()-&gt;any(true) else systemOfQuantities endif</body>
            <language>OCL2.0</language>
</specification>
          <constrainedElement xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities"/>
</bodyCondition>
        <precondition 
        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.constraint_precondition_atMostOneSystemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.constraint_precondition_atMostOneSystemOfQuantities" xmi:type="uml:Constraint">
          <name>atMostOneSystemOfQuantities</name>
          <specification 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.constraint_precondition_atMostOneSystemOfQuantities_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.constraint_precondition_atMostOneSystemOfQuantities_specification" xmi:type="uml:OpaqueExpression">
            <body>systemOfQuantities = null implies includedSystemOfUnits-&gt;collect(getEffectiveSystemOfQuantities())-&gt;asSet()-&gt;size() &lt;= 1</body>
            <language>OCL2.0</language>
</specification>
          <constrainedElement xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities"/>
</precondition>
      </ownedOperation>
      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit" xmi:type="uml:Operation">
        <name>getKindOfQuantitiesForMeasurementUnit</name>
        <isQuery>true</isQuery>
        <ownedComment 
        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit._ownedComment.0" xmi:type="uml:Comment">
          <body>The query getKindOfQuantitiesForMeasurementUnit() determines for a Unit u in scope of a SystemOfUnits the set of QuantityKinds corresponding to u, if specified, or to the Units that u is defined in terms of, if any.</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit"/>
</ownedComment>
        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.constraint_bodyCondition_body"/>
        <ownedParameter 
        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_result" xmi:type="uml:Parameter">
          <name>result</name>
          <lowerValue 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
</lowerValue>
          <upperValue 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
            <value>*</value>
</upperValue>
          <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
</ownedParameter>
        <ownedParameter 
        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_u" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_u" xmi:type="uml:Parameter">
          <name>u</name>
          <type xmi:idref="QUDV.class_packagedElement_Unit"/>
</ownedParameter>
        <bodyCondition 
        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.constraint_bodyCondition_body" xmi:type="uml:Constraint">
          <name>body</name>
          <specification 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
            <body>
              if (u.oclIsKindOf(SimpleUnit)) 
						then 
							u.quantityKind-&gt;collect(oclAsType(QuantityKind))-&gt;asSet()
						else if (u.oclIsKindOf(DerivedUnit)) 
							then let du : DerivedUnit = u.oclAsType(DerivedUnit) in 
								if (du.quantityKind &lt;&gt; null) then 
									du.quantityKind-&gt;collect(oclAsType(QuantityKind))-&gt;asSet() 
								else 
									getKindOfQuantitiesForMeasurementUnit(du.factor-&gt;any(true).unit) 
								endif
							else if (u.oclIsKindOf(ConversionBasedUnit)) 
								then let cu : ConversionBasedUnit = u.oclAsType(ConversionBasedUnit) in
									if (cu.oclIsKindOf(PrefixedUnit)) 
									then 
										getKindOfQuantitiesForMeasurementUnit(cu.referenceUnit)
									else 
										if (cu.quantityKind &lt;&gt; null) then 
											cu.quantityKind-&gt;collect(oclAsType(QuantityKind))-&gt;asSet()
										else 
											getKindOfQuantitiesForMeasurementUnit(cu.referenceUnit)
										endif
									endif
								else 
									Set(QuantityKind){}
								endif
							endif
						endif
            </body>
            <language>OCL2.0</language>
</specification>
</bodyCondition>
      </ownedOperation>
      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit" xmi:type="uml:Operation">
        <name>getUnit</name>
        <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit.constraint_bodyCondition_body"/>
        <ownedParameter xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit.parameter_ownedParameter_name" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit.parameter_ownedParameter_name" xmi:type="uml:Parameter">
          <name>name</name>
          <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"/>
        </ownedParameter>
        <ownedParameter xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit.parameter_ownedParameter_result" xmi:type="uml:Parameter">
          <name>result</name>
          <lowerValue 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
</lowerValue>
          <type xmi:idref="QUDV.class_packagedElement_Unit"/>
        </ownedParameter>
        <bodyCondition xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit.constraint_bodyCondition_body" xmi:type="uml:Constraint">
          <name>body</name>
          <specification 
          xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
            <body>allUnits()-&gt;select(u | u.name = name)-&gt;any(true)</body>
            <language>OCL2.0</language>
</specification>
        </bodyCondition>
      </ownedOperation>
      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.isCoherent_Boolean" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.isCoherent_Boolean" xmi:type="uml:Operation">
        <name>isCoherent</name>
        <ownedParameter xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.isCoherent_Boolean.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.isCoherent_Boolean.parameter_ownedParameter_result" xmi:type="uml:Parameter">
          <name>result</name>
          <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.isCoherent_DerivedUnit_Boolean" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.isCoherent_DerivedUnit_Boolean" xmi:type="uml:Operation">
        <name>isCoherent</name>
        <ownedParameter 
        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.isCoherent_DerivedUnit_Boolean.parameter_ownedParameter_du" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.isCoherent_DerivedUnit_Boolean.parameter_ownedParameter_du" xmi:type="uml:Parameter">
          <name>du</name>
          <type xmi:idref="QUDV.class_packagedElement_DerivedUnit"/>
</ownedParameter>
        <ownedParameter 
        xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.isCoherent_DerivedUnit_Boolean.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.isCoherent_DerivedUnit_Boolean.parameter_ownedParameter_result" xmi:type="uml:Parameter">
          <name>result</name>
          <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
</ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:id="QUDV.class_packagedElement_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit" xmi:type="uml:Class">
      <name>Unit</name>
      <isAbstract>true</isAbstract>
      <ownedRule xmi:id="QUDV.class_packagedElement_Unit.constraint_ownedRule_acyclic_unit_dependencies" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit.constraint_ownedRule_acyclic_unit_dependencies" xmi:type="uml:Constraint">
        <name>acyclic_unit_dependencies</name>
        <ownedComment xmi:id="QUDV.class_packagedElement_Unit.constraint_ownedRule_acyclic_unit_dependencies._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit.constraint_ownedRule_acyclic_unit_dependencies._ownedComment.0" xmi:type="uml:Comment">
          <body>A Unit cannot be defined in terms of itself. This follows from the requirement that, in a coherent SystemOfUnits, the Units of all derived QuantityKinds are expressed in terms of the base Units in accordance with the equations in the SystemOfQuantities (see ISO 80000-1, 6.4).</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_Unit.constraint_ownedRule_acyclic_unit_dependencies"/>
        </ownedComment>
        <specification xmi:id="QUDV.class_packagedElement_Unit.constraint_ownedRule_acyclic_unit_dependencies_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit.constraint_ownedRule_acyclic_unit_dependencies_specification" xmi:type="uml:OpaqueExpression">
          <body>dependsOnUnits-&gt;excludes(self)</body>
          <language>OCL2.0</language>
        </specification>
      </ownedRule>
      <generalization 
      xmi:id="QUDV.class_packagedElement_Unit._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit" xmi:type="uml:Generalization">
        <general href="http://www.omg.org/spec/SysML/20150709/SysML.xmi#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit"/>
</generalization>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.dependsOnUnits" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.dependsOnUnits" xmi:type="uml:Property">
        <name>dependsOnUnits</name>
        <isReadOnly>true</isReadOnly>
        <isDerived>true</isDerived>
        <ownedComment xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.dependsOnUnits._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.dependsOnUnits._ownedComment.0" xmi:type="uml:Comment">
          <body>The set of all Units that this Unit directly or indirectly depends on according to its definition.</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_Unit_ownedAttribute.dependsOnUnits"/>
        </ownedComment>
        <lowerValue xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.dependsOnUnits_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.dependsOnUnits_lowerValue" xmi:type="uml:LiteralInteger"/>
        <upperValue xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.dependsOnUnits_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.dependsOnUnits_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
        </upperValue>
        <type xmi:idref="QUDV.class_packagedElement_Unit"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.general" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.general" xmi:type="uml:Property">
        <name>general</name>
        <lowerValue xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.general_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.general_lowerValue" xmi:type="uml:LiteralInteger"/>
        <upperValue xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.general_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.general_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
        </upperValue>
        <type xmi:idref="QUDV.class_packagedElement_Unit"/>
        <association xmi:idref="QUDV.association_packagedElement_A_generalUnit_specificUnit"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.isUnitCountOfEntities" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.isUnitCountOfEntities" xmi:type="uml:Property">
        <name>isUnitCountOfEntities</name>
        <ownedComment xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.isUnitCountOfEntities._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.isUnitCountOfEntities._ownedComment.0" xmi:type="uml:Comment">
          <body>If true, indicates that the measurement unit represents a number of entities (see ISO 80000-1, 3.10, Note 3).</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_Unit_ownedAttribute.isUnitCountOfEntities"/>
        </ownedComment>
        <defaultValue xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.isUnitCountOfEntities_defaultValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.isUnitCountOfEntities_defaultValue" xmi:type="uml:LiteralBoolean"/>
        <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.isUnitForQuantityOfDimensionOne" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.isUnitForQuantityOfDimensionOne" xmi:type="uml:Property">
        <name>isUnitForQuantityOfDimensionOne</name>
        <ownedComment xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.isUnitForQuantityOfDimensionOne._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.isUnitForQuantityOfDimensionOne._ownedComment.0" xmi:type="uml:Comment">
          <body>If true, indicates that the corresponding QuantityKind has dimension one (see ISO 80000-1, 3.8).</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_Unit_ownedAttribute.isUnitForQuantityOfDimensionOne"/>
        </ownedComment>
        <defaultValue xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.isUnitForQuantityOfDimensionOne_defaultValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.isUnitForQuantityOfDimensionOne_defaultValue" xmi:type="uml:LiteralBoolean"/>
        <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.quantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.quantityKind" xmi:type="uml:Property">
        <name>quantityKind</name>
        <lowerValue xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.quantityKind_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.quantityKind_lowerValue" xmi:type="uml:LiteralInteger"/>
        <upperValue xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.quantityKind_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.quantityKind_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
          <value>*</value>
        </upperValue>
        <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
        <association xmi:idref="QUDV.association_packagedElement_A_quantityKind_measurementUnit"/>
        <redefinedProperty href="http://www.omg.org/spec/SysML/20150709/SysML.xmi#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit_ownedAttribute.quantityKind"/>
      </ownedAttribute>
      <ownedOperation xmi:id="QUDV.class_packagedElement_Unit_ownedOperation.dependsOnUnits_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedOperation.dependsOnUnits_Unit" xmi:type="uml:Operation">
        <name>dependsOnUnits</name>
        <ownedComment xmi:id="QUDV.class_packagedElement_Unit_ownedOperation.dependsOnUnits_Unit._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedOperation.dependsOnUnits_Unit._ownedComment.0" xmi:type="uml:Comment">
          <body>Abstract operation specified in ConversionBasedUnit, SimpleUnit and DerivedUnit to calculate the value of the derived property Unit:/dependsOnUnits.</body>
          <annotatedElement xmi:idref="QUDV.class_packagedElement_Unit_ownedOperation.dependsOnUnits_Unit"/>
        </ownedComment>
        <ownedParameter xmi:id="QUDV.class_packagedElement_Unit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result" xmi:type="uml:Parameter">
          <name>result</name>
          <lowerValue xmi:id="QUDV.class_packagedElement_Unit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger"/>
          <upperValue 
          xmi:id="QUDV.class_packagedElement_Unit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
            <value>*</value>
</upperValue>
          <type xmi:idref="QUDV.class_packagedElement_Unit"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:id="QUDV.class_packagedElement_UnitFactor" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_UnitFactor" xmi:type="uml:Class">
      <name>UnitFactor</name>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_UnitFactor_ownedAttribute.exponent" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_UnitFactor_ownedAttribute.exponent" xmi:type="uml:Property">
        <name>exponent</name>
        <type xmi:idref="QUDV.dataType_packagedElement_Rational"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="QUDV.class_packagedElement_UnitFactor_ownedAttribute.unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_UnitFactor_ownedAttribute.unit" xmi:type="uml:Property">
        <name>unit</name>
        <type xmi:idref="QUDV.class_packagedElement_Unit"/>
        <association xmi:idref="QUDV.association_packagedElement_A_unitFactor_unit"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:id="QUDV.dataType_packagedElement_Rational" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational" xmi:type="uml:DataType">
      <name>Rational</name>
      <generalization 
      xmi:id="QUDV.dataType_packagedElement_Rational._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number" xmi:type="uml:Generalization">
        <general href="http://www.omg.org/spec/SysML/20150709/SysML.xmi#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number"/>
</generalization>
      <ownedAttribute xmi:id="QUDV.dataType_packagedElement_Rational_ownedAttribute.denominator" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational_ownedAttribute.denominator" xmi:type="uml:Property">
        <name>denominator</name>
        <type href="http://www.omg.org/spec/SysML/20150709/SysML.xmi#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Integer"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="QUDV.dataType_packagedElement_Rational_ownedAttribute.numerator" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational_ownedAttribute.numerator" xmi:type="uml:Property">
        <name>numerator</name>
        <type href="http://www.omg.org/spec/SysML/20150709/SysML.xmi#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Integer"/>
      </ownedAttribute>
      <ownedOperation xmi:id="QUDV.dataType_packagedElement_Rational_ownedOperation.equivalent_Rational_Boolean" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational_ownedOperation.equivalent_Rational_Boolean" xmi:type="uml:Operation">
        <name>equivalent</name>
        <ownedParameter xmi:id="QUDV.dataType_packagedElement_Rational_ownedOperation.equivalent_Rational_Boolean.parameter_ownedParameter_r" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational_ownedOperation.equivalent_Rational_Boolean.parameter_ownedParameter_r" xmi:type="uml:Parameter">
          <name>r</name>
          <type xmi:idref="QUDV.dataType_packagedElement_Rational"/>
        </ownedParameter>
        <ownedParameter 
        xmi:id="QUDV.dataType_packagedElement_Rational_ownedOperation.equivalent_Rational_Boolean.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational_ownedOperation.equivalent_Rational_Boolean.parameter_ownedParameter_result" xmi:type="uml:Parameter">
          <name>result</name>
          <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"/>
</ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="QUDV.dataType_packagedElement_Rational_ownedOperation.plus_Rational_Rational" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational_ownedOperation.plus_Rational_Rational" xmi:type="uml:Operation">
        <name>plus</name>
        <ownedParameter xmi:id="QUDV.dataType_packagedElement_Rational_ownedOperation.plus_Rational_Rational.parameter_ownedParameter_r" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational_ownedOperation.plus_Rational_Rational.parameter_ownedParameter_r" xmi:type="uml:Parameter">
          <name>r</name>
          <type xmi:idref="QUDV.dataType_packagedElement_Rational"/>
        </ownedParameter>
        <ownedParameter xmi:id="QUDV.dataType_packagedElement_Rational_ownedOperation.plus_Rational_Rational.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational_ownedOperation.plus_Rational_Rational.parameter_ownedParameter_result" xmi:type="uml:Parameter">
          <name>result</name>
          <type xmi:idref="QUDV.dataType_packagedElement_Rational"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="QUDV.dataType_packagedElement_Rational_ownedOperation.times_Rational_Rational" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational_ownedOperation.times_Rational_Rational" xmi:type="uml:Operation">
        <name>times</name>
        <ownedParameter xmi:id="QUDV.dataType_packagedElement_Rational_ownedOperation.times_Rational_Rational.parameter_ownedParameter_r" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational_ownedOperation.times_Rational_Rational.parameter_ownedParameter_r" xmi:type="uml:Parameter">
          <name>r</name>
          <type xmi:idref="QUDV.dataType_packagedElement_Rational"/>
        </ownedParameter>
        <ownedParameter xmi:id="QUDV.dataType_packagedElement_Rational_ownedOperation.times_Rational_Rational.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational_ownedOperation.times_Rational_Rational.parameter_ownedParameter_result" xmi:type="uml:Parameter">
          <name>result</name>
          <type xmi:idref="QUDV.dataType_packagedElement_Rational"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <profileApplication xmi:id="QUDV._profileApplication.SysML" xmi:uuid="org.omg.sysml.QUDV._profileApplication.SysML" xmi:type="uml:ProfileApplication">
      <appliedProfile href="http://www.omg.org/spec/SysML/20150709/SysML.xmi#SysML"/>
    </profileApplication>
  </uml:Package>
  <mofext:Tag xmi:id="QUDV_mofext.Tag" xmi:uuid="org.omg.sysml.QUDV_mofext.Tag" xmi:type="mofext:Tag" name="org.omg.xmi.nsPrefix" value="QUDV">
    <element xmi:idref="QUDV"/>
  </mofext:Tag>
  <StandardProfile:ModelLibrary xmi:id="QUDV.stereotypeApplication_ModelLibrary" xmi:uuid="org.omg.sysml.QUDV.stereotypeApplication_ModelLibrary" xmi:type="StandardProfile:ModelLibrary">
    <base_Package xmi:idref="QUDV"/>
  </StandardProfile:ModelLibrary>
  <SysML:Block 
  xmi:id="QUDV.class_packagedElement_AffineConversionUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_AffineConversionUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="SysML:Block">
    <base_Class xmi:idref="QUDV.class_packagedElement_AffineConversionUnit"/>
</SysML:Block>
  <SysML:Block 
  xmi:id="QUDV.class_packagedElement_ConversionBasedUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_ConversionBasedUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="SysML:Block">
    <base_Class xmi:idref="QUDV.class_packagedElement_ConversionBasedUnit"/>
</SysML:Block>
  <SysML:Block 
  xmi:id="QUDV.class_packagedElement_DerivedQuantityKind.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedQuantityKind.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="SysML:Block">
    <base_Class xmi:idref="QUDV.class_packagedElement_DerivedQuantityKind"/>
</SysML:Block>
  <SysML:Block 
  xmi:id="QUDV.class_packagedElement_DerivedUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="SysML:Block">
    <base_Class xmi:idref="QUDV.class_packagedElement_DerivedUnit"/>
</SysML:Block>
  <SysML:Block 
  xmi:id="QUDV.class_packagedElement_Dimension.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Dimension.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="SysML:Block">
    <base_Class xmi:idref="QUDV.class_packagedElement_Dimension"/>
</SysML:Block>
  <SysML:Block 
  xmi:id="QUDV.class_packagedElement_GeneralConversionUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_GeneralConversionUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="SysML:Block">
    <base_Class xmi:idref="QUDV.class_packagedElement_GeneralConversionUnit"/>
</SysML:Block>
  <SysML:Block 
  xmi:id="QUDV.class_packagedElement_LinearConversionUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_LinearConversionUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="SysML:Block">
    <base_Class xmi:idref="QUDV.class_packagedElement_LinearConversionUnit"/>
</SysML:Block>
  <SysML:Block 
  xmi:id="QUDV.class_packagedElement_Prefix.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Prefix.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="SysML:Block">
    <base_Class xmi:idref="QUDV.class_packagedElement_Prefix"/>
</SysML:Block>
  <SysML:Block 
  xmi:id="QUDV.class_packagedElement_PrefixedUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_PrefixedUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="SysML:Block">
    <base_Class xmi:idref="QUDV.class_packagedElement_PrefixedUnit"/>
</SysML:Block>
  <SysML:Block 
  xmi:id="QUDV.class_packagedElement_QuantityKind.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="SysML:Block">
    <base_Class xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
</SysML:Block>
  <SysML:Block 
  xmi:id="QUDV.class_packagedElement_QuantityKindFactor.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKindFactor.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="SysML:Block">
    <base_Class xmi:idref="QUDV.class_packagedElement_QuantityKindFactor"/>
</SysML:Block>
  <SysML:Block 
  xmi:id="QUDV.class_packagedElement_SimpleQuantityKind.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleQuantityKind.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="SysML:Block">
    <base_Class xmi:idref="QUDV.class_packagedElement_SimpleQuantityKind"/>
</SysML:Block>
  <SysML:Block 
  xmi:id="QUDV.class_packagedElement_SimpleUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="SysML:Block">
    <base_Class xmi:idref="QUDV.class_packagedElement_SimpleUnit"/>
</SysML:Block>
  <SysML:Block 
  xmi:id="QUDV.class_packagedElement_SystemOfQuantities.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="SysML:Block">
    <base_Class xmi:idref="QUDV.class_packagedElement_SystemOfQuantities"/>
</SysML:Block>
  <SysML:Block 
  xmi:id="QUDV.class_packagedElement_SystemOfUnits.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="SysML:Block">
    <base_Class xmi:idref="QUDV.class_packagedElement_SystemOfUnits"/>
</SysML:Block>
  <SysML:Block 
  xmi:id="QUDV.class_packagedElement_Unit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="SysML:Block">
    <base_Class xmi:idref="QUDV.class_packagedElement_Unit"/>
</SysML:Block>
  <SysML:Block 
  xmi:id="QUDV.class_packagedElement_UnitFactor.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_UnitFactor.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="SysML:Block">
    <base_Class xmi:idref="QUDV.class_packagedElement_UnitFactor"/>
</SysML:Block>
  <SysML:ValueType 
  xmi:id="QUDV.dataType_packagedElement_Rational.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType" xmi:type="SysML:ValueType">
    <base_DataType xmi:idref="QUDV.dataType_packagedElement_Rational"/>
</SysML:ValueType>
</xmi:XMI>

