blob: 8a1ab65926079aa477c7c10a2b7480bd1344d91e [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="statemachine" nsURI="http://www.eclipse.org/efm/FormalML/Statemachine"
nsPrefix="statemachine">
<eClassifiers xsi:type="ecore:EClass" name="Statemachine" eSuperTypes="formalml.infrastructure.ecore#//Behavior">
<eStructuralFeatures xsi:type="ecore:EReference" name="region" upperBound="-1"
eType="#//Region" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Region" eSuperTypes="formalml.common.ecore#//NamedElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="vertex" upperBound="-1"
eType="#//Vertex" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Vertex" eSuperTypes="formalml.common.ecore#//NamedElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="transition" upperBound="-1"
eType="#//Transition" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="moe" eType="ecore:EClass formalml.infrastructure.ecore#//ModelOfExecution"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Pseudostate" eSuperTypes="#//Vertex">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//PseudostateKind"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="PseudostateKind">
<eLiterals name="Initial" literal="initial"/>
<eLiterals name="DeepHistory" value="1" literal="dhistory"/>
<eLiterals name="ShallowHistory" value="2" literal="shistory"/>
<eLiterals name="Join" value="3" literal="join"/>
<eLiterals name="Fork" value="4" literal="fork"/>
<eLiterals name="Junction" value="5" literal="junction"/>
<eLiterals name="Choice" value="6" literal="choice"/>
<eLiterals name="EntryPoint" value="7" literal="entryPoint"/>
<eLiterals name="ExitPoint" value="8" literal="exitPoint"/>
<eLiterals name="Terminal" value="9" literal="terminal"/>
<eLiterals name="Return" value="10" literal="return"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="State" eSuperTypes="#//Vertex">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="simple" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="composite" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="orthogonal" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="region" upperBound="-1"
eType="#//Region" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FinalState" eSuperTypes="#//State"/>
<eClassifiers xsi:type="ecore:EClass" name="StartState" eSuperTypes="#//State"/>
<eClassifiers xsi:type="ecore:EClass" name="Transition" eSuperTypes="formalml.common.ecore#//NamedElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="transient" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="moe" eType="#//TransitionMoe"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//Vertex"
resolveProxies="false"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="behavior" eType="ecore:EClass formalml.statement.ecore#//BlockStatement"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="trigger" upperBound="-1"
eType="ecore:EClass formalml.statement.ecore#//InputComStatement" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="guard" eType="ecore:EClass formalml.statement.ecore#//AbstractGuardStatement"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="tguard" eType="ecore:EClass formalml.statement.ecore#//TimedGuardStatement"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="effect" eType="ecore:EClass formalml.statement.ecore#//Statement"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="targetExpression" eType="ecore:EClass formalml.expression.ecore#//Expression"
containment="true" resolveProxies="false"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TransitionMoe">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="moc" eType="#//TransitionMoc"
defaultValueLiteral="simple"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isElse" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="priority" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="probability" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat" defaultValueLiteral="1.0"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="TransitionMoc">
<eLiterals name="simple"/>
<eLiterals name="abort" value="1"/>
<eLiterals name="final" value="2"/>
</eClassifiers>
</ecore:EPackage>