blob: c62d780046e22ef22350cef1c67e9d571e9b3727 [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="spem"
nsURI="http://org.eclipse.m2m.qvt.oml/examples/omg/SPEM" nsPrefix="spem">
<eClassifiers xsi:type="ecore:EClass" name="Abstraction" eSuperTypes="#//Dependency"/>
<eClassifiers xsi:type="ecore:EClass" name="Action" eSuperTypes="#//ModelElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="state" ordered="false"
lowerBound="1" eType="#//State" eOpposite="#//State/entry"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ActionState" eSuperTypes="#//SimpleState"/>
<eClassifiers xsi:type="ecore:EClass" name="Activity" eSuperTypes="#//WorkDefinition">
<eStructuralFeatures xsi:type="ecore:EReference" name="assistant" unique="false"
lowerBound="1" upperBound="-1" eType="#//ProcessRole" eOpposite="#//ProcessRole/activity"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="step" unique="false" lowerBound="1"
upperBound="-1" eType="#//Step"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ActivityGraph" eSuperTypes="#//StateMachine"/>
<eClassifiers xsi:type="ecore:EClass" name="ActivityParameter" eSuperTypes="#//Parameter">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="hasWorkPerArtifact" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Association" eSuperTypes="#//Relationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="connection" unique="false"
lowerBound="1" upperBound="-1" eType="#//AssociationEnd" eOpposite="#//AssociationEnd/association"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AssociationEnd" eSuperTypes="#//ModelElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="association" ordered="false"
lowerBound="1" eType="#//Association" eOpposite="#//Association/connection"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="aggregation" ordered="false"
lowerBound="1" eType="#//AggregationKind"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isNavigable" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="multiplicity" ordered="false"
lowerBound="1" eType="#//Multiplicity"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="participant" ordered="false"
lowerBound="1" eType="#//Classifier" eOpposite="#//Classifier/association"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BehavioralFeature" eSuperTypes="#//Feature">
<eStructuralFeatures xsi:type="ecore:EReference" name="parameter" unique="false"
lowerBound="1" upperBound="-1" eType="#//Parameter" eOpposite="#//Parameter/behavioralFeature"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BooleanExpression" eSuperTypes="#//Expression"/>
<eClassifiers xsi:type="ecore:EClass" name="CallAction" eSuperTypes="#//Action">
<eStructuralFeatures xsi:type="ecore:EReference" name="operation" ordered="false"
lowerBound="1" eType="#//Operation" eOpposite="#//Operation/callAction"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Categorizes" eSuperTypes="#//Usage"/>
<eClassifiers xsi:type="ecore:EClass" name="Classifier" eSuperTypes="#//GeneralizableElement #//Namespace">
<eStructuralFeatures xsi:type="ecore:EReference" name="association" unique="false"
lowerBound="1" upperBound="-1" eType="#//AssociationEnd" eOpposite="#//AssociationEnd/participant"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="typedParameter" unique="false"
lowerBound="1" upperBound="-1" eType="#//Parameter" eOpposite="#//Parameter/type"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ClassifierInState" eSuperTypes="#//Classifier">
<eStructuralFeatures xsi:type="ecore:EReference" name="inState" unique="false"
lowerBound="1" upperBound="-1" eType="#//State"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="type" ordered="false" lowerBound="1"
eType="#//Classifier"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CompositeState" eSuperTypes="#//State">
<eStructuralFeatures xsi:type="ecore:EReference" name="subvertex" unique="false"
lowerBound="1" upperBound="-1" eType="#//StateVertex" eOpposite="#//StateVertex/container"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Constraint" eSuperTypes="#//ModelElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="body" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="constrainedElement" unique="false"
lowerBound="1" upperBound="-1" eType="#//ModelElement" eOpposite="#//ModelElement/constraint"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Dependency" eSuperTypes="#//Relationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="client" ordered="false"
lowerBound="1" eType="#//ModelElement" eOpposite="#//ModelElement/clientDependency"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="supplier" ordered="false"
lowerBound="1" eType="#//ModelElement" eOpposite="#//ModelElement/supplierDependency"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Discipline" eSuperTypes="#//ProcessComponent"/>
<eClassifiers xsi:type="ecore:EClass" name="Element"/>
<eClassifiers xsi:type="ecore:EClass" name="Expression">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="body" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="language" ordered="false"
lowerBound="1" eType="#//Name"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ExternalDescription" eSuperTypes="#//PresentationElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="content" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="language" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="medium" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Feature" eSuperTypes="#//ModelElement"/>
<eClassifiers xsi:type="ecore:EClass" name="FinalState" eSuperTypes="#//State"/>
<eClassifiers xsi:type="ecore:EClass" name="GeneralizableElement" eSuperTypes="#//ModelElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="generalization" unique="false"
lowerBound="1" upperBound="-1" eType="#//Generalization" eOpposite="#//Generalization/child"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="specialization" unique="false"
lowerBound="1" upperBound="-1" eType="#//Generalization" eOpposite="#//Generalization/parent"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Generalization" eSuperTypes="#//Relationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="child" ordered="false"
lowerBound="1" eType="#//GeneralizableElement" eOpposite="#//GeneralizableElement/generalization"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="parent" ordered="false"
lowerBound="1" eType="#//GeneralizableElement" eOpposite="#//GeneralizableElement/specialization"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Goal" eSuperTypes="#//Constraint"/>
<eClassifiers xsi:type="ecore:EClass" name="Guard" eSuperTypes="#//ModelElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="expression" ordered="false"
lowerBound="1" eType="#//BooleanExpression"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="transition" ordered="false"
lowerBound="1" eType="#//Transition" eOpposite="#//Transition/guard"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Guidance" eSuperTypes="#//ModelElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="annotatedElement" unique="false"
lowerBound="1" upperBound="-1" eType="#//ModelElement"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="kind" ordered="false" lowerBound="1"
eType="#//GuidanceKind" eOpposite="#//GuidanceKind/guidance"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="GuidanceKind" eSuperTypes="#//ModelElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="guidance" unique="false"
lowerBound="1" upperBound="-1" eType="#//Guidance" eOpposite="#//Guidance/kind"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Impacts" eSuperTypes="#//Usage"/>
<eClassifiers xsi:type="ecore:EClass" name="Import" eSuperTypes="#//Permission"/>
<eClassifiers xsi:type="ecore:EClass" name="Iteration" eSuperTypes="#//WorkDefinition"/>
<eClassifiers xsi:type="ecore:EClass" name="Lifecycle" eSuperTypes="#//WorkDefinition">
<eStructuralFeatures xsi:type="ecore:EReference" name="governedProcesses" unique="false"
lowerBound="1" upperBound="-1" eType="#//Process" eOpposite="#//Process/governingLifecycle"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ModelElement" eSuperTypes="#//Element">
<eStructuralFeatures xsi:type="ecore:EReference" name="constraint" unique="false"
lowerBound="1" upperBound="-1" eType="#//Constraint" eOpposite="#//Constraint/constrainedElement"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="clientDependency" unique="false"
lowerBound="1" upperBound="-1" eType="#//Dependency" eOpposite="#//Dependency/client"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="supplierDependency" unique="false"
lowerBound="1" upperBound="-1" eType="#//Dependency" eOpposite="#//Dependency/supplier"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="behavior" unique="false"
lowerBound="1" upperBound="-1" eType="#//StateMachine" eOpposite="#//StateMachine/context"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="presentation" unique="false"
lowerBound="1" upperBound="-1" eType="#//PresentationElement" eOpposite="#//PresentationElement/subject"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="namespace" ordered="false"
lowerBound="1" eType="#//Namespace" eOpposite="#//Namespace/ownedElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Multiplicity">
<eStructuralFeatures xsi:type="ecore:EReference" name="range" unique="false" lowerBound="1"
upperBound="-1" eType="#//MultiplicityRange" eOpposite="#//MultiplicityRange/multiplicity"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MultiplicityRange">
<eStructuralFeatures xsi:type="ecore:EReference" name="multiplicity" ordered="false"
lowerBound="1" eType="#//Multiplicity" eOpposite="#//Multiplicity/range"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="upper" ordered="false"
lowerBound="1" eType="#//UnlimitedInteger"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Namespace" eSuperTypes="#//ModelElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedElement" unique="false"
lowerBound="1" upperBound="-1" eType="#//ModelElement" eOpposite="#//ModelElement/namespace"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ObjectFlowState" eSuperTypes="#//SimpleState">
<eStructuralFeatures xsi:type="ecore:EReference" name="parameter" unique="false"
lowerBound="1" upperBound="-1" eType="#//Parameter" eOpposite="#//Parameter/state"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="type" ordered="false" lowerBound="1"
eType="#//Classifier"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Operation" eSuperTypes="#//BehavioralFeature">
<eStructuralFeatures xsi:type="ecore:EReference" name="callAction" unique="false"
lowerBound="1" upperBound="-1" eType="#//CallAction" eOpposite="#//CallAction/operation"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Package" eSuperTypes="#//Namespace"/>
<eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="#//ModelElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="behavioralFeature" ordered="false"
lowerBound="1" eType="#//BehavioralFeature" eOpposite="#//BehavioralFeature/parameter"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="type" ordered="false" lowerBound="1"
eType="#//Classifier" eOpposite="#//Classifier/typedParameter"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="state" unique="false" lowerBound="1"
upperBound="-1" eType="#//ObjectFlowState" eOpposite="#//ObjectFlowState/parameter"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false" lowerBound="1"
eType="#//ParameterDirectionKind"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Permission" eSuperTypes="#//Dependency"/>
<eClassifiers xsi:type="ecore:EClass" name="Phase" eSuperTypes="#//WorkDefinition"/>
<eClassifiers xsi:type="ecore:EClass" name="Precedes" eSuperTypes="#//Usage">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false" lowerBound="1"
eType="#//PrecedenceKind"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Precondition" eSuperTypes="#//Constraint"/>
<eClassifiers xsi:type="ecore:EClass" name="PresentationElement" eSuperTypes="#//Element">
<eStructuralFeatures xsi:type="ecore:EReference" name="subject" ordered="false"
lowerBound="1" eType="#//ModelElement" eOpposite="#//ModelElement/presentation"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Process" eSuperTypes="#//ProcessComponent">
<eStructuralFeatures xsi:type="ecore:EReference" name="governingLifecycle" ordered="false"
lowerBound="1" eType="#//Lifecycle" eOpposite="#//Lifecycle/governedProcesses"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ProcessComponent" eSuperTypes="#//Package"/>
<eClassifiers xsi:type="ecore:EClass" name="ProcessPerformer" eSuperTypes="#//Classifier">
<eStructuralFeatures xsi:type="ecore:EReference" name="work" unique="false" lowerBound="1"
upperBound="-1" eType="#//WorkDefinition" eOpposite="#//WorkDefinition/performer"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ProcessRole" eSuperTypes="#//ProcessPerformer">
<eStructuralFeatures xsi:type="ecore:EReference" name="activity" unique="false"
lowerBound="1" upperBound="-1" eType="#//Activity" eOpposite="#//Activity/assistant"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="workProduct" unique="false"
lowerBound="1" upperBound="-1" eType="#//WorkProduct" eOpposite="#//WorkProduct/responsibleRole"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PseudoState" eSuperTypes="#//StateVertex">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false" lowerBound="1"
eType="#//PseudoStateKind"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RefersTo" eSuperTypes="#//Usage"/>
<eClassifiers xsi:type="ecore:EClass" name="Relationship" eSuperTypes="#//ModelElement"/>
<eClassifiers xsi:type="ecore:EClass" name="SimpleState" eSuperTypes="#//State"/>
<eClassifiers xsi:type="ecore:EClass" name="State" eSuperTypes="#//StateVertex">
<eStructuralFeatures xsi:type="ecore:EReference" name="entry" ordered="false"
lowerBound="1" eType="#//Action" eOpposite="#//Action/state"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="stateMachine" ordered="false"
lowerBound="1" eType="#//StateMachine" eOpposite="#//StateMachine/top_"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StateMachine" eSuperTypes="#//ModelElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="context" ordered="false"
lowerBound="1" eType="#//ModelElement" eOpposite="#//ModelElement/behavior"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="top_" ordered="false" lowerBound="1"
eType="#//State" eOpposite="#//State/stateMachine"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="transitions" unique="false"
lowerBound="1" upperBound="-1" eType="#//Transition" eOpposite="#//Transition/stateMachine"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StateVertex" eSuperTypes="#//ModelElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="container" ordered="false"
lowerBound="1" eType="#//CompositeState" eOpposite="#//CompositeState/subvertex"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="incoming" unique="false"
lowerBound="1" upperBound="-1" eType="#//Transition" eOpposite="#//Transition/target"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="outgoing" unique="false"
lowerBound="1" upperBound="-1" eType="#//Transition" eOpposite="#//Transition/source"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Step" eSuperTypes="#//ActionState"/>
<eClassifiers xsi:type="ecore:EClass" name="Trace" eSuperTypes="#//Abstraction"/>
<eClassifiers xsi:type="ecore:EClass" name="Transition" eSuperTypes="#//ModelElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="stateMachine" ordered="false"
lowerBound="1" eType="#//StateMachine" eOpposite="#//StateMachine/transitions"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="target" ordered="false"
lowerBound="1" eType="#//StateVertex" eOpposite="#//StateVertex/incoming"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="source" ordered="false"
lowerBound="1" eType="#//StateVertex" eOpposite="#//StateVertex/outgoing"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="guard" ordered="false"
lowerBound="1" eType="#//Guard" eOpposite="#//Guard/transition"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Usage" eSuperTypes="#//Dependency"/>
<eClassifiers xsi:type="ecore:EClass" name="WorkDefinition" eSuperTypes="#//Operation">
<eStructuralFeatures xsi:type="ecore:EReference" name="performer" ordered="false"
lowerBound="1" eType="#//ProcessPerformer" eOpposite="#//ProcessPerformer/work"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="goal" ordered="false" lowerBound="1"
eType="#//Goal"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="parentWork" unique="false"
lowerBound="1" upperBound="-1" eType="#//WorkDefinition" eOpposite="#//WorkDefinition/subWork"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="subWork" unique="false"
lowerBound="1" upperBound="-1" eType="#//WorkDefinition" eOpposite="#//WorkDefinition/parentWork"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="precondition" ordered="false"
lowerBound="1" eType="#//Precondition"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WorkProduct" eSuperTypes="#//Classifier">
<eStructuralFeatures xsi:type="ecore:EReference" name="responsibleRole" ordered="false"
lowerBound="1" eType="#//ProcessRole" eOpposite="#//ProcessRole/workProduct"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isDeliverable" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="kind" ordered="false" lowerBound="1"
eType="#//WorkProductKind" eOpposite="#//WorkProductKind/workProduct"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WorkProductKind" eSuperTypes="#//ModelElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="workProduct" unique="false"
lowerBound="1" upperBound="-1" eType="#//WorkProduct" eOpposite="#//WorkProduct/kind"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="AggregationKind"/>
<eClassifiers xsi:type="ecore:EClass" name="Name"/>
<eClassifiers xsi:type="ecore:EClass" name="UnlimitedInteger"/>
<eClassifiers xsi:type="ecore:EEnum" name="ParameterDirectionKind"/>
<eClassifiers xsi:type="ecore:EEnum" name="PrecedenceKind"/>
<eClassifiers xsi:type="ecore:EEnum" name="PseudoStateKind"/>
</ecore:EPackage>