SText.ecore 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273
  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="stext" nsURI="http://www.yakindu.org/sct/statechart/SText" nsPrefix="stext">
  4. <eClassifiers xsi:type="ecore:EClass" name="Root">
  5. <eStructuralFeatures xsi:type="ecore:EReference" name="roots" upperBound="-1"
  6. eType="#//DefRoot" containment="true"/>
  7. </eClassifiers>
  8. <eClassifiers xsi:type="ecore:EClass" name="DefRoot"/>
  9. <eClassifiers xsi:type="ecore:EClass" name="StatechartRoot" eSuperTypes="#//DefRoot">
  10. <eStructuralFeatures xsi:type="ecore:EReference" name="def" eType="#//StatechartSpecification"
  11. containment="true"/>
  12. </eClassifiers>
  13. <eClassifiers xsi:type="ecore:EClass" name="StateRoot" eSuperTypes="#//DefRoot">
  14. <eStructuralFeatures xsi:type="ecore:EReference" name="def" eType="#//StateSpecification"
  15. containment="true"/>
  16. </eClassifiers>
  17. <eClassifiers xsi:type="ecore:EClass" name="TransitionRoot" eSuperTypes="#//DefRoot">
  18. <eStructuralFeatures xsi:type="ecore:EReference" name="def" eType="#//TransitionSpecification"
  19. containment="true"/>
  20. </eClassifiers>
  21. <eClassifiers xsi:type="ecore:EClass" name="StatechartSpecification" eSuperTypes="../../org.yakindu.sct.model.sgraph/model/emf/sgraph.ecore#//ScopedElement"/>
  22. <eClassifiers xsi:type="ecore:EClass" name="StateSpecification">
  23. <eStructuralFeatures xsi:type="ecore:EReference" name="scope" eType="ecore:EClass ../../org.yakindu.sct.model.sgraph/model/emf/sgraph.ecore#//Scope"
  24. containment="true"/>
  25. </eClassifiers>
  26. <eClassifiers xsi:type="ecore:EClass" name="TransitionSpecification">
  27. <eStructuralFeatures xsi:type="ecore:EReference" name="reaction" eType="#//TransitionReaction"
  28. containment="true"/>
  29. </eClassifiers>
  30. <eClassifiers xsi:type="ecore:EClass" name="StatechartScope" eSuperTypes="../../org.yakindu.sct.model.sgraph/model/emf/sgraph.ecore#//Scope"/>
  31. <eClassifiers xsi:type="ecore:EClass" name="InterfaceScope" eSuperTypes="#//StatechartScope ../../org.yakindu.base.types/model/base.ecore#//NamedElement"/>
  32. <eClassifiers xsi:type="ecore:EClass" name="InternalScope" eSuperTypes="#//StatechartScope"/>
  33. <eClassifiers xsi:type="ecore:EClass" name="EventDefinition" eSuperTypes="../../org.yakindu.sct.model.sgraph/model/emf/sgraph.ecore#//Event ../../org.yakindu.base.types/model/types.ecore#//Event">
  34. <eStructuralFeatures xsi:type="ecore:EAttribute" name="direction" eType="#//Direction"/>
  35. </eClassifiers>
  36. <eClassifiers xsi:type="ecore:EEnum" name="Direction">
  37. <eLiterals name="LOCAL" literal="local"/>
  38. <eLiterals name="IN" value="1" literal="in"/>
  39. <eLiterals name="OUT" value="2" literal="out"/>
  40. </eClassifiers>
  41. <eClassifiers xsi:type="ecore:EClass" name="VariableDefinition" eSuperTypes="../../org.yakindu.sct.model.sgraph/model/emf/sgraph.ecore#//Variable ../../org.yakindu.base.types/model/types.ecore#//Property">
  42. <eStructuralFeatures xsi:type="ecore:EAttribute" name="readonly" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
  43. <eStructuralFeatures xsi:type="ecore:EAttribute" name="external" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
  44. <eStructuralFeatures xsi:type="ecore:EReference" name="initialValue" eType="#//Expression"
  45. containment="true"/>
  46. </eClassifiers>
  47. <eClassifiers xsi:type="ecore:EClass" name="OperationDefinition" eSuperTypes="../../org.yakindu.sct.model.sgraph/model/emf/sgraph.ecore#//Declaration ../../org.yakindu.base.types/model/types.ecore#//Operation"/>
  48. <eClassifiers xsi:type="ecore:EClass" name="LocalReaction" eSuperTypes="../../org.yakindu.sct.model.sgraph/model/emf/sgraph.ecore#//Declaration ../../org.yakindu.sct.model.sgraph/model/emf/sgraph.ecore#//Reaction"/>
  49. <eClassifiers xsi:type="ecore:EClass" name="TransitionReaction" eSuperTypes="../../org.yakindu.sct.model.sgraph/model/emf/sgraph.ecore#//Reaction">
  50. <eStructuralFeatures xsi:type="ecore:EReference" name="properties" eType="#//ReactionProperties"
  51. containment="true"/>
  52. </eClassifiers>
  53. <eClassifiers xsi:type="ecore:EClass" name="ReactionProperties">
  54. <eStructuralFeatures xsi:type="ecore:EReference" name="properties" upperBound="-1"
  55. eType="#//ReactionProperty" containment="true"/>
  56. </eClassifiers>
  57. <eClassifiers xsi:type="ecore:EClass" name="ReactionProperty"/>
  58. <eClassifiers xsi:type="ecore:EClass" name="EntryPointSpec" eSuperTypes="#//ReactionProperty">
  59. <eStructuralFeatures xsi:type="ecore:EReference" name="entrypoint" eType="#//Entrypoint"/>
  60. </eClassifiers>
  61. <eClassifiers xsi:type="ecore:EClass" name="ExitPointSpec" eSuperTypes="#//ReactionProperty">
  62. <eStructuralFeatures xsi:type="ecore:EReference" name="exitpoint" eType="#//Exitpoint"/>
  63. </eClassifiers>
  64. <eClassifiers xsi:type="ecore:EClass" name="EventSpec"/>
  65. <eClassifiers xsi:type="ecore:EClass" name="RegularEventSpec" eSuperTypes="#//EventSpec">
  66. <eStructuralFeatures xsi:type="ecore:EReference" name="event" eType="#//Expression"
  67. containment="true"/>
  68. </eClassifiers>
  69. <eClassifiers xsi:type="ecore:EClass" name="TimeEventSpec" eSuperTypes="#//EventSpec">
  70. <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="#//TimeEventType"/>
  71. <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
  72. <eStructuralFeatures xsi:type="ecore:EAttribute" name="unit" eType="#//TimeUnit"/>
  73. </eClassifiers>
  74. <eClassifiers xsi:type="ecore:EEnum" name="TimeEventType">
  75. <eLiterals name="after" literal="after"/>
  76. <eLiterals name="every" value="1" literal="every"/>
  77. </eClassifiers>
  78. <eClassifiers xsi:type="ecore:EClass" name="BuiltinEventSpec" eSuperTypes="#//EventSpec"/>
  79. <eClassifiers xsi:type="ecore:EClass" name="EntryEvent" eSuperTypes="#//BuiltinEventSpec"/>
  80. <eClassifiers xsi:type="ecore:EClass" name="ExitEvent" eSuperTypes="#//BuiltinEventSpec"/>
  81. <eClassifiers xsi:type="ecore:EClass" name="OnCycleEvent" eSuperTypes="#//BuiltinEventSpec"/>
  82. <eClassifiers xsi:type="ecore:EClass" name="AlwaysEvent" eSuperTypes="#//BuiltinEventSpec"/>
  83. <eClassifiers xsi:type="ecore:EClass" name="DefaultEvent" eSuperTypes="#//BuiltinEventSpec"/>
  84. <eClassifiers xsi:type="ecore:EClass" name="Expression" eSuperTypes="../../org.yakindu.sct.model.sgraph/model/emf/sgraph.ecore#//Statement"/>
  85. <eClassifiers xsi:type="ecore:EClass" name="Literal"/>
  86. <eClassifiers xsi:type="ecore:EClass" name="BoolLiteral" eSuperTypes="#//Literal">
  87. <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
  88. </eClassifiers>
  89. <eClassifiers xsi:type="ecore:EClass" name="IntLiteral" eSuperTypes="#//Literal">
  90. <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
  91. </eClassifiers>
  92. <eClassifiers xsi:type="ecore:EClass" name="RealLiteral" eSuperTypes="#//Literal">
  93. <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
  94. </eClassifiers>
  95. <eClassifiers xsi:type="ecore:EClass" name="HexLiteral" eSuperTypes="#//Literal">
  96. <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
  97. </eClassifiers>
  98. <eClassifiers xsi:type="ecore:EClass" name="StringLiteral" eSuperTypes="#//Literal">
  99. <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
  100. </eClassifiers>
  101. <eClassifiers xsi:type="ecore:EEnum" name="AssignmentOperator">
  102. <eLiterals name="assign" literal="="/>
  103. <eLiterals name="multAssign" value="1" literal="*="/>
  104. <eLiterals name="divAssign" value="2" literal="/="/>
  105. <eLiterals name="modAssign" value="3" literal="%="/>
  106. <eLiterals name="addAssign" value="4" literal="+="/>
  107. <eLiterals name="subAssign" value="5" literal="-="/>
  108. <eLiterals name="leftShiftAssign" value="6" literal="&lt;&lt;="/>
  109. <eLiterals name="rightShiftAssign" value="7" literal=">>="/>
  110. <eLiterals name="andAssign" value="8" literal="&amp;="/>
  111. <eLiterals name="xorAssign" value="9" literal="^="/>
  112. <eLiterals name="orAssign" value="10" literal="|="/>
  113. </eClassifiers>
  114. <eClassifiers xsi:type="ecore:EEnum" name="ShiftOperator">
  115. <eLiterals name="left" literal="&lt;&lt;"/>
  116. <eLiterals name="right" value="1" literal=">>"/>
  117. </eClassifiers>
  118. <eClassifiers xsi:type="ecore:EEnum" name="AdditiveOperator">
  119. <eLiterals name="plus" literal="+"/>
  120. <eLiterals name="minus" value="1" literal="-"/>
  121. </eClassifiers>
  122. <eClassifiers xsi:type="ecore:EEnum" name="MultiplicativeOperator">
  123. <eLiterals name="mul" literal="*"/>
  124. <eLiterals name="div" value="1" literal="/"/>
  125. <eLiterals name="mod" value="2" literal="%"/>
  126. </eClassifiers>
  127. <eClassifiers xsi:type="ecore:EEnum" name="UnaryOperator">
  128. <eLiterals name="positive" literal="+"/>
  129. <eLiterals name="negative" value="1" literal="-"/>
  130. <eLiterals name="complement" value="2" literal="~"/>
  131. </eClassifiers>
  132. <eClassifiers xsi:type="ecore:EEnum" name="RelationalOperator">
  133. <eLiterals name="smaller" literal="&lt;"/>
  134. <eLiterals name="smallerEqual" value="1" literal="&lt;="/>
  135. <eLiterals name="greater" value="2" literal=">"/>
  136. <eLiterals name="greaterEqual" value="3" literal=">="/>
  137. <eLiterals name="equals" value="4" literal="=="/>
  138. <eLiterals name="notEquals" value="5" literal="!="/>
  139. </eClassifiers>
  140. <eClassifiers xsi:type="ecore:EEnum" name="TimeUnit">
  141. <eLiterals name="second" literal="s"/>
  142. <eLiterals name="millisecond" value="1" literal="ms"/>
  143. <eLiterals name="microsecond" value="2" literal="us"/>
  144. <eLiterals name="nanosecond" value="3" literal="ns"/>
  145. </eClassifiers>
  146. <eClassifiers xsi:type="ecore:EClass" name="SimpleScope" eSuperTypes="../../org.yakindu.sct.model.sgraph/model/emf/sgraph.ecore#//Scope"/>
  147. <eClassifiers xsi:type="ecore:EClass" name="Entrypoint" eSuperTypes="../../org.yakindu.sct.model.sgraph/model/emf/sgraph.ecore#//Declaration"/>
  148. <eClassifiers xsi:type="ecore:EClass" name="Exitpoint" eSuperTypes="../../org.yakindu.sct.model.sgraph/model/emf/sgraph.ecore#//Declaration"/>
  149. <eClassifiers xsi:type="ecore:EClass" name="ReactionTrigger" eSuperTypes="../../org.yakindu.sct.model.sgraph/model/emf/sgraph.ecore#//Trigger">
  150. <eStructuralFeatures xsi:type="ecore:EReference" name="triggers" upperBound="-1"
  151. eType="#//EventSpec" containment="true"/>
  152. <eStructuralFeatures xsi:type="ecore:EReference" name="guardExpression" eType="#//Expression"
  153. containment="true"/>
  154. </eClassifiers>
  155. <eClassifiers xsi:type="ecore:EClass" name="ReactionEffect" eSuperTypes="../../org.yakindu.sct.model.sgraph/model/emf/sgraph.ecore#//Effect">
  156. <eStructuralFeatures xsi:type="ecore:EReference" name="actions" upperBound="-1"
  157. eType="#//Expression" containment="true"/>
  158. </eClassifiers>
  159. <eClassifiers xsi:type="ecore:EClass" name="EventRaisingExpression" eSuperTypes="#//Expression">
  160. <eStructuralFeatures xsi:type="ecore:EReference" name="event" eType="#//Expression"
  161. containment="true"/>
  162. <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//Expression"
  163. containment="true"/>
  164. </eClassifiers>
  165. <eClassifiers xsi:type="ecore:EClass" name="AssignmentExpression" eSuperTypes="#//Expression">
  166. <eStructuralFeatures xsi:type="ecore:EReference" name="varRef" eType="#//Expression"
  167. containment="true"/>
  168. <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" eType="#//AssignmentOperator"/>
  169. <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="#//Expression"
  170. containment="true"/>
  171. </eClassifiers>
  172. <eClassifiers xsi:type="ecore:EClass" name="ConditionalExpression" eSuperTypes="#//Expression">
  173. <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//Expression"
  174. containment="true"/>
  175. <eStructuralFeatures xsi:type="ecore:EReference" name="trueCase" eType="#//Expression"
  176. containment="true"/>
  177. <eStructuralFeatures xsi:type="ecore:EReference" name="falseCase" eType="#//Expression"
  178. containment="true"/>
  179. </eClassifiers>
  180. <eClassifiers xsi:type="ecore:EClass" name="LogicalOrExpression" eSuperTypes="#//Expression">
  181. <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//Expression"
  182. containment="true"/>
  183. <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//Expression"
  184. containment="true"/>
  185. </eClassifiers>
  186. <eClassifiers xsi:type="ecore:EClass" name="LogicalAndExpression" eSuperTypes="#//Expression">
  187. <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//Expression"
  188. containment="true"/>
  189. <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//Expression"
  190. containment="true"/>
  191. </eClassifiers>
  192. <eClassifiers xsi:type="ecore:EClass" name="LogicalNotExpression" eSuperTypes="#//Expression">
  193. <eStructuralFeatures xsi:type="ecore:EReference" name="operand" eType="#//Expression"
  194. containment="true"/>
  195. </eClassifiers>
  196. <eClassifiers xsi:type="ecore:EClass" name="BitwiseXorExpression" eSuperTypes="#//Expression">
  197. <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//Expression"
  198. containment="true"/>
  199. <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//Expression"
  200. containment="true"/>
  201. </eClassifiers>
  202. <eClassifiers xsi:type="ecore:EClass" name="BitwiseOrExpression" eSuperTypes="#//Expression">
  203. <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//Expression"
  204. containment="true"/>
  205. <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//Expression"
  206. containment="true"/>
  207. </eClassifiers>
  208. <eClassifiers xsi:type="ecore:EClass" name="BitwiseAndExpression" eSuperTypes="#//Expression">
  209. <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//Expression"
  210. containment="true"/>
  211. <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//Expression"
  212. containment="true"/>
  213. </eClassifiers>
  214. <eClassifiers xsi:type="ecore:EClass" name="LogicalRelationExpression" eSuperTypes="#//Expression">
  215. <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//Expression"
  216. containment="true"/>
  217. <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" eType="#//RelationalOperator"/>
  218. <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//Expression"
  219. containment="true"/>
  220. </eClassifiers>
  221. <eClassifiers xsi:type="ecore:EClass" name="ShiftExpression" eSuperTypes="#//Expression">
  222. <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//Expression"
  223. containment="true"/>
  224. <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" eType="#//ShiftOperator"/>
  225. <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//Expression"
  226. containment="true"/>
  227. </eClassifiers>
  228. <eClassifiers xsi:type="ecore:EClass" name="NumericalAddSubtractExpression" eSuperTypes="#//Expression">
  229. <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//Expression"
  230. containment="true"/>
  231. <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" eType="#//AdditiveOperator"/>
  232. <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//Expression"
  233. containment="true"/>
  234. </eClassifiers>
  235. <eClassifiers xsi:type="ecore:EClass" name="NumericalMultiplyDivideExpression" eSuperTypes="#//Expression">
  236. <eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" eType="#//Expression"
  237. containment="true"/>
  238. <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" eType="#//MultiplicativeOperator"/>
  239. <eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" eType="#//Expression"
  240. containment="true"/>
  241. </eClassifiers>
  242. <eClassifiers xsi:type="ecore:EClass" name="NumericalUnaryExpression" eSuperTypes="#//Expression">
  243. <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" eType="#//UnaryOperator"/>
  244. <eStructuralFeatures xsi:type="ecore:EReference" name="operand" eType="#//Expression"
  245. containment="true"/>
  246. </eClassifiers>
  247. <eClassifiers xsi:type="ecore:EClass" name="PrimitiveValueExpression" eSuperTypes="#//Expression">
  248. <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//Literal"
  249. containment="true"/>
  250. </eClassifiers>
  251. <eClassifiers xsi:type="ecore:EClass" name="FeatureCall" eSuperTypes="#//Expression">
  252. <eStructuralFeatures xsi:type="ecore:EReference" name="owner" eType="#//Expression"
  253. containment="true"/>
  254. <eStructuralFeatures xsi:type="ecore:EReference" name="feature" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
  255. <eStructuralFeatures xsi:type="ecore:EAttribute" name="operationCall" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
  256. <eStructuralFeatures xsi:type="ecore:EReference" name="args" upperBound="-1" eType="#//Expression"
  257. containment="true"/>
  258. </eClassifiers>
  259. <eClassifiers xsi:type="ecore:EClass" name="ElementReferenceExpression" eSuperTypes="#//Expression">
  260. <eStructuralFeatures xsi:type="ecore:EReference" name="reference" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
  261. <eStructuralFeatures xsi:type="ecore:EAttribute" name="operationCall" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
  262. <eStructuralFeatures xsi:type="ecore:EReference" name="args" upperBound="-1" eType="#//Expression"
  263. containment="true"/>
  264. </eClassifiers>
  265. <eClassifiers xsi:type="ecore:EClass" name="EventValueReferenceExpression" eSuperTypes="#//Expression">
  266. <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//Expression"
  267. containment="true"/>
  268. </eClassifiers>
  269. <eClassifiers xsi:type="ecore:EClass" name="ActiveStateReferenceExpression" eSuperTypes="#//Expression">
  270. <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="ecore:EClass ../../org.yakindu.sct.model.sgraph/model/emf/sgraph.ecore#//State"/>
  271. </eClassifiers>
  272. </ecore:EPackage>