sgraph.ecore 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <ecore:EPackage xmi:version="2.0"
  3. xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="sgraph"
  5. nsURI="http://www.yakindu.org/sct/2.0.0" nsPrefix="sgraph">
  6. <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
  7. <eClassifiers xsi:type="ecore:EClass" name="Pseudostate" abstract="true" eSuperTypes="#//Vertex"/>
  8. <eClassifiers xsi:type="ecore:EClass" name="Vertex" abstract="true" eSuperTypes="#//NamedElement">
  9. <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
  10. <details key="constraints" value="IncomingTransitionCount OutgoingTransitionCount"/>
  11. </eAnnotations>
  12. <eStructuralFeatures xsi:type="ecore:EReference" name="parentRegion" ordered="false"
  13. lowerBound="1" eType="#//Region" eOpposite="#//Region/vertices"/>
  14. <eStructuralFeatures xsi:type="ecore:EReference" name="incomingTransitions" ordered="false"
  15. upperBound="-1" eType="#//Transition" eOpposite="#//Transition/target"/>
  16. <eStructuralFeatures xsi:type="ecore:EReference" name="outgoingTransitions" ordered="false"
  17. upperBound="-1" eType="#//Transition" containment="true" eOpposite="#//Transition/source"/>
  18. </eClassifiers>
  19. <eClassifiers xsi:type="ecore:EClass" name="NamedElement" abstract="true">
  20. <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
  21. </eClassifiers>
  22. <eClassifiers xsi:type="ecore:EClass" name="Region" eSuperTypes="#//NamedElement">
  23. <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
  24. <details key="constraints" value="ExactlyOneInitialState"/>
  25. </eAnnotations>
  26. <eStructuralFeatures xsi:type="ecore:EReference" name="vertices" ordered="false"
  27. upperBound="-1" eType="#//Vertex" containment="true" eOpposite="#//Vertex/parentRegion"/>
  28. <eStructuralFeatures xsi:type="ecore:EAttribute" name="priority" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
  29. <eStructuralFeatures xsi:type="ecore:EReference" name="composite" lowerBound="1"
  30. eType="#//CompositeElement" eOpposite="#//CompositeElement/regions"/>
  31. </eClassifiers>
  32. <eClassifiers xsi:type="ecore:EClass" name="Transition" eSuperTypes="#//ExpressionElement #//Reaction">
  33. <eAnnotations source="InjectMembers"/>
  34. <eStructuralFeatures xsi:type="ecore:EReference" name="target" ordered="false"
  35. lowerBound="1" eType="#//Vertex" eOpposite="#//Vertex/incomingTransitions"/>
  36. <eStructuralFeatures xsi:type="ecore:EReference" name="source" ordered="false"
  37. lowerBound="1" eType="#//Vertex" eOpposite="#//Vertex/outgoingTransitions"/>
  38. <eStructuralFeatures xsi:type="ecore:EAttribute" name="priority" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
  39. </eClassifiers>
  40. <eClassifiers xsi:type="ecore:EClass" name="FinalState" eSuperTypes="#//RegularState"/>
  41. <eClassifiers xsi:type="ecore:EClass" name="Variable" abstract="true" eSuperTypes="#//Declaration"/>
  42. <eClassifiers xsi:type="ecore:EClass" name="Event" abstract="true" eSuperTypes="#//Declaration"/>
  43. <eClassifiers xsi:type="ecore:EClass" name="Choice" eSuperTypes="#//Pseudostate">
  44. <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//ChoiceKind"/>
  45. </eClassifiers>
  46. <eClassifiers xsi:type="ecore:EClass" name="Statechart" eSuperTypes="#//NamedElement #//ExpressionElement #//ReactiveElement #//ScopedElement #//CompositeElement">
  47. <eAnnotations source="InjectMembers"/>
  48. </eClassifiers>
  49. <eClassifiers xsi:type="ecore:EClass" name="Entry" eSuperTypes="#//Pseudostate">
  50. <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
  51. <details key="constraints" value="DisallowTrigger"/>
  52. </eAnnotations>
  53. <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//EntryKind"/>
  54. </eClassifiers>
  55. <eClassifiers xsi:type="ecore:EClass" name="Trigger" abstract="true"/>
  56. <eClassifiers xsi:type="ecore:EClass" name="Effect" abstract="true"/>
  57. <eClassifiers xsi:type="ecore:EClass" name="ExpressionElement" abstract="true">
  58. <eStructuralFeatures xsi:type="ecore:EAttribute" name="expression" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
  59. </eClassifiers>
  60. <eClassifiers xsi:type="ecore:EClass" name="Declaration" abstract="true" eSuperTypes="#//NamedElement"/>
  61. <eClassifiers xsi:type="ecore:EClass" name="Reaction" abstract="true">
  62. <eStructuralFeatures xsi:type="ecore:EReference" name="trigger" eType="#//Trigger"
  63. containment="true"/>
  64. <eStructuralFeatures xsi:type="ecore:EReference" name="effect" eType="#//Effect"
  65. containment="true"/>
  66. </eClassifiers>
  67. <eClassifiers xsi:type="ecore:EEnum" name="EntryKind">
  68. <eLiterals name="initial" literal="INITIAL"/>
  69. <eLiterals name="shallowHistory" value="1" literal="SHALLOW_HISTORY"/>
  70. <eLiterals name="deepHistory" value="2" literal="DEEP_HISTORY"/>
  71. </eClassifiers>
  72. <eClassifiers xsi:type="ecore:EClass" name="ReactiveElement" abstract="true">
  73. <eStructuralFeatures xsi:type="ecore:EReference" name="reactions" upperBound="-1"
  74. eType="#//Reaction" changeable="false" volatile="true" transient="true" derived="true"/>
  75. <eStructuralFeatures xsi:type="ecore:EReference" name="localReactions" upperBound="-1"
  76. eType="#//Reaction" changeable="false" volatile="true" transient="true" derived="true"/>
  77. </eClassifiers>
  78. <eClassifiers xsi:type="ecore:EClass" name="Exit" eSuperTypes="#//Pseudostate"/>
  79. <eClassifiers xsi:type="ecore:EClass" name="Scope">
  80. <eStructuralFeatures xsi:type="ecore:EReference" name="declarations" upperBound="-1"
  81. eType="#//Declaration" containment="true"/>
  82. <eStructuralFeatures xsi:type="ecore:EReference" name="events" upperBound="-1"
  83. eType="#//Event" changeable="false" volatile="true" transient="true" derived="true"/>
  84. <eStructuralFeatures xsi:type="ecore:EReference" name="variables" unique="false"
  85. upperBound="-1" eType="#//Variable" changeable="false" volatile="true" transient="true"
  86. derived="true"/>
  87. </eClassifiers>
  88. <eClassifiers xsi:type="ecore:EClass" name="ScopedElement" abstract="true">
  89. <eStructuralFeatures xsi:type="ecore:EReference" name="scopes" upperBound="-1"
  90. eType="#//Scope" containment="true"/>
  91. <eStructuralFeatures xsi:type="ecore:EAttribute" name="namespace" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
  92. </eClassifiers>
  93. <eClassifiers xsi:type="ecore:EClass" name="Synchronization" eSuperTypes="#//Pseudostate"/>
  94. <eClassifiers xsi:type="ecore:EClass" name="State" eSuperTypes="#//ExpressionElement #//ReactiveElement #//ScopedElement #//RegularState #//CompositeElement">
  95. <eAnnotations source="InjectMembers"/>
  96. <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
  97. <details key="constraints" value="NameIsNotEmpty NameIsValidJavaIdentifier"/>
  98. </eAnnotations>
  99. <eStructuralFeatures xsi:type="ecore:EAttribute" name="orthogonal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
  100. changeable="false" volatile="true" transient="true" derived="true"/>
  101. <eStructuralFeatures xsi:type="ecore:EReference" name="substatechart" eType="#//Statechart"
  102. transient="true"/>
  103. <eStructuralFeatures xsi:type="ecore:EAttribute" name="substatechartId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
  104. <eStructuralFeatures xsi:type="ecore:EAttribute" name="subchart" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
  105. changeable="false" volatile="true" transient="true" derived="true"/>
  106. <eStructuralFeatures xsi:type="ecore:EAttribute" name="simple" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
  107. changeable="false" volatile="true" transient="true" derived="true"/>
  108. <eStructuralFeatures xsi:type="ecore:EAttribute" name="composite" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
  109. changeable="false" volatile="true" transient="true" derived="true"/>
  110. <eStructuralFeatures xsi:type="ecore:EAttribute" name="leaf" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
  111. changeable="false" volatile="true" transient="true" derived="true"/>
  112. </eClassifiers>
  113. <eClassifiers xsi:type="ecore:EClass" name="Statement"/>
  114. <eClassifiers xsi:type="ecore:EClass" name="RegularState" eSuperTypes="#//Vertex"/>
  115. <eClassifiers xsi:type="ecore:EEnum" name="ChoiceKind">
  116. <eLiterals name="dynamic"/>
  117. <eLiterals name="static" value="1"/>
  118. </eClassifiers>
  119. <eClassifiers xsi:type="ecore:EClass" name="CompositeElement" abstract="true">
  120. <eStructuralFeatures xsi:type="ecore:EReference" name="regions" upperBound="-1"
  121. eType="#//Region" containment="true" eOpposite="#//Region/composite"/>
  122. </eClassifiers>
  123. </ecore:EPackage>