blob: aaa4c3cd654790f7ab4883552f9da6196259da6b [file] [log] [blame]
<?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:Blocks="http://www.eclipse.org/papyrus/sysml/1.4/SysML/Blocks"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML"
xmlns:StandardProfile="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard"
xmlns:SysML="http://www.eclipse.org/papyrus/sysml/1.4/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 xmi:type="uml:Association" href="SysML-Standard-Library.uml#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 xmi:type="uml:Property" href="SysML-Standard-Library.uml#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 xmi:type="uml:DataType" href="SysML-Standard-Library.uml#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 xmi:type="uml:DataType" href="SysML-Standard-Library.uml#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 xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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 xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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 xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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 xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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 xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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 xmi:type="uml:DataType" href="SysML-Standard-Library.uml#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 xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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:type="uml:Element" 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:type="uml:Element" 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 xmi:type="uml:Class" href="SysML-Standard-Library.uml#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:type="uml:Element" 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:type="uml:Element" 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 xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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:type="uml:Element" 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 xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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 xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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 xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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 xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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 xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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 xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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 xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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 xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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:type="uml:Element" 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 xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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 xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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 xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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:type="uml:Element" 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 xmi:type="uml:Class" href="SysML-Standard-Library.uml#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:type="uml:Element" 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:type="uml:Element" 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 xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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:type="uml:Element" 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 xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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 xmi:type="uml:Property" href="SysML-Standard-Library.uml#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:type="uml:Element" 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 xmi:type="uml:DataType" href="SysML-Standard-Library.uml#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 xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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 xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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 xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#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">
<eAnnotations xmi:id="SysMLLibraries-profileApplication-eAnnotations" source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.4/SysML#/"/>
</eAnnotations>
<appliedProfile xmi:type="uml:Profile" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML"/>
</profileApplication>
<profileApplication xmi:type="uml:ProfileApplication" xmi:id="_sZwgkDq8EeW1FZ2lBd8dLg">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_sZxusDq8EeW1FZ2lBd8dLg" source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
</eAnnotations>
<appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
</profileApplication>
</uml:Package>
<StandardProfile:ModelLibrary xmi:id="QUDV.stereotypeApplication_ModelLibrary" xmi:uuid="org.omg.sysml.QUDV.stereotypeApplication_ModelLibrary" xmi:type="StandardProfile:ModelLibrary" base_Package="QUDV">
<base_Package xmi:idref="QUDV"/>
</StandardProfile:ModelLibrary>
<Blocks: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="Blocks:Block">
<base_Class xmi:idref="QUDV.class_packagedElement_AffineConversionUnit"/>
</Blocks:Block>
<Blocks: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="Blocks:Block">
<base_Class xmi:idref="QUDV.class_packagedElement_ConversionBasedUnit"/>
</Blocks:Block>
<Blocks: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="Blocks:Block">
<base_Class xmi:idref="QUDV.class_packagedElement_DerivedQuantityKind"/>
</Blocks:Block>
<Blocks: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="Blocks:Block">
<base_Class xmi:idref="QUDV.class_packagedElement_DerivedUnit"/>
</Blocks:Block>
<Blocks: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="Blocks:Block">
<base_Class xmi:idref="QUDV.class_packagedElement_Dimension"/>
</Blocks:Block>
<Blocks: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="Blocks:Block">
<base_Class xmi:idref="QUDV.class_packagedElement_GeneralConversionUnit"/>
</Blocks:Block>
<Blocks: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="Blocks:Block">
<base_Class xmi:idref="QUDV.class_packagedElement_LinearConversionUnit"/>
</Blocks:Block>
<Blocks: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="Blocks:Block">
<base_Class xmi:idref="QUDV.class_packagedElement_Prefix"/>
</Blocks:Block>
<Blocks: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="Blocks:Block">
<base_Class xmi:idref="QUDV.class_packagedElement_PrefixedUnit"/>
</Blocks:Block>
<Blocks: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="Blocks:Block">
<base_Class xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
</Blocks:Block>
<Blocks: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="Blocks:Block">
<base_Class xmi:idref="QUDV.class_packagedElement_QuantityKindFactor"/>
</Blocks:Block>
<Blocks: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="Blocks:Block">
<base_Class xmi:idref="QUDV.class_packagedElement_SimpleQuantityKind"/>
</Blocks:Block>
<Blocks: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="Blocks:Block">
<base_Class xmi:idref="QUDV.class_packagedElement_SimpleUnit"/>
</Blocks:Block>
<Blocks: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="Blocks:Block">
<base_Class xmi:idref="QUDV.class_packagedElement_SystemOfQuantities"/>
</Blocks:Block>
<Blocks: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="Blocks:Block">
<base_Class xmi:idref="QUDV.class_packagedElement_SystemOfUnits"/>
</Blocks:Block>
<Blocks: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="Blocks:Block">
<base_Class xmi:idref="QUDV.class_packagedElement_Unit"/>
</Blocks:Block>
<Blocks: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="Blocks:Block">
<base_Class xmi:idref="QUDV.class_packagedElement_UnitFactor"/>
</Blocks:Block>
<Blocks: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="Blocks:ValueType">
<base_DataType xmi:idref="QUDV.dataType_packagedElement_Rational"/>
</Blocks:ValueType>
</xmi:XMI>