sexec.ecore 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="sexec" nsURI="http://www.yakindu.org/sct/sexec/1.0.0" nsPrefix="sexec">
  4. <eClassifiers xsi:type="ecore:EClass" name="MappedElement">
  5. <eStructuralFeatures xsi:type="ecore:EReference" name="sourceElement" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
  6. </eClassifiers>
  7. <eClassifiers xsi:type="ecore:EClass" name="ExecutionFlow" eSuperTypes="../../org.yakindu.sct.model.sgraph/model/emf/sgraph.ecore#//ScopedElement #//ExecutionScope #//ExecutionNode">
  8. <eStructuralFeatures xsi:type="ecore:EReference" name="states" upperBound="-1"
  9. eType="#//ExecutionState" containment="true"/>
  10. <eStructuralFeatures xsi:type="ecore:EReference" name="nodes" upperBound="-1"
  11. eType="#//ExecutionNode" containment="true"/>
  12. <eStructuralFeatures xsi:type="ecore:EReference" name="regions" upperBound="-1"
  13. eType="#//ExecutionRegion" containment="true"/>
  14. <eStructuralFeatures xsi:type="ecore:EReference" name="historyVector" eType="#//StateVector"
  15. containment="true"/>
  16. <eStructuralFeatures xsi:type="ecore:EReference" name="entryAction" eType="#//Step"
  17. containment="true"/>
  18. <eStructuralFeatures xsi:type="ecore:EReference" name="exitAction" eType="#//Step"
  19. containment="true"/>
  20. <eStructuralFeatures xsi:type="ecore:EReference" name="staticInitSequence" eType="#//Sequence"
  21. containment="true"/>
  22. </eClassifiers>
  23. <eClassifiers xsi:type="ecore:EClass" name="ExecutionNode" eSuperTypes="#//MappedElement ../../org.yakindu.base.types/model/base.ecore#//NamedElement">
  24. <eStructuralFeatures xsi:type="ecore:EReference" name="reactions" upperBound="-1"
  25. eType="#//Reaction" containment="true"/>
  26. <eStructuralFeatures xsi:type="ecore:EAttribute" name="simpleName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
  27. <eStructuralFeatures xsi:type="ecore:EReference" name="reactSequence" eType="#//Sequence"
  28. containment="true"/>
  29. </eClassifiers>
  30. <eClassifiers xsi:type="ecore:EClass" name="ExecutionState" eSuperTypes="#//ExecutionNode #//ExecutionScope">
  31. <eStructuralFeatures xsi:type="ecore:EAttribute" name="leaf" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
  32. defaultValueLiteral="false"/>
  33. <eStructuralFeatures xsi:type="ecore:EReference" name="entryAction" eType="#//Step"
  34. containment="true"/>
  35. <eStructuralFeatures xsi:type="ecore:EReference" name="exitAction" eType="#//Step"
  36. containment="true"/>
  37. </eClassifiers>
  38. <eClassifiers xsi:type="ecore:EClass" name="ExecutionScope" eSuperTypes="#//MappedElement ../../org.yakindu.base.types/model/base.ecore#//NamedElement">
  39. <eStructuralFeatures xsi:type="ecore:EReference" name="stateVector" eType="#//StateVector"
  40. containment="true"/>
  41. <eStructuralFeatures xsi:type="ecore:EReference" name="subScopes" upperBound="-1"
  42. eType="#//ExecutionScope" eOpposite="#//ExecutionScope/superScope"/>
  43. <eStructuralFeatures xsi:type="ecore:EReference" name="superScope" eType="#//ExecutionScope"
  44. eOpposite="#//ExecutionScope/subScopes"/>
  45. <eStructuralFeatures xsi:type="ecore:EReference" name="enterSequences" upperBound="-1"
  46. eType="#//Sequence" containment="true"/>
  47. <eStructuralFeatures xsi:type="ecore:EReference" name="exitSequence" eType="#//Sequence"
  48. containment="true"/>
  49. <eStructuralFeatures xsi:type="ecore:EReference" name="initSequence" eType="#//Sequence"
  50. containment="true"/>
  51. </eClassifiers>
  52. <eClassifiers xsi:type="ecore:EClass" name="ExecutionRegion" eSuperTypes="#//ExecutionScope">
  53. <eStructuralFeatures xsi:type="ecore:EReference" name="deepEnterSequence" eType="#//Sequence"
  54. containment="true"/>
  55. <eStructuralFeatures xsi:type="ecore:EReference" name="shallowEnterSequence" eType="#//Sequence"
  56. containment="true"/>
  57. <eStructuralFeatures xsi:type="ecore:EReference" name="historyVector" eType="#//StateVector"
  58. containment="true"/>
  59. <eStructuralFeatures xsi:type="ecore:EReference" name="nodes" upperBound="-1"
  60. eType="#//ExecutionNode"/>
  61. </eClassifiers>
  62. <eClassifiers xsi:type="ecore:EClass" name="ExecutionEntry" eSuperTypes="#//ExecutionNode"/>
  63. <eClassifiers xsi:type="ecore:EClass" name="ExecutionExit" eSuperTypes="#//ExecutionNode"/>
  64. <eClassifiers xsi:type="ecore:EClass" name="ExecutionChoice" eSuperTypes="#//ExecutionNode"/>
  65. <eClassifiers xsi:type="ecore:EClass" name="ExecutionSynchronization" eSuperTypes="#//ExecutionNode"/>
  66. <eClassifiers xsi:type="ecore:EClass" name="Reaction" eSuperTypes="#//MappedElement ../../org.yakindu.base.types/model/base.ecore#//NamedElement">
  67. <eStructuralFeatures xsi:type="ecore:EReference" name="check" eType="#//Check"
  68. containment="true"/>
  69. <eStructuralFeatures xsi:type="ecore:EReference" name="effect" eType="#//Step"
  70. containment="true"/>
  71. <eStructuralFeatures xsi:type="ecore:EAttribute" name="transition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
  72. </eClassifiers>
  73. <eClassifiers xsi:type="ecore:EClass" name="StateVector">
  74. <eStructuralFeatures xsi:type="ecore:EAttribute" name="size" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
  75. defaultValueLiteral="1"/>
  76. <eStructuralFeatures xsi:type="ecore:EAttribute" name="offset" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
  77. defaultValueLiteral="0"/>
  78. </eClassifiers>
  79. <eClassifiers xsi:type="ecore:EClass" name="TimeEvent" eSuperTypes="../../org.yakindu.base.types/model/types.ecore#//Event">
  80. <eStructuralFeatures xsi:type="ecore:EAttribute" name="periodic" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
  81. defaultValueLiteral="false"/>
  82. </eClassifiers>
  83. <eClassifiers xsi:type="ecore:EClass" name="Step" abstract="true" eSuperTypes="../../org.yakindu.base.types/model/base.ecore#//NamedElement">
  84. <eStructuralFeatures xsi:type="ecore:EAttribute" name="comment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
  85. <eStructuralFeatures xsi:type="ecore:EReference" name="caller" upperBound="-1"
  86. eType="#//Call" eOpposite="#//Call/step"/>
  87. </eClassifiers>
  88. <eClassifiers xsi:type="ecore:EClass" name="Sequence" eSuperTypes="#//Step">
  89. <eStructuralFeatures xsi:type="ecore:EReference" name="steps" upperBound="-1"
  90. eType="#//Step" containment="true"/>
  91. </eClassifiers>
  92. <eClassifiers xsi:type="ecore:EClass" name="Check" eSuperTypes="#//Step">
  93. <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="ecore:EClass ../../org.yakindu.base.expressions/model/Expressions.ecore#//Expression"
  94. containment="true"/>
  95. <eStructuralFeatures xsi:type="ecore:EReference" name="refs" upperBound="-1" eType="#//CheckRef"
  96. eOpposite="#//CheckRef/check"/>
  97. </eClassifiers>
  98. <eClassifiers xsi:type="ecore:EClass" name="CheckRef" eSuperTypes="#//Check">
  99. <eStructuralFeatures xsi:type="ecore:EReference" name="check" eType="#//Check"
  100. eOpposite="#//Check/refs"/>
  101. </eClassifiers>
  102. <eClassifiers xsi:type="ecore:EClass" name="If" eSuperTypes="#//Step">
  103. <eStructuralFeatures xsi:type="ecore:EReference" name="check" eType="#//Check"
  104. containment="true"/>
  105. <eStructuralFeatures xsi:type="ecore:EReference" name="thenStep" eType="#//Step"
  106. containment="true"/>
  107. <eStructuralFeatures xsi:type="ecore:EReference" name="elseStep" eType="#//Step"
  108. containment="true"/>
  109. </eClassifiers>
  110. <eClassifiers xsi:type="ecore:EClass" name="Execution" eSuperTypes="#//Step">
  111. <eStructuralFeatures xsi:type="ecore:EReference" name="statement" eType="ecore:EClass ../../org.yakindu.base.expressions/model/Expressions.ecore#//Expression"
  112. containment="true"/>
  113. </eClassifiers>
  114. <eClassifiers xsi:type="ecore:EClass" name="EnterState" eSuperTypes="#//Step">
  115. <eStructuralFeatures xsi:type="ecore:EReference" name="state" eType="#//ExecutionState"/>
  116. </eClassifiers>
  117. <eClassifiers xsi:type="ecore:EClass" name="ExitState" eSuperTypes="#//Step">
  118. <eStructuralFeatures xsi:type="ecore:EReference" name="state" eType="#//ExecutionState"/>
  119. </eClassifiers>
  120. <eClassifiers xsi:type="ecore:EClass" name="Call" eSuperTypes="#//Step">
  121. <eStructuralFeatures xsi:type="ecore:EReference" name="step" eType="#//Step" eOpposite="#//Step/caller"/>
  122. </eClassifiers>
  123. <eClassifiers xsi:type="ecore:EClass" name="ScheduleTimeEvent" eSuperTypes="#//Step">
  124. <eStructuralFeatures xsi:type="ecore:EReference" name="timeEvent" eType="#//TimeEvent"/>
  125. <eStructuralFeatures xsi:type="ecore:EReference" name="timeValue" eType="ecore:EClass ../../org.yakindu.base.expressions/model/Expressions.ecore#//Expression"
  126. containment="true"/>
  127. </eClassifiers>
  128. <eClassifiers xsi:type="ecore:EClass" name="UnscheduleTimeEvent" eSuperTypes="#//Step">
  129. <eStructuralFeatures xsi:type="ecore:EReference" name="timeEvent" eType="#//TimeEvent"/>
  130. </eClassifiers>
  131. <eClassifiers xsi:type="ecore:EClass" name="StateSwitch" eSuperTypes="#//Step">
  132. <eStructuralFeatures xsi:type="ecore:EReference" name="cases" upperBound="-1"
  133. eType="#//StateCase" containment="true"/>
  134. <eStructuralFeatures xsi:type="ecore:EAttribute" name="stateConfigurationIdx"
  135. eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
  136. <eStructuralFeatures xsi:type="ecore:EReference" name="historyRegion" eType="#//ExecutionRegion"/>
  137. </eClassifiers>
  138. <eClassifiers xsi:type="ecore:EClass" name="StateCase">
  139. <eStructuralFeatures xsi:type="ecore:EReference" name="state" eType="#//ExecutionState"/>
  140. <eStructuralFeatures xsi:type="ecore:EReference" name="step" eType="#//Step" containment="true"/>
  141. </eClassifiers>
  142. <eClassifiers xsi:type="ecore:EClass" name="SaveHistory" eSuperTypes="#//Step">
  143. <eStructuralFeatures xsi:type="ecore:EReference" name="region" eType="#//ExecutionRegion"/>
  144. <eStructuralFeatures xsi:type="ecore:EAttribute" name="deep" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
  145. </eClassifiers>
  146. <eClassifiers xsi:type="ecore:EClass" name="HistoryEntry" eSuperTypes="#//Step">
  147. <eStructuralFeatures xsi:type="ecore:EReference" name="initialStep" eType="#//Step"
  148. containment="true"/>
  149. <eStructuralFeatures xsi:type="ecore:EAttribute" name="deep" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
  150. <eStructuralFeatures xsi:type="ecore:EReference" name="region" eType="#//ExecutionRegion"/>
  151. <eStructuralFeatures xsi:type="ecore:EReference" name="historyStep" eType="#//Step"
  152. containment="true"/>
  153. </eClassifiers>
  154. <eClassifiers xsi:type="ecore:EClass" name="Trace" abstract="true" eSuperTypes="#//Step"/>
  155. <eClassifiers xsi:type="ecore:EClass" name="TraceNodeExecuted" eSuperTypes="#//Trace">
  156. <eStructuralFeatures xsi:type="ecore:EReference" name="node" eType="#//ExecutionNode"/>
  157. </eClassifiers>
  158. <eClassifiers xsi:type="ecore:EClass" name="ReactionFired" eSuperTypes="#//Trace">
  159. <eStructuralFeatures xsi:type="ecore:EReference" name="reaction" eType="#//Reaction"/>
  160. </eClassifiers>
  161. <eClassifiers xsi:type="ecore:EClass" name="TraceReactionWillFire" eSuperTypes="#//Trace">
  162. <eStructuralFeatures xsi:type="ecore:EReference" name="reaction" eType="#//Reaction"/>
  163. </eClassifiers>
  164. <eClassifiers xsi:type="ecore:EClass" name="TraceStateEntered" eSuperTypes="#//Trace">
  165. <eStructuralFeatures xsi:type="ecore:EReference" name="state" eType="#//ExecutionState"/>
  166. </eClassifiers>
  167. <eClassifiers xsi:type="ecore:EClass" name="TraceStateExited" eSuperTypes="#//Trace">
  168. <eStructuralFeatures xsi:type="ecore:EReference" name="state" eType="#//ExecutionState"/>
  169. </eClassifiers>
  170. <eClassifiers xsi:type="ecore:EClass" name="TraceBeginRunCycle" eSuperTypes="#//Trace"/>
  171. <eClassifiers xsi:type="ecore:EClass" name="TraceEndRunCycle" eSuperTypes="#//Trace"/>
  172. </ecore:EPackage>