sgraph.ecore 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  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. </eClassifiers>
  30. <eClassifiers xsi:type="ecore:EClass" name="Transition" eSuperTypes="#//ExpressionElement #//Reaction">
  31. <eAnnotations source="InjectMembers"/>
  32. <eStructuralFeatures xsi:type="ecore:EReference" name="target" ordered="false"
  33. lowerBound="1" eType="#//Vertex" eOpposite="#//Vertex/incomingTransitions"/>
  34. <eStructuralFeatures xsi:type="ecore:EReference" name="source" ordered="false"
  35. lowerBound="1" eType="#//Vertex" eOpposite="#//Vertex/outgoingTransitions"/>
  36. <eStructuralFeatures xsi:type="ecore:EAttribute" name="priority" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
  37. </eClassifiers>
  38. <eClassifiers xsi:type="ecore:EClass" name="FinalState" eSuperTypes="#//AbstractState"/>
  39. <eClassifiers xsi:type="ecore:EClass" name="Variable" abstract="true" eSuperTypes="#//Declaration"/>
  40. <eClassifiers xsi:type="ecore:EClass" name="Junction" eSuperTypes="#//Pseudostate"/>
  41. <eClassifiers xsi:type="ecore:EClass" name="Event" abstract="true" eSuperTypes="#//Declaration"/>
  42. <eClassifiers xsi:type="ecore:EClass" name="Choice" eSuperTypes="#//Pseudostate"/>
  43. <eClassifiers xsi:type="ecore:EClass" name="Statechart" eSuperTypes="#//NamedElement #//ExpressionElement #//ReactiveElement #//ScopedElement">
  44. <eAnnotations source="InjectMembers"/>
  45. <eStructuralFeatures xsi:type="ecore:EReference" name="regions" ordered="false"
  46. lowerBound="1" upperBound="-1" eType="#//Region" containment="true"/>
  47. </eClassifiers>
  48. <eClassifiers xsi:type="ecore:EClass" name="Entry" eSuperTypes="#//Pseudostate">
  49. <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//EntryKind"/>
  50. </eClassifiers>
  51. <eClassifiers xsi:type="ecore:EClass" name="Trigger" abstract="true"/>
  52. <eClassifiers xsi:type="ecore:EClass" name="Effect" abstract="true"/>
  53. <eClassifiers xsi:type="ecore:EClass" name="ExpressionElement" abstract="true">
  54. <eStructuralFeatures xsi:type="ecore:EAttribute" name="expression" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
  55. </eClassifiers>
  56. <eClassifiers xsi:type="ecore:EClass" name="Declaration" abstract="true" eSuperTypes="#//NamedElement"/>
  57. <eClassifiers xsi:type="ecore:EClass" name="Reaction" abstract="true">
  58. <eStructuralFeatures xsi:type="ecore:EReference" name="trigger" eType="#//Trigger"
  59. containment="true"/>
  60. <eStructuralFeatures xsi:type="ecore:EReference" name="effect" eType="#//Effect"
  61. containment="true"/>
  62. </eClassifiers>
  63. <eClassifiers xsi:type="ecore:EEnum" name="EntryKind">
  64. <eLiterals name="initial" literal="INITIAL"/>
  65. <eLiterals name="shallowHistory" value="1" literal="SHALLOW_HISTORY"/>
  66. <eLiterals name="deepHistory" value="2" literal="DEEP_HISTORY"/>
  67. </eClassifiers>
  68. <eClassifiers xsi:type="ecore:EClass" name="ReactiveElement" abstract="true">
  69. <eStructuralFeatures xsi:type="ecore:EReference" name="reactions" upperBound="-1"
  70. eType="#//Reaction" changeable="false" derived="true"/>
  71. <eStructuralFeatures xsi:type="ecore:EReference" name="localReactions" upperBound="-1"
  72. eType="#//Reaction" containment="true"/>
  73. </eClassifiers>
  74. <eClassifiers xsi:type="ecore:EClass" name="Exit" eSuperTypes="#//Pseudostate"/>
  75. <eClassifiers xsi:type="ecore:EClass" name="Scope">
  76. <eStructuralFeatures xsi:type="ecore:EReference" name="declarations" upperBound="-1"
  77. eType="#//Declaration" containment="true"/>
  78. <eStructuralFeatures xsi:type="ecore:EReference" name="events" upperBound="-1"
  79. eType="#//Event" changeable="false" volatile="true" transient="true" derived="true"/>
  80. <eStructuralFeatures xsi:type="ecore:EReference" name="variables" unique="false"
  81. upperBound="-1" eType="#//Variable" changeable="false" volatile="true" transient="true"
  82. derived="true"/>
  83. </eClassifiers>
  84. <eClassifiers xsi:type="ecore:EClass" name="ScopedElement" abstract="true">
  85. <eStructuralFeatures xsi:type="ecore:EReference" name="scopes" upperBound="-1"
  86. eType="#//Scope" containment="true"/>
  87. </eClassifiers>
  88. <eClassifiers xsi:type="ecore:EClass" name="Synchronization" eSuperTypes="#//Pseudostate"/>
  89. <eClassifiers xsi:type="ecore:EClass" name="AbstractState" abstract="true" eSuperTypes="#//Vertex #//ExpressionElement #//ReactiveElement #//ScopedElement">
  90. <eAnnotations source="InjectMembers"/>
  91. <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
  92. <details key="constraints" value="NameIsNotEmpty"/>
  93. </eAnnotations>
  94. </eClassifiers>
  95. <eClassifiers xsi:type="ecore:EClass" name="State" eSuperTypes="#//AbstractState">
  96. <eStructuralFeatures xsi:type="ecore:EReference" name="subRegions" ordered="false"
  97. upperBound="-1" eType="#//Region" containment="true"/>
  98. <eStructuralFeatures xsi:type="ecore:EAttribute" name="orthogonal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
  99. changeable="false" volatile="true" transient="true" derived="true"/>
  100. </eClassifiers>
  101. <eClassifiers xsi:type="ecore:EClass" name="SubmachineState" eSuperTypes="#//AbstractState">
  102. <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
  103. <details key="constraints" value="SubStatechartExists SubStatechartIsNotACycle"/>
  104. </eAnnotations>
  105. <eStructuralFeatures xsi:type="ecore:EReference" name="substatechart" eType="#//Statechart"/>
  106. </eClassifiers>
  107. </ecore:EPackage>