blob: 1039d1d712c7577fb40d7b7f58d7baeab12ab258 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="KDM"
nsURI="http://schema.omg.org/spec/KDM/1.2" nsPrefix="KDM">
<eSubpackages name="action" nsURI="http://schema.omg.org/spec/KDM/1.2/action" nsPrefix="action">
<eClassifiers xsi:type="ecore:EClass" name="ActionElement" eSuperTypes="#//code/AbstractCodeElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//core/String"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="codeElement" ordered="false"
upperBound="-1" eType="#//code/AbstractCodeElement" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="actionRelation" upperBound="-1"
eType="#//action/AbstractActionRelationship" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AbstractActionRelationship" abstract="true"
interface="true" eSuperTypes="#//core/KDMRelationship"/>
<eClassifiers xsi:type="ecore:EClass" name="ControlFlow" eSuperTypes="#//action/AbstractActionRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//action/ActionElement"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//action/ActionElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Calls" eSuperTypes="#//action/AbstractActionRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//code/ControlElement"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//action/ActionElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Creates" eSuperTypes="#//action/AbstractActionRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//code/Datatype"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//action/ActionElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Reads" eSuperTypes="#//action/AbstractActionRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//code/DataElement"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//action/ActionElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Writes" eSuperTypes="#//action/AbstractActionRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//code/DataElement"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//action/ActionElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CompliesTo" eSuperTypes="#//action/AbstractActionRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//code/CodeItem"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//action/ActionElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Flow" eSuperTypes="#//action/ControlFlow"/>
<eClassifiers xsi:type="ecore:EClass" name="TrueFlow" eSuperTypes="#//action/ControlFlow"/>
<eClassifiers xsi:type="ecore:EClass" name="FalseFlow" eSuperTypes="#//action/ControlFlow"/>
<eClassifiers xsi:type="ecore:EClass" name="GuardedFlow" eSuperTypes="#//action/ControlFlow"/>
<eClassifiers xsi:type="ecore:EClass" name="UsesType" eSuperTypes="#//action/AbstractActionRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//code/Datatype"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//action/ActionElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Addresses" eSuperTypes="#//action/AbstractActionRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//code/ComputationalObject"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//action/ActionElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ActionRelationship" eSuperTypes="#//action/AbstractActionRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//core/KDMEntity"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//action/ActionElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Throws" eSuperTypes="#//action/AbstractActionRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//code/DataElement"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//action/ActionElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Dispatches" eSuperTypes="#//action/AbstractActionRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//code/DataElement"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//action/ActionElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="EntryFlow" eSuperTypes="#//action/AbstractActionRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//action/ActionElement"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//code/AbstractCodeElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BlockUnit" eSuperTypes="#//action/ActionElement"/>
<eClassifiers xsi:type="ecore:EClass" name="ExceptionUnit" eSuperTypes="#//action/BlockUnit"/>
<eClassifiers xsi:type="ecore:EClass" name="TryUnit" eSuperTypes="#//action/ExceptionUnit"/>
<eClassifiers xsi:type="ecore:EClass" name="FinallyUnit" eSuperTypes="#//action/ExceptionUnit"/>
<eClassifiers xsi:type="ecore:EClass" name="CatchUnit" eSuperTypes="#//action/ExceptionUnit"/>
<eClassifiers xsi:type="ecore:EClass" name="ExitFlow" eSuperTypes="#//action/AbstractActionRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//action/ActionElement"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//action/ActionElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ExceptionFlow" eSuperTypes="#//action/AbstractActionRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//action/ActionElement"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//action/ActionElement"/>
</eClassifiers>
</eSubpackages>
<eSubpackages name="build" nsURI="http://schema.omg.org/spec/KDM/1.2/build" nsPrefix="build">
<eClassifiers xsi:type="ecore:EClass" name="AbstractBuildElement" abstract="true"
interface="true" eSuperTypes="#//core/KDMEntity">
<eStructuralFeatures xsi:type="ecore:EReference" name="buildRelation" ordered="false"
upperBound="-1" eType="#//build/AbstractBuildRelationship" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BuildResource" eSuperTypes="#//build/AbstractBuildElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="source" ordered="false"
upperBound="-1" eType="#//source/SourceRef" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="implementation" ordered="false"
upperBound="-1" eType="#//core/KDMEntity"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="groupedBuild" ordered="false"
upperBound="-1" eType="#//build/AbstractBuildElement"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="buildElement" ordered="false"
upperBound="-1" eType="#//build/AbstractBuildElement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BuildDescription" eSuperTypes="#//build/BuildResource">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="text" eType="#//core/String"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SymbolicLink" eSuperTypes="#//build/AbstractBuildElement"/>
<eClassifiers xsi:type="ecore:EClass" name="AbstractBuildRelationship" abstract="true"
interface="true" eSuperTypes="#//core/KDMRelationship"/>
<eClassifiers xsi:type="ecore:EClass" name="LinksTo" eSuperTypes="#//build/AbstractBuildRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//build/AbstractBuildElement"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//build/SymbolicLink"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Consumes" eSuperTypes="#//build/AbstractBuildRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//build/AbstractBuildElement"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//build/BuildStep"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BuildModel" eSuperTypes="#//kdm/KDMModel">
<eStructuralFeatures xsi:type="ecore:EReference" name="buildElement" ordered="false"
upperBound="-1" eType="#//build/AbstractBuildElement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BuildComponent" eSuperTypes="#//build/BuildResource"/>
<eClassifiers xsi:type="ecore:EClass" name="Supplier" eSuperTypes="#//build/AbstractBuildElement"/>
<eClassifiers xsi:type="ecore:EClass" name="Tool" eSuperTypes="#//build/AbstractBuildElement"/>
<eClassifiers xsi:type="ecore:EClass" name="BuildElement" eSuperTypes="#//build/AbstractBuildElement"/>
<eClassifiers xsi:type="ecore:EClass" name="BuildRelationship" eSuperTypes="#//build/AbstractBuildRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//core/KDMEntity"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//build/AbstractBuildElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SuppliedBy" eSuperTypes="#//build/AbstractBuildRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//build/Supplier"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//build/AbstractBuildElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Library" eSuperTypes="#//build/BuildResource"/>
<eClassifiers xsi:type="ecore:EClass" name="BuildStep" eSuperTypes="#//build/BuildResource"/>
<eClassifiers xsi:type="ecore:EClass" name="Produces" eSuperTypes="#//build/AbstractBuildRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//build/AbstractBuildElement"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//build/BuildStep"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SupportedBy" eSuperTypes="#//build/AbstractBuildRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//build/Tool"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//build/BuildStep"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BuildProduct" eSuperTypes="#//build/BuildResource"/>
<eClassifiers xsi:type="ecore:EClass" name="DescribedBy" eSuperTypes="#//build/AbstractBuildRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//build/BuildDescription"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//build/BuildStep"/>
</eClassifiers>
</eSubpackages>
<eSubpackages name="code" nsURI="http://schema.omg.org/spec/KDM/1.2/code" nsPrefix="code">
<eClassifiers xsi:type="ecore:EClass" name="AbstractCodeElement" abstract="true"
interface="true" eSuperTypes="#//core/KDMEntity">
<eStructuralFeatures xsi:type="ecore:EReference" name="source" ordered="false"
upperBound="-1" eType="#//source/SourceRef" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="comment" ordered="false"
upperBound="-1" eType="#//code/CommentUnit" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="entryFlow" ordered="false"
upperBound="-1" eType="#//action/EntryFlow" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="codeRelation" ordered="false"
upperBound="-1" eType="#//code/AbstractCodeRelationship" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CodeItem" abstract="true" interface="true"
eSuperTypes="#//code/AbstractCodeElement"/>
<eClassifiers xsi:type="ecore:EClass" name="ComputationalObject" eSuperTypes="#//code/CodeItem"/>
<eClassifiers xsi:type="ecore:EClass" name="ControlElement" eSuperTypes="#//code/ComputationalObject">
<eStructuralFeatures xsi:type="ecore:EReference" name="type" ordered="false"
eType="#//code/Datatype"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="codeElement" upperBound="-1"
eType="#//code/AbstractCodeElement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MethodUnit" eSuperTypes="#//code/ControlElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//code/MethodKind"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="export" eType="#//code/ExportKind"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Module" eSuperTypes="#//code/CodeItem">
<eStructuralFeatures xsi:type="ecore:EReference" name="codeElement" upperBound="-1"
eType="#//code/AbstractCodeElement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CodeAssembly" eSuperTypes="#//code/Module"/>
<eClassifiers xsi:type="ecore:EClass" name="CallableUnit" eSuperTypes="#//code/ControlElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//code/CallableKind"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Datatype" eSuperTypes="#//code/CodeItem"/>
<eClassifiers xsi:type="ecore:EClass" name="TemplateUnit" eSuperTypes="#//code/Datatype">
<eStructuralFeatures xsi:type="ecore:EReference" name="codeElement" upperBound="-1"
eType="#//code/CodeItem" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TemplateParameter" eSuperTypes="#//code/Datatype"/>
<eClassifiers xsi:type="ecore:EClass" name="AbstractCodeRelationship" abstract="true"
interface="true" eSuperTypes="#//core/KDMRelationship"/>
<eClassifiers xsi:type="ecore:EClass" name="InstanceOf" eSuperTypes="#//code/AbstractCodeRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//code/TemplateUnit"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//code/AbstractCodeElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CompilationUnit" eSuperTypes="#//code/Module"/>
<eClassifiers xsi:type="ecore:EClass" name="CodeModel" eSuperTypes="#//kdm/KDMModel">
<eStructuralFeatures xsi:type="ecore:EReference" name="codeElement" ordered="false"
upperBound="-1" eType="#//code/AbstractCodeElement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DerivedType" eSuperTypes="#//code/Datatype">
<eStructuralFeatures xsi:type="ecore:EReference" name="itemUnit" ordered="false"
lowerBound="1" eType="#//code/ItemUnit" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ArrayType" eSuperTypes="#//code/DerivedType">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="size" eType="#//core/Integer"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="indexUnit" ordered="false"
lowerBound="1" eType="#//code/IndexUnit" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PrimitiveType" eSuperTypes="#//code/Datatype"/>
<eClassifiers xsi:type="ecore:EClass" name="BooleanType" eSuperTypes="#//code/PrimitiveType"/>
<eClassifiers xsi:type="ecore:EClass" name="CharType" eSuperTypes="#//code/PrimitiveType"/>
<eClassifiers xsi:type="ecore:EClass" name="ClassUnit" eSuperTypes="#//code/Datatype">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isAbstract" eType="#//core/Boolean"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="codeElement" upperBound="-1"
eType="#//code/CodeItem" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CompositeType" eSuperTypes="#//code/Datatype">
<eStructuralFeatures xsi:type="ecore:EReference" name="itemUnit" upperBound="-1"
eType="#//code/ItemUnit" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RecordType" eSuperTypes="#//code/CompositeType"/>
<eClassifiers xsi:type="ecore:EClass" name="EnumeratedType" eSuperTypes="#//code/Datatype">
<eStructuralFeatures xsi:type="ecore:EReference" name="value" upperBound="-1"
eType="#//code/Value" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Extends" eSuperTypes="#//code/AbstractCodeRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//code/Datatype"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//code/Datatype"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ScaledType" eSuperTypes="#//code/PrimitiveType"/>
<eClassifiers xsi:type="ecore:EClass" name="FloatType" eSuperTypes="#//code/PrimitiveType"/>
<eClassifiers xsi:type="ecore:EClass" name="HasType" eSuperTypes="#//code/AbstractCodeRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//code/Datatype"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//code/CodeItem"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ImplementationOf" eSuperTypes="#//code/AbstractCodeRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//code/CodeItem"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//code/CodeItem"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Implements" eSuperTypes="#//code/AbstractCodeRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//code/CodeItem"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//code/CodeItem"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="IntegerType" eSuperTypes="#//code/PrimitiveType"/>
<eClassifiers xsi:type="ecore:EClass" name="InterfaceUnit" eSuperTypes="#//code/Datatype">
<eStructuralFeatures xsi:type="ecore:EReference" name="codeElement" upperBound="-1"
eType="#//code/CodeItem" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PointerType" eSuperTypes="#//code/DerivedType"/>
<eClassifiers xsi:type="ecore:EClass" name="DefinedType" abstract="true" interface="true"
eSuperTypes="#//code/Datatype">
<eStructuralFeatures xsi:type="ecore:EReference" name="type" ordered="false"
lowerBound="1" eType="#//code/Datatype"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="codeElement" ordered="false"
eType="#//code/Datatype" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TypeUnit" eSuperTypes="#//code/DefinedType"/>
<eClassifiers xsi:type="ecore:EClass" name="RangeType" eSuperTypes="#//code/DerivedType">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="lower" eType="#//core/Integer"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="upper" eType="#//core/Integer"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Signature" eSuperTypes="#//code/Datatype">
<eStructuralFeatures xsi:type="ecore:EReference" name="parameterUnit" upperBound="-1"
eType="#//code/ParameterUnit" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DataElement" eSuperTypes="#//code/ComputationalObject">
<eStructuralFeatures xsi:type="ecore:EReference" name="type" ordered="false"
lowerBound="1" eType="#//code/Datatype"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="ext" eType="#//core/String"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="size" eType="#//core/Integer"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="codeElement" ordered="false"
upperBound="-1" eType="#//code/Datatype" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StringType" eSuperTypes="#//code/PrimitiveType"/>
<eClassifiers xsi:type="ecore:EClass" name="ChoiceType" eSuperTypes="#//code/CompositeType"/>
<eClassifiers xsi:type="ecore:EClass" name="NamespaceUnit" eSuperTypes="#//code/CodeItem">
<eStructuralFeatures xsi:type="ecore:EReference" name="groupedCode" ordered="false"
upperBound="-1" eType="#//code/CodeItem"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="VisibleIn" eSuperTypes="#//code/AbstractCodeRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//code/CodeItem"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//code/CodeItem"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CommentUnit" eSuperTypes="#//core/ModelElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="text" eType="#//core/String"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SharedUnit" eSuperTypes="#//code/CompilationUnit"/>
<eClassifiers xsi:type="ecore:EClass" name="DecimalType" eSuperTypes="#//code/PrimitiveType"/>
<eClassifiers xsi:type="ecore:EClass" name="DateType" eSuperTypes="#//code/PrimitiveType"/>
<eClassifiers xsi:type="ecore:EClass" name="TimeType" eSuperTypes="#//code/PrimitiveType"/>
<eClassifiers xsi:type="ecore:EEnum" name="MethodKind">
<eLiterals name="method"/>
<eLiterals name="constructor" value="1"/>
<eLiterals name="destructor" value="2"/>
<eLiterals name="operator" value="3"/>
<eLiterals name="virtual" value="4"/>
<eLiterals name="abstract" value="5"/>
<eLiterals name="unknown" value="6"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="VoidType" eSuperTypes="#//code/PrimitiveType"/>
<eClassifiers xsi:type="ecore:EClass" name="ValueElement" eSuperTypes="#//code/DataElement"/>
<eClassifiers xsi:type="ecore:EClass" name="Value" eSuperTypes="#//code/ValueElement"/>
<eClassifiers xsi:type="ecore:EClass" name="ValueList" eSuperTypes="#//code/ValueElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="valueElement" upperBound="-1"
eType="#//code/ValueElement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StorableUnit" eSuperTypes="#//code/DataElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//code/StorableKind"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MemberUnit" eSuperTypes="#//code/DataElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="export" eType="#//code/ExportKind"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ParameterUnit" eSuperTypes="#//code/DataElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//code/ParameterKind"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="pos" eType="#//core/Integer"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ItemUnit" eSuperTypes="#//code/DataElement"/>
<eClassifiers xsi:type="ecore:EClass" name="IndexUnit" eSuperTypes="#//code/DataElement"/>
<eClassifiers xsi:type="ecore:EClass" name="SynonymType" eSuperTypes="#//code/DefinedType"/>
<eClassifiers xsi:type="ecore:EClass" name="SequenceType" eSuperTypes="#//code/DerivedType">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="size" eType="#//core/Integer"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BagType" eSuperTypes="#//code/DerivedType">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="size" eType="#//core/Integer"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SetType" eSuperTypes="#//code/DerivedType">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="size" eType="#//core/Integer"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CodeElement" eSuperTypes="#//code/CodeItem"/>
<eClassifiers xsi:type="ecore:EClass" name="CodeRelationship" eSuperTypes="#//code/AbstractCodeRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//core/KDMEntity"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//code/CodeItem"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="ParameterKind">
<eLiterals name="byValue"/>
<eLiterals name="byName" value="1"/>
<eLiterals name="byReference" value="2"/>
<eLiterals name="variadic" value="3"/>
<eLiterals name="return" value="4"/>
<eLiterals name="throws" value="5"/>
<eLiterals name="exception" value="6"/>
<eLiterals name="catchall" value="7"/>
<eLiterals name="unknown" value="8"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="ExportKind">
<eLiterals name="public"/>
<eLiterals name="private" value="1"/>
<eLiterals name="protected" value="2"/>
<eLiterals name="final" value="3"/>
<eLiterals name="unknown" value="4"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="LanguageUnit" eSuperTypes="#//code/Module"/>
<eClassifiers xsi:type="ecore:EClass" name="OrdinalType" eSuperTypes="#//code/PrimitiveType"/>
<eClassifiers xsi:type="ecore:EClass" name="BitstringType" eSuperTypes="#//code/PrimitiveType"/>
<eClassifiers xsi:type="ecore:EClass" name="OctetType" eSuperTypes="#//code/PrimitiveType"/>
<eClassifiers xsi:type="ecore:EClass" name="OctetstringType" eSuperTypes="#//code/PrimitiveType"/>
<eClassifiers xsi:type="ecore:EClass" name="BitType" eSuperTypes="#//code/PrimitiveType"/>
<eClassifiers xsi:type="ecore:EEnum" name="StorableKind">
<eLiterals name="global"/>
<eLiterals name="local" value="1"/>
<eLiterals name="static" value="2"/>
<eLiterals name="external" value="3"/>
<eLiterals name="register" value="4"/>
<eLiterals name="unknown" value="5"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="CallableKind">
<eLiterals name="external"/>
<eLiterals name="regular" value="1"/>
<eLiterals name="operator" value="2"/>
<eLiterals name="stored" value="3"/>
<eLiterals name="unknown" value="4"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Imports" eSuperTypes="#//code/AbstractCodeRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//code/CodeItem"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//code/CodeItem"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Package" eSuperTypes="#//code/Module"/>
<eClassifiers xsi:type="ecore:EClass" name="ParameterTo" eSuperTypes="#//code/AbstractCodeRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//code/CodeItem"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//code/AbstractCodeElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TemplateType" eSuperTypes="#//code/Datatype"/>
<eClassifiers xsi:type="ecore:EClass" name="PreprocessorDirective" eSuperTypes="#//code/AbstractCodeElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="codeElement" ordered="false"
upperBound="-1" eType="#//code/AbstractCodeElement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MacroDirective" eSuperTypes="#//code/PreprocessorDirective"/>
<eClassifiers xsi:type="ecore:EClass" name="MacroUnit" eSuperTypes="#//code/PreprocessorDirective">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//code/MacroKind"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ConditionalDirective" eSuperTypes="#//code/PreprocessorDirective"/>
<eClassifiers xsi:type="ecore:EClass" name="IncludeDirective" eSuperTypes="#//code/PreprocessorDirective"/>
<eClassifiers xsi:type="ecore:EEnum" name="MacroKind">
<eLiterals name="regular"/>
<eLiterals name="option" value="1"/>
<eLiterals name="undefined" value="2"/>
<eLiterals name="external" value="3"/>
<eLiterals name="unknown" value="4"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="VariantTo" eSuperTypes="#//code/AbstractCodeRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//code/PreprocessorDirective"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//code/PreprocessorDirective"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Expands" eSuperTypes="#//code/AbstractCodeRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//code/PreprocessorDirective"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//code/PreprocessorDirective"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Redefines" eSuperTypes="#//code/AbstractCodeRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//code/PreprocessorDirective"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//code/PreprocessorDirective"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="GeneratedFrom" eSuperTypes="#//code/AbstractCodeRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//code/PreprocessorDirective"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//code/AbstractCodeElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Includes" eSuperTypes="#//code/AbstractCodeRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//code/AbstractCodeElement"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//code/PreprocessorDirective"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="HasValue" eSuperTypes="#//code/AbstractCodeRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//code/AbstractCodeElement"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//code/CodeItem"/>
</eClassifiers>
</eSubpackages>
<eSubpackages name="conceptual" nsURI="http://schema.omg.org/spec/KDM/1.2/conceptual"
nsPrefix="conceptual">
<eClassifiers xsi:type="ecore:EClass" name="ConceptualModel" eSuperTypes="#//kdm/KDMModel">
<eStructuralFeatures xsi:type="ecore:EReference" name="conceptualElement" ordered="false"
upperBound="-1" eType="#//conceptual/AbstractConceptualElement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AbstractConceptualElement" abstract="true"
interface="true" eSuperTypes="#//core/KDMEntity">
<eStructuralFeatures xsi:type="ecore:EReference" name="source" ordered="false"
upperBound="-1" eType="#//source/SourceRef" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="implementation" ordered="false"
upperBound="-1" eType="#//core/KDMEntity"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="conceptualRelation" ordered="false"
upperBound="-1" eType="#//conceptual/AbstractConceptualRelationship" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="abstraction" ordered="false"
upperBound="-1" eType="#//action/ActionElement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TermUnit" eSuperTypes="#//conceptual/AbstractConceptualElement"/>
<eClassifiers xsi:type="ecore:EClass" name="ConceptualContainer" eSuperTypes="#//conceptual/AbstractConceptualElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="conceptualElement" ordered="false"
upperBound="-1" eType="#//conceptual/AbstractConceptualElement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FactUnit" eSuperTypes="#//conceptual/ConceptualContainer"/>
<eClassifiers xsi:type="ecore:EClass" name="AbstractConceptualRelationship" abstract="true"
interface="true" eSuperTypes="#//core/KDMRelationship"/>
<eClassifiers xsi:type="ecore:EClass" name="ConceptualRelationship" eSuperTypes="#//conceptual/AbstractConceptualRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//core/KDMEntity"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//conceptual/AbstractConceptualElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BehaviorUnit" eSuperTypes="#//conceptual/ConceptualContainer"/>
<eClassifiers xsi:type="ecore:EClass" name="RuleUnit" eSuperTypes="#//conceptual/ConceptualContainer"/>
<eClassifiers xsi:type="ecore:EClass" name="ScenarioUnit" eSuperTypes="#//conceptual/ConceptualContainer"/>
<eClassifiers xsi:type="ecore:EClass" name="ConceptualFlow" eSuperTypes="#//conceptual/AbstractConceptualRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//conceptual/ConceptualContainer"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//conceptual/ConceptualContainer"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ConceptualElement" eSuperTypes="#//conceptual/AbstractConceptualElement"/>
<eClassifiers xsi:type="ecore:EClass" name="ConceptualRole" eSuperTypes="#//conceptual/AbstractConceptualElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="conceptualElement" ordered="false"
lowerBound="1" eType="#//conceptual/AbstractConceptualElement"/>
</eClassifiers>
</eSubpackages>
<eSubpackages name="core" nsURI="http://schema.omg.org/spec/KDM/1.2/core" nsPrefix="core">
<eClassifiers xsi:type="ecore:EClass" name="Element" abstract="true" interface="true">
<eStructuralFeatures xsi:type="ecore:EReference" name="attribute" ordered="false"
upperBound="-1" eType="#//kdm/Attribute" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="annotation" ordered="false"
upperBound="-1" eType="#//kdm/Annotation" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ModelElement" abstract="true" interface="true"
eSuperTypes="#//core/Element">
<eStructuralFeatures xsi:type="ecore:EReference" name="stereotype" ordered="false"
upperBound="-1" eType="#//kdm/Stereotype"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="taggedValue" ordered="false"
upperBound="-1" eType="#//kdm/ExtendedValue" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="KDMEntity" abstract="true" interface="true"
eSuperTypes="#//core/ModelElement">
<eOperations name="createAggregation">
<eParameters name="otherEntity" lowerBound="1" eType="#//core/KDMEntity"/>
</eOperations>
<eOperations name="deleteAggregation">
<eParameters name="aggregation" lowerBound="1" eType="#//core/AggregatedRelationship"/>
</eOperations>
<eOperations name="getInbound" upperBound="-1" eType="#//core/KDMRelationship"/>
<eOperations name="getOutbound" upperBound="-1" eType="#//core/KDMRelationship"/>
<eOperations name="getOwnedRelation" upperBound="-1" eType="#//core/KDMRelationship"/>
<eOperations name="getInAggregated" upperBound="-1" eType="#//core/AggregatedRelationship"/>
<eOperations name="getOutAggregated" upperBound="-1" eType="#//core/AggregatedRelationship"/>
<eOperations name="getOwner" eType="#//core/KDMEntity"/>
<eOperations name="getOwnedElement" upperBound="-1" eType="#//core/KDMEntity"/>
<eOperations name="getGroup" upperBound="-1" eType="#//core/KDMEntity"/>
<eOperations name="getGroupedElement" upperBound="-1" eType="#//core/KDMEntity"/>
<eOperations name="getModel" eType="#//kdm/KDMModel"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="#//core/String"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="KDMRelationship" abstract="true" interface="true"
eSuperTypes="#//core/ModelElement">
<eOperations name="getTo" lowerBound="1" eType="#//core/KDMEntity"/>
<eOperations name="getFrom" lowerBound="1" eType="#//core/KDMEntity"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AggregatedRelationship" eSuperTypes="#//core/ModelElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//core/KDMEntity"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//core/KDMEntity"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="relation" ordered="false"
upperBound="-1" eType="#//core/KDMRelationship"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="density" eType="#//core/Integer"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="String" instanceClassName="java.lang.String"/>
<eClassifiers xsi:type="ecore:EDataType" name="Integer" instanceClassName="java.lang.Integer"/>
<eClassifiers xsi:type="ecore:EDataType" name="Boolean" instanceClassName="java.lang.Boolean"/>
</eSubpackages>
<eSubpackages name="data" nsURI="http://schema.omg.org/spec/KDM/1.2/data" nsPrefix="data">
<eClassifiers xsi:type="ecore:EClass" name="DataModel" eSuperTypes="#//kdm/KDMModel">
<eStructuralFeatures xsi:type="ecore:EReference" name="dataElement" ordered="false"
upperBound="-1" eType="#//data/AbstractDataElement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AbstractDataElement" abstract="true"
interface="true" eSuperTypes="#//core/KDMEntity">
<eStructuralFeatures xsi:type="ecore:EReference" name="source" ordered="false"
upperBound="-1" eType="#//source/SourceRef" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="dataRelation" ordered="false"
upperBound="-1" eType="#//data/AbstractDataRelationship" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="abstraction" upperBound="-1"
eType="#//action/ActionElement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DataResource" eSuperTypes="#//data/AbstractDataElement"/>
<eClassifiers xsi:type="ecore:EClass" name="IndexElement" eSuperTypes="#//data/DataResource">
<eStructuralFeatures xsi:type="ecore:EReference" name="implementation" ordered="false"
upperBound="-1" eType="#//code/ItemUnit"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="UniqueKey" eSuperTypes="#//data/IndexElement"/>
<eClassifiers xsi:type="ecore:EClass" name="Index" eSuperTypes="#//data/IndexElement"/>
<eClassifiers xsi:type="ecore:EClass" name="AbstractDataRelationship" abstract="true"
interface="true" eSuperTypes="#//core/KDMRelationship"/>
<eClassifiers xsi:type="ecore:EClass" name="KeyRelation" eSuperTypes="#//data/AbstractDataRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//data/UniqueKey"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//data/ReferenceKey"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ReferenceKey" eSuperTypes="#//data/IndexElement"/>
<eClassifiers xsi:type="ecore:EClass" name="DataContainer" eSuperTypes="#//data/DataResource">
<eStructuralFeatures xsi:type="ecore:EReference" name="dataElement" ordered="false"
upperBound="-1" eType="#//data/DataResource" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Catalog" eSuperTypes="#//data/DataContainer"/>
<eClassifiers xsi:type="ecore:EClass" name="RelationalSchema" eSuperTypes="#//data/DataContainer">
<eStructuralFeatures xsi:type="ecore:EReference" name="codeElement" ordered="false"
upperBound="-1" eType="#//code/CodeItem" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ColumnSet" eSuperTypes="#//data/DataContainer">
<eStructuralFeatures xsi:type="ecore:EReference" name="itemUnit" upperBound="-1"
eType="#//code/ItemUnit" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RelationalTable" eSuperTypes="#//data/ColumnSet"/>
<eClassifiers xsi:type="ecore:EClass" name="RelationalView" eSuperTypes="#//data/ColumnSet"/>
<eClassifiers xsi:type="ecore:EClass" name="RecordFile" eSuperTypes="#//data/ColumnSet"/>
<eClassifiers xsi:type="ecore:EClass" name="DataEvent" eSuperTypes="#//data/DataResource">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//core/String"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="XMLSchema" eSuperTypes="#//data/AbstractDataElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="contentElement" ordered="false"
upperBound="-1" eType="#//data/AbstractContentElement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AbstractContentElement" abstract="true"
interface="true" eSuperTypes="#//data/AbstractDataElement"/>
<eClassifiers xsi:type="ecore:EClass" name="ComplexContentType" eSuperTypes="#//data/AbstractContentElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="contentElement" upperBound="-1"
eType="#//data/AbstractContentElement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AllContent" eSuperTypes="#//data/ComplexContentType"/>
<eClassifiers xsi:type="ecore:EClass" name="SeqContent" eSuperTypes="#//data/ComplexContentType"/>
<eClassifiers xsi:type="ecore:EClass" name="ChoiceContent" eSuperTypes="#//data/ComplexContentType"/>
<eClassifiers xsi:type="ecore:EClass" name="ContentItem" eSuperTypes="#//data/AbstractContentElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="type" ordered="false"
eType="#//data/ComplexContentType"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="contentElement" ordered="false"
upperBound="-1" eType="#//data/AbstractContentElement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="GroupContent" eSuperTypes="#//data/ContentItem"/>
<eClassifiers xsi:type="ecore:EClass" name="ContentRestriction" eSuperTypes="#//data/AbstractContentElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//core/String"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//core/String"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SimpleContentType" eSuperTypes="#//data/ComplexContentType">
<eStructuralFeatures xsi:type="ecore:EReference" name="type" ordered="false"
upperBound="-1" eType="#//data/ComplexContentType"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//core/String"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ExtendedDataElement" eSuperTypes="#//data/AbstractDataElement"/>
<eClassifiers xsi:type="ecore:EClass" name="DataRelationship" eSuperTypes="#//data/AbstractDataRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//core/KDMEntity"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//data/AbstractDataElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MixedContent" eSuperTypes="#//data/ComplexContentType"/>
<eClassifiers xsi:type="ecore:EClass" name="ContentReference" eSuperTypes="#//data/ContentItem"/>
<eClassifiers xsi:type="ecore:EClass" name="DataAction" eSuperTypes="#//data/AbstractDataElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//core/String"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="implementation" ordered="false"
upperBound="-1" eType="#//action/ActionElement"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="dataElement" ordered="false"
upperBound="-1" eType="#//data/DataEvent" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ReadsColumnSet" eSuperTypes="#//action/AbstractActionRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//data/ColumnSet"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//action/ActionElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ContentAttribute" eSuperTypes="#//data/ContentItem"/>
<eClassifiers xsi:type="ecore:EClass" name="TypedBy" eSuperTypes="#//data/AbstractDataRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//data/ComplexContentType"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//data/ContentItem"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ReferenceTo" eSuperTypes="#//data/AbstractDataRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//data/ContentItem"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//data/ContentItem"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RestrictionOf" eSuperTypes="#//data/AbstractDataRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//data/ComplexContentType"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//data/ComplexContentType"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ExtensionTo" eSuperTypes="#//data/AbstractDataRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//data/ComplexContentType"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//data/ComplexContentType"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DatatypeOf" eSuperTypes="#//data/AbstractDataRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//code/Datatype"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//data/ComplexContentType"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="HasContent" eSuperTypes="#//action/AbstractActionRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//data/AbstractDataElement"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//action/ActionElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WritesColumnSet" eSuperTypes="#//action/AbstractActionRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//data/ColumnSet"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//action/ActionElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ProducesDataEvent" eSuperTypes="#//action/AbstractActionRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//data/DataEvent"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//action/ActionElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DataSegment" eSuperTypes="#//data/ColumnSet"/>
<eClassifiers xsi:type="ecore:EClass" name="ContentElement" eSuperTypes="#//data/ContentItem"/>
<eClassifiers xsi:type="ecore:EClass" name="ManagesData" eSuperTypes="#//action/AbstractActionRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//data/AbstractDataElement"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//action/ActionElement"/>
</eClassifiers>
</eSubpackages>
<eSubpackages name="event" nsURI="http://schema.omg.org/spec/KDM/1.2/event" nsPrefix="event">
<eClassifiers xsi:type="ecore:EClass" name="EventModel" eSuperTypes="#//kdm/KDMModel">
<eStructuralFeatures xsi:type="ecore:EReference" name="eventElement" ordered="false"
upperBound="-1" eType="#//event/AbstractEventElement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AbstractEventElement" abstract="true"
interface="true" eSuperTypes="#//core/KDMEntity">
<eStructuralFeatures xsi:type="ecore:EReference" name="source" ordered="false"
upperBound="-1" eType="#//source/SourceRef" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="eventRelation" ordered="false"
upperBound="-1" eType="#//event/AbstractEventRelationship" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="abstraction" upperBound="-1"
eType="#//action/ActionElement" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="implementation" ordered="false"
upperBound="-1" eType="#//code/AbstractCodeElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Event" eSuperTypes="#//event/AbstractEventElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//core/String"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AbstractEventRelationship" abstract="true"
interface="true" eSuperTypes="#//core/KDMRelationship"/>
<eClassifiers xsi:type="ecore:EClass" name="EventRelationship" eSuperTypes="#//event/AbstractEventRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//core/KDMEntity"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//event/AbstractEventElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="EventResource" eSuperTypes="#//event/AbstractEventElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="eventElement" ordered="false"
upperBound="-1" eType="#//event/AbstractEventElement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="State" eSuperTypes="#//event/EventResource"/>
<eClassifiers xsi:type="ecore:EClass" name="Transition" eSuperTypes="#//event/EventResource"/>
<eClassifiers xsi:type="ecore:EClass" name="OnEntry" eSuperTypes="#//event/Transition"/>
<eClassifiers xsi:type="ecore:EClass" name="OnExit" eSuperTypes="#//event/Transition"/>
<eClassifiers xsi:type="ecore:EClass" name="EventAction" eSuperTypes="#//event/AbstractEventElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//core/String"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="eventElement" ordered="false"
upperBound="-1" eType="#//event/Event" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ReadsState" eSuperTypes="#//action/AbstractActionRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//event/State"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//action/ActionElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ProducesEvent" eSuperTypes="#//action/AbstractActionRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//event/Event"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//action/ActionElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ConsumesEvent" eSuperTypes="#//event/AbstractEventRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//event/Event"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//event/Transition"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="NextState" eSuperTypes="#//event/AbstractEventRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//event/State"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//event/Transition"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="InitialState" eSuperTypes="#//event/State"/>
<eClassifiers xsi:type="ecore:EClass" name="EventElement" eSuperTypes="#//event/AbstractEventElement"/>
<eClassifiers xsi:type="ecore:EClass" name="HasState" eSuperTypes="#//action/AbstractActionRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//event/AbstractEventElement"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//action/ActionElement"/>
</eClassifiers>
</eSubpackages>
<eSubpackages name="source" nsURI="http://schema.omg.org/spec/KDM/1.2/source" nsPrefix="source">
<eClassifiers xsi:type="ecore:EClass" name="SourceRef" eSuperTypes="#//core/Element">
<eStructuralFeatures xsi:type="ecore:EReference" name="region" ordered="false"
upperBound="-1" eType="#//source/SourceRegion" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="language" eType="#//core/String"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="snippet" eType="#//core/String"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SourceRegion" eSuperTypes="#//core/Element">
<eStructuralFeatures xsi:type="ecore:EReference" name="file" ordered="false"
eType="#//source/SourceFile"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="startLine" eType="#//core/Integer"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="startPosition" eType="#//core/Integer"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="endLine" eType="#//core/Integer"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="endPosition" eType="#//core/Integer"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="language" eType="#//core/String"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="path" eType="#//core/String"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="InventoryModel" eSuperTypes="#//kdm/KDMModel">
<eStructuralFeatures xsi:type="ecore:EReference" name="inventoryElement" ordered="false"
upperBound="-1" eType="#//source/AbstractInventoryElement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AbstractInventoryElement" abstract="true"
interface="true" eSuperTypes="#//core/KDMEntity">
<eStructuralFeatures xsi:type="ecore:EReference" name="inventoryRelation" ordered="false"
upperBound="-1" eType="#//source/AbstractInventoryRelationship" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="InventoryItem" eSuperTypes="#//source/AbstractInventoryElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="version" eType="#//core/String"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="path" eType="#//core/String"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SourceFile" eSuperTypes="#//source/InventoryItem">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="language" eType="#//core/String"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="encoding" eType="#//core/String"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Image" eSuperTypes="#//source/InventoryItem"/>
<eClassifiers xsi:type="ecore:EClass" name="ResourceDescription" eSuperTypes="#//source/InventoryItem"/>
<eClassifiers xsi:type="ecore:EClass" name="Configuration" eSuperTypes="#//source/InventoryItem"/>
<eClassifiers xsi:type="ecore:EClass" name="InventoryContainer" eSuperTypes="#//source/AbstractInventoryElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="inventoryElement" ordered="false"
upperBound="-1" eType="#//source/AbstractInventoryElement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Directory" eSuperTypes="#//source/InventoryContainer">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="path" eType="#//core/String"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Project" eSuperTypes="#//source/InventoryContainer"/>
<eClassifiers xsi:type="ecore:EClass" name="AbstractInventoryRelationship" abstract="true"
interface="true" eSuperTypes="#//core/KDMRelationship"/>
<eClassifiers xsi:type="ecore:EClass" name="BinaryFile" eSuperTypes="#//source/InventoryItem"/>
<eClassifiers xsi:type="ecore:EClass" name="ExecutableFile" eSuperTypes="#//source/InventoryItem"/>
<eClassifiers xsi:type="ecore:EClass" name="DependsOn" eSuperTypes="#//source/AbstractInventoryRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//source/AbstractInventoryElement"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//source/AbstractInventoryElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="InventoryElement" eSuperTypes="#//source/AbstractInventoryElement"/>
<eClassifiers xsi:type="ecore:EClass" name="InventoryRelationship" eSuperTypes="#//source/AbstractInventoryRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//core/KDMEntity"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//source/AbstractInventoryElement"/>
</eClassifiers>
</eSubpackages>
<eSubpackages name="platform" nsURI="http://schema.omg.org/spec/KDM/1.2/platform"
nsPrefix="platform">
<eClassifiers xsi:type="ecore:EClass" name="AbstractPlatformElement" abstract="true"
interface="true" eSuperTypes="#//core/KDMEntity">
<eStructuralFeatures xsi:type="ecore:EReference" name="source" ordered="false"
upperBound="-1" eType="#//source/SourceRef" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="relation" ordered="false"
upperBound="-1" eType="#//platform/AbstractPlatformRelationship" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="abstraction" upperBound="-1"
eType="#//action/ActionElement" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="implementation" ordered="false"
upperBound="-1" eType="#//code/AbstractCodeElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PlatformModel" eSuperTypes="#//kdm/KDMModel">
<eStructuralFeatures xsi:type="ecore:EReference" name="platformElement" ordered="false"
upperBound="-1" eType="#//platform/AbstractPlatformElement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AbstractPlatformRelationship" abstract="true"
interface="true" eSuperTypes="#//core/KDMRelationship"/>
<eClassifiers xsi:type="ecore:EClass" name="Requires" eSuperTypes="#//platform/AbstractPlatformRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//platform/AbstractPlatformElement"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//platform/DeployedComponent"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ResourceType" eSuperTypes="#//platform/AbstractPlatformElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="platformElement" ordered="false"
upperBound="-1" eType="#//platform/AbstractPlatformElement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="NamingResource" eSuperTypes="#//platform/ResourceType"/>
<eClassifiers xsi:type="ecore:EClass" name="MarshalledResource" eSuperTypes="#//platform/ResourceType"/>
<eClassifiers xsi:type="ecore:EClass" name="MessagingResource" eSuperTypes="#//platform/ResourceType"/>
<eClassifiers xsi:type="ecore:EClass" name="FileResource" eSuperTypes="#//platform/ResourceType"/>
<eClassifiers xsi:type="ecore:EClass" name="ExecutionResource" eSuperTypes="#//platform/ResourceType"/>
<eClassifiers xsi:type="ecore:EClass" name="PlatformAction" eSuperTypes="#//platform/AbstractPlatformElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//core/String"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="platformElement" ordered="false"
upperBound="-1" eType="#//platform/PlatformEvent" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ExternalActor" eSuperTypes="#//platform/PlatformAction"/>
<eClassifiers xsi:type="ecore:EClass" name="DataManager" eSuperTypes="#//platform/ResourceType"/>
<eClassifiers xsi:type="ecore:EClass" name="BindsTo" eSuperTypes="#//platform/AbstractPlatformRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//core/KDMEntity"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//platform/ResourceType"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PlatformElement" eSuperTypes="#//platform/AbstractPlatformElement"/>
<eClassifiers xsi:type="ecore:EClass" name="PlatformRelationship" eSuperTypes="#//platform/AbstractPlatformRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//core/KDMEntity"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//platform/AbstractPlatformElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PlatformEvent" eSuperTypes="#//platform/AbstractPlatformElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//core/String"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="LockResource" eSuperTypes="#//platform/ResourceType"/>
<eClassifiers xsi:type="ecore:EClass" name="DeployedSoftwareSystem" eSuperTypes="#//platform/AbstractPlatformElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="groupedComponent" ordered="false"
upperBound="-1" eType="#//platform/DeployedComponent"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Machine" eSuperTypes="#//platform/AbstractPlatformElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="deployedComponent" ordered="false"
upperBound="-1" eType="#//platform/DeployedComponent" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="deployedResource" ordered="false"
upperBound="-1" eType="#//platform/DeployedResource" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DeployedComponent" eSuperTypes="#//platform/AbstractPlatformElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="groupedCode" ordered="false"
upperBound="-1" eType="#//code/Module"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DeployedResource" eSuperTypes="#//platform/AbstractPlatformElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="platformElement" ordered="false"
upperBound="-1" eType="#//platform/ResourceType" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Loads" eSuperTypes="#//platform/AbstractPlatformRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//platform/DeployedComponent"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//action/ActionElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Spawns" eSuperTypes="#//platform/AbstractPlatformRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//platform/RuntimeResource"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//action/ActionElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RuntimeResource" eSuperTypes="#//platform/ResourceType"/>
<eClassifiers xsi:type="ecore:EClass" name="Thread" eSuperTypes="#//platform/RuntimeResource"/>
<eClassifiers xsi:type="ecore:EClass" name="Process" eSuperTypes="#//platform/RuntimeResource"/>
<eClassifiers xsi:type="ecore:EClass" name="ReadsResource" eSuperTypes="#//action/AbstractActionRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//platform/ResourceType"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//action/ActionElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WritesResource" eSuperTypes="#//action/AbstractActionRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//platform/ResourceType"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//action/ActionElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ManagesResource" eSuperTypes="#//action/AbstractActionRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//platform/ResourceType"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//action/ActionElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DefinedBy" eSuperTypes="#//action/AbstractActionRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//code/CodeItem"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//action/ActionElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StreamResource" eSuperTypes="#//platform/ResourceType"/>
</eSubpackages>
<eSubpackages name="structure" nsURI="http://schema.omg.org/spec/KDM/1.2/structure"
nsPrefix="structure">
<eClassifiers xsi:type="ecore:EClass" name="AbstractStructureElement" abstract="true"
interface="true" eSuperTypes="#//core/KDMEntity">
<eStructuralFeatures xsi:type="ecore:EReference" name="aggregated" ordered="false"
upperBound="-1" eType="#//core/AggregatedRelationship" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="implementation" ordered="false"
upperBound="-1" eType="#//core/KDMEntity"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="structureElement" ordered="false"
upperBound="-1" eType="#//structure/AbstractStructureElement" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="structureRelationship"
ordered="false" upperBound="-1" eType="#//structure/AbstractStructureRelationship"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Subsystem" eSuperTypes="#//structure/AbstractStructureElement"/>
<eClassifiers xsi:type="ecore:EClass" name="Layer" eSuperTypes="#//structure/AbstractStructureElement"/>
<eClassifiers xsi:type="ecore:EClass" name="StructureModel" eSuperTypes="#//kdm/KDMModel">
<eStructuralFeatures xsi:type="ecore:EReference" name="structureElement" ordered="false"
upperBound="-1" eType="#//structure/AbstractStructureElement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Component" eSuperTypes="#//structure/AbstractStructureElement"/>
<eClassifiers xsi:type="ecore:EClass" name="SoftwareSystem" eSuperTypes="#//structure/AbstractStructureElement"/>
<eClassifiers xsi:type="ecore:EClass" name="AbstractStructureRelationship" abstract="true"
interface="true" eSuperTypes="#//core/KDMRelationship"/>
<eClassifiers xsi:type="ecore:EClass" name="StructureRelationship" eSuperTypes="#//structure/AbstractStructureRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//core/KDMEntity"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//structure/AbstractStructureElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ArchitectureView" eSuperTypes="#//structure/AbstractStructureElement"/>
<eClassifiers xsi:type="ecore:EClass" name="StructureElement" eSuperTypes="#//structure/AbstractStructureElement"/>
</eSubpackages>
<eSubpackages name="kdm" nsURI="http://schema.omg.org/spec/KDM/1.2/kdm" nsPrefix="kdm">
<eClassifiers xsi:type="ecore:EClass" name="KDMFramework" abstract="true" interface="true"
eSuperTypes="#//core/ModelElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="audit" ordered="false"
upperBound="-1" eType="#//kdm/Audit" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="extensionFamily" ordered="false"
upperBound="-1" eType="#//kdm/ExtensionFamily" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="#//core/String"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="KDMModel" abstract="true" interface="true"
eSuperTypes="#//kdm/KDMFramework"/>
<eClassifiers xsi:type="ecore:EClass" name="Audit" eSuperTypes="#//core/Element">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="#//core/String"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="author" eType="#//core/String"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="date" eType="#//core/String"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Segment" eSuperTypes="#//kdm/KDMFramework">
<eStructuralFeatures xsi:type="ecore:EReference" name="segment" ordered="false"
upperBound="-1" eType="#//kdm/Segment" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="model" ordered="false"
upperBound="-1" eType="#//kdm/KDMModel" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Attribute" eSuperTypes="#//core/Element">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="tag" eType="#//core/String"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//core/String"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Annotation" eSuperTypes="#//core/Element">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="text" eType="#//core/String"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TagDefinition" eSuperTypes="#//core/Element">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="tag" eType="#//core/String"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="#//core/String"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ExtendedValue" abstract="true" interface="true"
eSuperTypes="#//core/Element">
<eStructuralFeatures xsi:type="ecore:EReference" name="tag" ordered="false"
lowerBound="1" eType="#//kdm/TagDefinition"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Stereotype" eSuperTypes="#//core/Element">
<eStructuralFeatures xsi:type="ecore:EReference" name="tag" ordered="false"
upperBound="-1" eType="#//kdm/TagDefinition" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="#//core/String"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="#//core/String"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ExtensionFamily" eSuperTypes="#//core/Element">
<eStructuralFeatures xsi:type="ecore:EReference" name="stereotype" ordered="false"
upperBound="-1" eType="#//kdm/Stereotype" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="#//core/String"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TaggedRef" eSuperTypes="#//kdm/ExtendedValue">
<eStructuralFeatures xsi:type="ecore:EReference" name="reference" ordered="false"
lowerBound="1" eType="#//core/ModelElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TaggedValue" eSuperTypes="#//kdm/ExtendedValue">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//core/String"/>
</eClassifiers>
</eSubpackages>
<eSubpackages name="ui" nsURI="http://schema.omg.org/spec/KDM/1.2/ui" nsPrefix="ui">
<eClassifiers xsi:type="ecore:EClass" name="AbstractUIElement" abstract="true"
interface="true" eSuperTypes="#//core/KDMEntity">
<eStructuralFeatures xsi:type="ecore:EReference" name="source" ordered="false"
upperBound="-1" eType="#//source/SourceRef" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="UIRelation" ordered="false"
upperBound="-1" eType="#//ui/AbstractUIRelationship" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="implementation" ordered="false"
upperBound="-1" eType="#//code/AbstractCodeElement"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="abstraction" upperBound="-1"
eType="#//action/ActionElement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="UIResource" eSuperTypes="#//ui/AbstractUIElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="UIElement" ordered="false"
upperBound="-1" eType="#//ui/AbstractUIElement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="UIDisplay" eSuperTypes="#//ui/UIResource"/>
<eClassifiers xsi:type="ecore:EClass" name="Screen" eSuperTypes="#//ui/UIDisplay"/>
<eClassifiers xsi:type="ecore:EClass" name="Report" eSuperTypes="#//ui/UIDisplay"/>
<eClassifiers xsi:type="ecore:EClass" name="UIModel" eSuperTypes="#//kdm/KDMModel">
<eStructuralFeatures xsi:type="ecore:EReference" name="UIElement" ordered="false"
upperBound="-1" eType="#//ui/AbstractUIElement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AbstractUIRelationship" abstract="true"
interface="true" eSuperTypes="#//core/KDMRelationship"/>
<eClassifiers xsi:type="ecore:EClass" name="UILayout" eSuperTypes="#//ui/AbstractUIRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//ui/UIResource"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//ui/UIResource"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="UIField" eSuperTypes="#//ui/UIResource"/>
<eClassifiers xsi:type="ecore:EClass" name="DisplaysImage" eSuperTypes="#//ui/AbstractUIRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//source/Image"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//action/ActionElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Displays" eSuperTypes="#//ui/AbstractUIRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//ui/UIResource"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//action/ActionElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="UIFlow" eSuperTypes="#//ui/AbstractUIRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//ui/AbstractUIElement"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//ui/AbstractUIElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="UIElement" eSuperTypes="#//ui/AbstractUIElement"/>
<eClassifiers xsi:type="ecore:EClass" name="UIRelationship" eSuperTypes="#//ui/AbstractUIRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//core/KDMEntity"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//ui/AbstractUIElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="UIAction" eSuperTypes="#//ui/AbstractUIElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//core/String"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="UIElement" ordered="false"
upperBound="-1" eType="#//ui/UIEvent" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="UIEvent" eSuperTypes="#//ui/AbstractUIElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//core/String"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ReadsUI" eSuperTypes="#//action/AbstractActionRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//ui/UIResource"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//action/ActionElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WritesUI" eSuperTypes="#//action/AbstractActionRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//ui/UIResource"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//action/ActionElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ManagesUI" eSuperTypes="#//action/AbstractActionRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
eType="#//ui/UIResource"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false"
lowerBound="1" eType="#//action/ActionElement"/>
</eClassifiers>
</eSubpackages>
</ecore:EPackage>