TrainDoor.metamodel 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. {
  2. "types": {
  3. "State": [
  4. {
  5. "name": "name",
  6. "type": "string",
  7. "default": ""
  8. }
  9. ],
  10. "Open": [
  11. {
  12. "name": "name",
  13. "type": "string",
  14. "default": ""
  15. }
  16. ],
  17. "Closed": [
  18. {
  19. "name": "name",
  20. "type": "string",
  21. "default": ""
  22. }
  23. ],
  24. "Transition": [
  25. {
  26. "name": "condition",
  27. "type": "string",
  28. "default": ""
  29. },
  30. {
  31. "name": "event",
  32. "type": "string",
  33. "default": ""
  34. }
  35. ]
  36. },
  37. "constraints": [
  38. {
  39. "name": "noAbstractInstances",
  40. "event": "pre-create",
  41. "code": "false",
  42. "targetType": "State"
  43. }
  44. ],
  45. "actions": [],
  46. "cardinalities": {
  47. "State": [
  48. {
  49. "dir": "out",
  50. "type": "Transition",
  51. "min": "0",
  52. "max": "Infinity"
  53. },
  54. {
  55. "dir": "in",
  56. "type": "Transition",
  57. "min": "0",
  58. "max": "Infinity"
  59. }
  60. ],
  61. "Open": [
  62. {
  63. "dir": "out",
  64. "type": "Transition",
  65. "min": "0",
  66. "max": "Infinity"
  67. },
  68. {
  69. "dir": "in",
  70. "type": "Transition",
  71. "min": "0",
  72. "max": "Infinity"
  73. }
  74. ],
  75. "Closed": [
  76. {
  77. "dir": "out",
  78. "type": "Transition",
  79. "min": "0",
  80. "max": "Infinity"
  81. },
  82. {
  83. "dir": "in",
  84. "type": "Transition",
  85. "min": "0",
  86. "max": "Infinity"
  87. }
  88. ],
  89. "Transition": [
  90. {
  91. "dir": "in",
  92. "type": "State",
  93. "min": "0",
  94. "max": "1"
  95. },
  96. {
  97. "dir": "out",
  98. "type": "State",
  99. "min": "0",
  100. "max": "1"
  101. },
  102. {
  103. "dir": "in",
  104. "type": "Open",
  105. "min": "0",
  106. "max": "1"
  107. },
  108. {
  109. "dir": "out",
  110. "type": "Open",
  111. "min": "0",
  112. "max": "1"
  113. },
  114. {
  115. "dir": "in",
  116. "type": "Closed",
  117. "min": "0",
  118. "max": "1"
  119. },
  120. {
  121. "dir": "out",
  122. "type": "Closed",
  123. "min": "0",
  124. "max": "1"
  125. }
  126. ]
  127. },
  128. "legalConnections": {
  129. "State": {
  130. "State": [
  131. "Transition"
  132. ],
  133. "Open": [
  134. "Transition"
  135. ],
  136. "Closed": [
  137. "Transition"
  138. ]
  139. },
  140. "Open": {
  141. "State": [
  142. "Transition"
  143. ],
  144. "Open": [
  145. "Transition"
  146. ],
  147. "Closed": [
  148. "Transition"
  149. ]
  150. },
  151. "Closed": {
  152. "State": [
  153. "Transition"
  154. ],
  155. "Open": [
  156. "Transition"
  157. ],
  158. "Closed": [
  159. "Transition"
  160. ]
  161. }
  162. },
  163. "connectorTypes": {
  164. "Transition": "visual"
  165. },
  166. "types2parentTypes": {
  167. "State": [],
  168. "Open": [
  169. "State"
  170. ],
  171. "Closed": [
  172. "State"
  173. ],
  174. "Transition": []
  175. }
  176. }