@memoarchitect/tools 0.6.7 → 0.8.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (549) hide show
  1. package/README.md +36 -11
  2. package/corpus/README.md +63 -0
  3. package/corpus/sysml-v2-release/bnf/SysML-graphical-bnf.kgbnf +2264 -0
  4. package/package.json +20 -7
  5. package/packages/tools/lib/analysis/dsm.d.ts +1 -1
  6. package/packages/tools/lib/analysis/dsm.d.ts.map +1 -1
  7. package/packages/tools/lib/analysis/dsm.js +1 -1
  8. package/packages/tools/lib/analysis/dsm.js.map +1 -1
  9. package/packages/tools/lib/bin/memo.js +186 -10
  10. package/packages/tools/lib/bin/memo.js.map +1 -1
  11. package/packages/tools/lib/browser/index.d.ts +3 -1
  12. package/packages/tools/lib/browser/index.d.ts.map +1 -1
  13. package/packages/tools/lib/browser/index.js +2 -1
  14. package/packages/tools/lib/browser/index.js.map +1 -1
  15. package/packages/tools/lib/commands/ask.js +1 -1
  16. package/packages/tools/lib/commands/ask.js.map +1 -1
  17. package/packages/tools/lib/commands/check.d.ts.map +1 -1
  18. package/packages/tools/lib/commands/check.js +3 -9
  19. package/packages/tools/lib/commands/check.js.map +1 -1
  20. package/packages/tools/lib/commands/conformance.d.ts +36 -0
  21. package/packages/tools/lib/commands/conformance.d.ts.map +1 -0
  22. package/packages/tools/lib/commands/conformance.js +212 -0
  23. package/packages/tools/lib/commands/conformance.js.map +1 -0
  24. package/packages/tools/lib/commands/convert.d.ts +12 -0
  25. package/packages/tools/lib/commands/convert.d.ts.map +1 -0
  26. package/packages/tools/lib/commands/convert.js +103 -0
  27. package/packages/tools/lib/commands/convert.js.map +1 -0
  28. package/packages/tools/lib/commands/create-package.d.ts +1 -2
  29. package/packages/tools/lib/commands/create-package.d.ts.map +1 -1
  30. package/packages/tools/lib/commands/create-package.js.map +1 -1
  31. package/packages/tools/lib/commands/dev.d.ts +13 -0
  32. package/packages/tools/lib/commands/dev.d.ts.map +1 -1
  33. package/packages/tools/lib/commands/dev.js +245 -89
  34. package/packages/tools/lib/commands/dev.js.map +1 -1
  35. package/packages/tools/lib/commands/dhf-draft.js +1 -1
  36. package/packages/tools/lib/commands/dhf-draft.js.map +1 -1
  37. package/packages/tools/lib/commands/dhf-lint.d.ts +10 -0
  38. package/packages/tools/lib/commands/dhf-lint.d.ts.map +1 -0
  39. package/packages/tools/lib/commands/dhf-lint.js +72 -0
  40. package/packages/tools/lib/commands/dhf-lint.js.map +1 -0
  41. package/packages/tools/lib/commands/dhf-preview.js +1 -1
  42. package/packages/tools/lib/commands/dhf-preview.js.map +1 -1
  43. package/packages/tools/lib/commands/dhf.d.ts.map +1 -1
  44. package/packages/tools/lib/commands/dhf.js +8 -2
  45. package/packages/tools/lib/commands/dhf.js.map +1 -1
  46. package/packages/tools/lib/commands/element.d.ts +34 -0
  47. package/packages/tools/lib/commands/element.d.ts.map +1 -0
  48. package/packages/tools/lib/commands/element.js +174 -0
  49. package/packages/tools/lib/commands/element.js.map +1 -0
  50. package/packages/tools/lib/commands/export.d.ts.map +1 -1
  51. package/packages/tools/lib/commands/export.js +39 -40
  52. package/packages/tools/lib/commands/export.js.map +1 -1
  53. package/packages/tools/lib/commands/generate.d.ts.map +1 -1
  54. package/packages/tools/lib/commands/generate.js +10 -7
  55. package/packages/tools/lib/commands/generate.js.map +1 -1
  56. package/packages/tools/lib/commands/import.d.ts.map +1 -1
  57. package/packages/tools/lib/commands/import.js +25 -12
  58. package/packages/tools/lib/commands/import.js.map +1 -1
  59. package/packages/tools/lib/commands/init.d.ts.map +1 -1
  60. package/packages/tools/lib/commands/init.js +34 -14
  61. package/packages/tools/lib/commands/init.js.map +1 -1
  62. package/packages/tools/lib/commands/inspect.d.ts +5 -0
  63. package/packages/tools/lib/commands/inspect.d.ts.map +1 -0
  64. package/packages/tools/lib/commands/inspect.js +56 -0
  65. package/packages/tools/lib/commands/inspect.js.map +1 -0
  66. package/packages/tools/lib/commands/lock.d.ts.map +1 -1
  67. package/packages/tools/lib/commands/lock.js +7 -2
  68. package/packages/tools/lib/commands/lock.js.map +1 -1
  69. package/packages/tools/lib/commands/ontology.d.ts.map +1 -1
  70. package/packages/tools/lib/commands/ontology.js +69 -116
  71. package/packages/tools/lib/commands/ontology.js.map +1 -1
  72. package/packages/tools/lib/commands/pack.d.ts +1 -1
  73. package/packages/tools/lib/commands/pack.d.ts.map +1 -1
  74. package/packages/tools/lib/commands/pack.js +20 -78
  75. package/packages/tools/lib/commands/pack.js.map +1 -1
  76. package/packages/tools/lib/commands/package.d.ts +10 -0
  77. package/packages/tools/lib/commands/package.d.ts.map +1 -0
  78. package/packages/tools/lib/commands/package.js +113 -0
  79. package/packages/tools/lib/commands/package.js.map +1 -0
  80. package/packages/tools/lib/commands/plugin.js +1 -1
  81. package/packages/tools/lib/commands/plugin.js.map +1 -1
  82. package/packages/tools/lib/commands/rules.d.ts.map +1 -1
  83. package/packages/tools/lib/commands/rules.js +120 -30
  84. package/packages/tools/lib/commands/rules.js.map +1 -1
  85. package/packages/tools/lib/commands/standards.d.ts +28 -0
  86. package/packages/tools/lib/commands/standards.d.ts.map +1 -0
  87. package/packages/tools/lib/commands/standards.js +203 -0
  88. package/packages/tools/lib/commands/standards.js.map +1 -0
  89. package/packages/tools/lib/commands/sysand-publish.d.ts.map +1 -1
  90. package/packages/tools/lib/commands/sysand-publish.js +14 -16
  91. package/packages/tools/lib/commands/sysand-publish.js.map +1 -1
  92. package/packages/tools/lib/commands/toolchain.d.ts +8 -0
  93. package/packages/tools/lib/commands/toolchain.d.ts.map +1 -0
  94. package/packages/tools/lib/commands/toolchain.js +64 -0
  95. package/packages/tools/lib/commands/toolchain.js.map +1 -0
  96. package/packages/tools/lib/commands/validate.d.ts +1 -1
  97. package/packages/tools/lib/commands/validate.d.ts.map +1 -1
  98. package/packages/tools/lib/commands/validate.js +194 -56
  99. package/packages/tools/lib/commands/validate.js.map +1 -1
  100. package/packages/tools/lib/completeness/tracker.d.ts +10 -2
  101. package/packages/tools/lib/completeness/tracker.d.ts.map +1 -1
  102. package/packages/tools/lib/completeness/tracker.js +16 -21
  103. package/packages/tools/lib/completeness/tracker.js.map +1 -1
  104. package/packages/tools/lib/conformance/baseline.d.ts +26 -0
  105. package/packages/tools/lib/conformance/baseline.d.ts.map +1 -0
  106. package/packages/tools/lib/conformance/baseline.js +170 -0
  107. package/packages/tools/lib/conformance/baseline.js.map +1 -0
  108. package/packages/tools/lib/conformance/bnf.d.ts +84 -0
  109. package/packages/tools/lib/conformance/bnf.d.ts.map +1 -0
  110. package/packages/tools/lib/conformance/bnf.js +166 -0
  111. package/packages/tools/lib/conformance/bnf.js.map +1 -0
  112. package/packages/tools/lib/conformance/corpus.d.ts +125 -0
  113. package/packages/tools/lib/conformance/corpus.d.ts.map +1 -0
  114. package/packages/tools/lib/conformance/corpus.js +190 -0
  115. package/packages/tools/lib/conformance/corpus.js.map +1 -0
  116. package/packages/tools/lib/conformance/diff-xmi.d.ts +118 -0
  117. package/packages/tools/lib/conformance/diff-xmi.d.ts.map +1 -0
  118. package/packages/tools/lib/conformance/diff-xmi.js +276 -0
  119. package/packages/tools/lib/conformance/diff-xmi.js.map +1 -0
  120. package/packages/tools/lib/conformance/generated/syside-rules.d.ts +10 -0
  121. package/packages/tools/lib/conformance/generated/syside-rules.d.ts.map +1 -0
  122. package/packages/tools/lib/conformance/generated/syside-rules.js +1142 -0
  123. package/packages/tools/lib/conformance/generated/syside-rules.js.map +1 -0
  124. package/packages/tools/lib/conformance/index.d.ts +7 -0
  125. package/packages/tools/lib/conformance/index.d.ts.map +1 -0
  126. package/packages/tools/lib/conformance/index.js +19 -0
  127. package/packages/tools/lib/conformance/index.js.map +1 -0
  128. package/packages/tools/lib/conformance/run.d.ts +117 -0
  129. package/packages/tools/lib/conformance/run.d.ts.map +1 -0
  130. package/packages/tools/lib/conformance/run.js +0 -0
  131. package/packages/tools/lib/conformance/run.js.map +1 -0
  132. package/packages/tools/lib/conformance/xmi.d.ts +45 -0
  133. package/packages/tools/lib/conformance/xmi.d.ts.map +1 -0
  134. package/packages/tools/lib/conformance/xmi.js +148 -0
  135. package/packages/tools/lib/conformance/xmi.js.map +1 -0
  136. package/packages/tools/lib/dhf/document-compiler.d.ts.map +1 -1
  137. package/packages/tools/lib/dhf/document-compiler.js +13 -8
  138. package/packages/tools/lib/dhf/document-compiler.js.map +1 -1
  139. package/packages/tools/lib/dhf/document-registry.d.ts +16 -2
  140. package/packages/tools/lib/dhf/document-registry.d.ts.map +1 -1
  141. package/packages/tools/lib/dhf/document-registry.js +74 -23
  142. package/packages/tools/lib/dhf/document-registry.js.map +1 -1
  143. package/packages/tools/lib/dhf/index.d.ts +3 -0
  144. package/packages/tools/lib/dhf/index.d.ts.map +1 -1
  145. package/packages/tools/lib/dhf/index.js +4 -0
  146. package/packages/tools/lib/dhf/index.js.map +1 -1
  147. package/packages/tools/lib/dhf/query-engine.d.ts +12 -1
  148. package/packages/tools/lib/dhf/query-engine.d.ts.map +1 -1
  149. package/packages/tools/lib/dhf/query-engine.js +2 -1
  150. package/packages/tools/lib/dhf/query-engine.js.map +1 -1
  151. package/packages/tools/lib/dhf/query-executor.d.ts +72 -5
  152. package/packages/tools/lib/dhf/query-executor.d.ts.map +1 -1
  153. package/packages/tools/lib/dhf/query-executor.js +471 -81
  154. package/packages/tools/lib/dhf/query-executor.js.map +1 -1
  155. package/packages/tools/lib/dhf/script-runner.js +6 -6
  156. package/packages/tools/lib/dhf/script-runner.js.map +1 -1
  157. package/packages/tools/lib/dhf/standards-block.d.ts +40 -0
  158. package/packages/tools/lib/dhf/standards-block.d.ts.map +1 -0
  159. package/packages/tools/lib/dhf/standards-block.js +223 -0
  160. package/packages/tools/lib/dhf/standards-block.js.map +1 -0
  161. package/packages/tools/lib/dhf/standards-library.d.ts +123 -0
  162. package/packages/tools/lib/dhf/standards-library.d.ts.map +1 -0
  163. package/packages/tools/lib/dhf/standards-library.js +295 -0
  164. package/packages/tools/lib/dhf/standards-library.js.map +1 -0
  165. package/packages/tools/lib/dhf/standards-report.d.ts +189 -0
  166. package/packages/tools/lib/dhf/standards-report.d.ts.map +1 -0
  167. package/packages/tools/lib/dhf/standards-report.js +384 -0
  168. package/packages/tools/lib/dhf/standards-report.js.map +1 -0
  169. package/packages/tools/lib/dhf/template-lint.d.ts +42 -0
  170. package/packages/tools/lib/dhf/template-lint.d.ts.map +1 -0
  171. package/packages/tools/lib/dhf/template-lint.js +421 -0
  172. package/packages/tools/lib/dhf/template-lint.js.map +1 -0
  173. package/packages/tools/lib/dhf/template-resolver.d.ts.map +1 -1
  174. package/packages/tools/lib/dhf/template-resolver.js +18 -6
  175. package/packages/tools/lib/dhf/template-resolver.js.map +1 -1
  176. package/packages/tools/lib/import/column-mapper.d.ts +2 -2
  177. package/packages/tools/lib/import/column-mapper.d.ts.map +1 -1
  178. package/packages/tools/lib/import/column-mapper.js +3 -3
  179. package/packages/tools/lib/import/column-mapper.js.map +1 -1
  180. package/packages/tools/lib/importer/cameo-importer.js +2 -2
  181. package/packages/tools/lib/importer/cameo-importer.js.map +1 -1
  182. package/packages/tools/lib/importer/ea-importer.d.ts.map +1 -1
  183. package/packages/tools/lib/importer/ea-importer.js +4 -3
  184. package/packages/tools/lib/importer/ea-importer.js.map +1 -1
  185. package/packages/tools/lib/importer/owl-importer.d.ts.map +1 -1
  186. package/packages/tools/lib/importer/owl-importer.js +2 -3
  187. package/packages/tools/lib/importer/owl-importer.js.map +1 -1
  188. package/packages/tools/lib/index.d.ts +20 -3
  189. package/packages/tools/lib/index.d.ts.map +1 -1
  190. package/packages/tools/lib/index.js +19 -2
  191. package/packages/tools/lib/index.js.map +1 -1
  192. package/packages/tools/lib/language/generated/ast.d.ts +1344 -99
  193. package/packages/tools/lib/language/generated/ast.d.ts.map +1 -1
  194. package/packages/tools/lib/language/generated/ast.js +1066 -32
  195. package/packages/tools/lib/language/generated/ast.js.map +1 -1
  196. package/packages/tools/lib/language/generated/grammar.d.ts.map +1 -1
  197. package/packages/tools/lib/language/generated/grammar.js +5242 -1454
  198. package/packages/tools/lib/language/generated/grammar.js.map +1 -1
  199. package/packages/tools/lib/llm/chat-engine.d.ts +4 -3
  200. package/packages/tools/lib/llm/chat-engine.d.ts.map +1 -1
  201. package/packages/tools/lib/llm/chat-engine.js +15 -12
  202. package/packages/tools/lib/llm/chat-engine.js.map +1 -1
  203. package/packages/tools/lib/llm/generate-engine.d.ts +7 -2
  204. package/packages/tools/lib/llm/generate-engine.d.ts.map +1 -1
  205. package/packages/tools/lib/llm/generate-engine.js +22 -4
  206. package/packages/tools/lib/llm/generate-engine.js.map +1 -1
  207. package/packages/tools/lib/llm/index.d.ts +1 -0
  208. package/packages/tools/lib/llm/index.d.ts.map +1 -1
  209. package/packages/tools/lib/llm/index.js +1 -0
  210. package/packages/tools/lib/llm/index.js.map +1 -1
  211. package/packages/tools/lib/llm/model-context.d.ts +2 -2
  212. package/packages/tools/lib/llm/model-context.d.ts.map +1 -1
  213. package/packages/tools/lib/llm/model-context.js +7 -13
  214. package/packages/tools/lib/llm/model-context.js.map +1 -1
  215. package/packages/tools/lib/llm/sysml-guidance.d.ts +8 -0
  216. package/packages/tools/lib/llm/sysml-guidance.d.ts.map +1 -0
  217. package/packages/tools/lib/llm/sysml-guidance.js +28 -0
  218. package/packages/tools/lib/llm/sysml-guidance.js.map +1 -0
  219. package/packages/tools/lib/lock.d.ts +14 -8
  220. package/packages/tools/lib/lock.d.ts.map +1 -1
  221. package/packages/tools/lib/lock.js +97 -108
  222. package/packages/tools/lib/lock.js.map +1 -1
  223. package/packages/tools/lib/mcp/model-loader.d.ts +3 -0
  224. package/packages/tools/lib/mcp/model-loader.d.ts.map +1 -1
  225. package/packages/tools/lib/mcp/model-loader.js +9 -5
  226. package/packages/tools/lib/mcp/model-loader.js.map +1 -1
  227. package/packages/tools/lib/mcp/tools.d.ts +3 -0
  228. package/packages/tools/lib/mcp/tools.d.ts.map +1 -1
  229. package/packages/tools/lib/mcp/tools.js +8 -9
  230. package/packages/tools/lib/mcp/tools.js.map +1 -1
  231. package/packages/tools/lib/model/activity-notation.d.ts +54 -0
  232. package/packages/tools/lib/model/activity-notation.d.ts.map +1 -0
  233. package/packages/tools/lib/model/activity-notation.js +208 -0
  234. package/packages/tools/lib/model/activity-notation.js.map +1 -0
  235. package/packages/tools/lib/model/builder.d.ts +3 -0
  236. package/packages/tools/lib/model/builder.d.ts.map +1 -1
  237. package/packages/tools/lib/model/builder.js +956 -62
  238. package/packages/tools/lib/model/builder.js.map +1 -1
  239. package/packages/tools/lib/model/config-loader.d.ts +19 -25
  240. package/packages/tools/lib/model/config-loader.d.ts.map +1 -1
  241. package/packages/tools/lib/model/config-loader.js +51 -233
  242. package/packages/tools/lib/model/config-loader.js.map +1 -1
  243. package/packages/tools/lib/model/config.d.ts +42 -213
  244. package/packages/tools/lib/model/config.d.ts.map +1 -1
  245. package/packages/tools/lib/model/config.js +11 -9
  246. package/packages/tools/lib/model/config.js.map +1 -1
  247. package/packages/tools/lib/model/effective-scope.d.ts +74 -0
  248. package/packages/tools/lib/model/effective-scope.d.ts.map +1 -0
  249. package/packages/tools/lib/model/effective-scope.js +133 -0
  250. package/packages/tools/lib/model/effective-scope.js.map +1 -0
  251. package/packages/tools/lib/model/ir-identity.d.ts +94 -0
  252. package/packages/tools/lib/model/ir-identity.d.ts.map +1 -0
  253. package/packages/tools/lib/model/ir-identity.js +178 -0
  254. package/packages/tools/lib/model/ir-identity.js.map +1 -0
  255. package/packages/tools/lib/model/kind-registry.d.ts +134 -1
  256. package/packages/tools/lib/model/kind-registry.d.ts.map +1 -1
  257. package/packages/tools/lib/model/kind-registry.js +186 -4
  258. package/packages/tools/lib/model/kind-registry.js.map +1 -1
  259. package/packages/tools/lib/model/layer-resolver.js +1 -1
  260. package/packages/tools/lib/model/layer-resolver.js.map +1 -1
  261. package/packages/tools/lib/model/manifest.d.ts +8 -0
  262. package/packages/tools/lib/model/manifest.d.ts.map +1 -1
  263. package/packages/tools/lib/model/manifest.js +3 -0
  264. package/packages/tools/lib/model/manifest.js.map +1 -1
  265. package/packages/tools/lib/model/methodology-loader.d.ts +19 -24
  266. package/packages/tools/lib/model/methodology-loader.d.ts.map +1 -1
  267. package/packages/tools/lib/model/methodology-loader.js +179 -176
  268. package/packages/tools/lib/model/methodology-loader.js.map +1 -1
  269. package/packages/tools/lib/model/methodology-resolver.d.ts +115 -0
  270. package/packages/tools/lib/model/methodology-resolver.d.ts.map +1 -0
  271. package/packages/tools/lib/model/methodology-resolver.js +317 -0
  272. package/packages/tools/lib/model/methodology-resolver.js.map +1 -0
  273. package/packages/tools/lib/model/naming.d.ts +57 -0
  274. package/packages/tools/lib/model/naming.d.ts.map +1 -0
  275. package/packages/tools/lib/model/naming.js +69 -0
  276. package/packages/tools/lib/model/naming.js.map +1 -0
  277. package/packages/tools/lib/model/native-project.d.ts +130 -0
  278. package/packages/tools/lib/model/native-project.d.ts.map +1 -0
  279. package/packages/tools/lib/model/native-project.js +580 -0
  280. package/packages/tools/lib/model/native-project.js.map +1 -0
  281. package/packages/tools/lib/model/ontology-loader.d.ts +34 -21
  282. package/packages/tools/lib/model/ontology-loader.d.ts.map +1 -1
  283. package/packages/tools/lib/model/ontology-loader.js +343 -614
  284. package/packages/tools/lib/model/ontology-loader.js.map +1 -1
  285. package/packages/tools/lib/model/package-manifest.d.ts +37 -0
  286. package/packages/tools/lib/model/package-manifest.d.ts.map +1 -0
  287. package/packages/tools/lib/model/package-manifest.js +96 -0
  288. package/packages/tools/lib/model/package-manifest.js.map +1 -0
  289. package/packages/tools/lib/model/parser-utils.d.ts +31 -0
  290. package/packages/tools/lib/model/parser-utils.d.ts.map +1 -1
  291. package/packages/tools/lib/model/parser-utils.js +89 -1
  292. package/packages/tools/lib/model/parser-utils.js.map +1 -1
  293. package/packages/tools/lib/model/paths.d.ts +10 -4
  294. package/packages/tools/lib/model/paths.d.ts.map +1 -1
  295. package/packages/tools/lib/model/paths.js +10 -4
  296. package/packages/tools/lib/model/paths.js.map +1 -1
  297. package/packages/tools/lib/model/project-conversion.d.ts +226 -0
  298. package/packages/tools/lib/model/project-conversion.d.ts.map +1 -0
  299. package/packages/tools/lib/model/project-conversion.js +946 -0
  300. package/packages/tools/lib/model/project-conversion.js.map +1 -0
  301. package/packages/tools/lib/model/relationship-legality.d.ts +27 -0
  302. package/packages/tools/lib/model/relationship-legality.d.ts.map +1 -1
  303. package/packages/tools/lib/model/relationship-legality.js.map +1 -1
  304. package/packages/tools/lib/model/relationship-registry.d.ts +93 -1
  305. package/packages/tools/lib/model/relationship-registry.d.ts.map +1 -1
  306. package/packages/tools/lib/model/relationship-registry.js +217 -2
  307. package/packages/tools/lib/model/relationship-registry.js.map +1 -1
  308. package/packages/tools/lib/model/semantic.d.ts +73 -0
  309. package/packages/tools/lib/model/semantic.d.ts.map +1 -1
  310. package/packages/tools/lib/model/semantic.js +6 -0
  311. package/packages/tools/lib/model/semantic.js.map +1 -1
  312. package/packages/tools/lib/model/settings-boundary.d.ts +19 -0
  313. package/packages/tools/lib/model/settings-boundary.d.ts.map +1 -0
  314. package/packages/tools/lib/model/settings-boundary.js +118 -0
  315. package/packages/tools/lib/model/settings-boundary.js.map +1 -0
  316. package/packages/tools/lib/model/short-id.js +3 -3
  317. package/packages/tools/lib/model/short-id.js.map +1 -1
  318. package/packages/tools/lib/model/source-graph.d.ts.map +1 -1
  319. package/packages/tools/lib/model/source-graph.js +5 -1
  320. package/packages/tools/lib/model/source-graph.js.map +1 -1
  321. package/packages/tools/lib/model/source-provenance.d.ts +112 -0
  322. package/packages/tools/lib/model/source-provenance.d.ts.map +1 -0
  323. package/packages/tools/lib/model/source-provenance.js +169 -0
  324. package/packages/tools/lib/model/source-provenance.js.map +1 -0
  325. package/packages/tools/lib/model/sysml-ir.d.ts +9 -0
  326. package/packages/tools/lib/model/sysml-ir.d.ts.map +1 -0
  327. package/packages/tools/lib/model/sysml-ir.js +105 -0
  328. package/packages/tools/lib/model/sysml-ir.js.map +1 -0
  329. package/packages/tools/lib/model/view-deriver.d.ts +10 -1
  330. package/packages/tools/lib/model/view-deriver.d.ts.map +1 -1
  331. package/packages/tools/lib/model/view-deriver.js +139 -11
  332. package/packages/tools/lib/model/view-deriver.js.map +1 -1
  333. package/packages/tools/lib/model/view-kinds.d.ts +2 -0
  334. package/packages/tools/lib/model/view-kinds.d.ts.map +1 -1
  335. package/packages/tools/lib/model/view-kinds.js +11 -0
  336. package/packages/tools/lib/model/view-kinds.js.map +1 -1
  337. package/packages/tools/lib/ontology/owl-exporter.d.ts +2 -2
  338. package/packages/tools/lib/ontology/owl-exporter.d.ts.map +1 -1
  339. package/packages/tools/lib/ontology/owl-exporter.js +12 -12
  340. package/packages/tools/lib/ontology/owl-exporter.js.map +1 -1
  341. package/packages/tools/lib/operations/ai-authoring.d.ts +24 -0
  342. package/packages/tools/lib/operations/ai-authoring.d.ts.map +1 -0
  343. package/packages/tools/lib/operations/ai-authoring.js +77 -0
  344. package/packages/tools/lib/operations/ai-authoring.js.map +1 -0
  345. package/packages/tools/lib/operations/authoring.d.ts +40 -0
  346. package/packages/tools/lib/operations/authoring.d.ts.map +1 -0
  347. package/packages/tools/lib/operations/authoring.js +56 -0
  348. package/packages/tools/lib/operations/authoring.js.map +1 -0
  349. package/packages/tools/lib/operations/index.d.ts +2 -0
  350. package/packages/tools/lib/operations/index.d.ts.map +1 -1
  351. package/packages/tools/lib/operations/index.js +2 -0
  352. package/packages/tools/lib/operations/index.js.map +1 -1
  353. package/packages/tools/lib/operations/project-snapshot.d.ts +28 -3
  354. package/packages/tools/lib/operations/project-snapshot.d.ts.map +1 -1
  355. package/packages/tools/lib/operations/project-snapshot.js +79 -30
  356. package/packages/tools/lib/operations/project-snapshot.js.map +1 -1
  357. package/packages/tools/lib/protocol/messages.d.ts +381 -12
  358. package/packages/tools/lib/protocol/messages.d.ts.map +1 -1
  359. package/packages/tools/lib/serializer/csv-io.d.ts +7 -7
  360. package/packages/tools/lib/serializer/csv-io.d.ts.map +1 -1
  361. package/packages/tools/lib/serializer/csv-io.js +11 -11
  362. package/packages/tools/lib/serializer/csv-io.js.map +1 -1
  363. package/packages/tools/lib/serializer/sysml-generator.d.ts.map +1 -1
  364. package/packages/tools/lib/serializer/sysml-generator.js +34 -2
  365. package/packages/tools/lib/serializer/sysml-generator.js.map +1 -1
  366. package/packages/tools/lib/server/config-resolver.d.ts +8 -4
  367. package/packages/tools/lib/server/config-resolver.d.ts.map +1 -1
  368. package/packages/tools/lib/server/config-resolver.js +25 -44
  369. package/packages/tools/lib/server/config-resolver.js.map +1 -1
  370. package/packages/tools/lib/server/conflict-policy.d.ts +44 -0
  371. package/packages/tools/lib/server/conflict-policy.d.ts.map +1 -0
  372. package/packages/tools/lib/server/conflict-policy.js +94 -0
  373. package/packages/tools/lib/server/conflict-policy.js.map +1 -0
  374. package/packages/tools/lib/server/dev-server.d.ts +32 -2
  375. package/packages/tools/lib/server/dev-server.d.ts.map +1 -1
  376. package/packages/tools/lib/server/dev-server.js +875 -54
  377. package/packages/tools/lib/server/dev-server.js.map +1 -1
  378. package/packages/tools/lib/server/element-writer.d.ts +11 -0
  379. package/packages/tools/lib/server/element-writer.d.ts.map +1 -0
  380. package/packages/tools/lib/server/element-writer.js +123 -0
  381. package/packages/tools/lib/server/element-writer.js.map +1 -0
  382. package/packages/tools/lib/server/file-watcher.d.ts +4 -1
  383. package/packages/tools/lib/server/file-watcher.d.ts.map +1 -1
  384. package/packages/tools/lib/server/file-watcher.js +17 -7
  385. package/packages/tools/lib/server/file-watcher.js.map +1 -1
  386. package/packages/tools/lib/server/mutation-domain.d.ts +22 -0
  387. package/packages/tools/lib/server/mutation-domain.d.ts.map +1 -0
  388. package/packages/tools/lib/server/mutation-domain.js +87 -0
  389. package/packages/tools/lib/server/mutation-domain.js.map +1 -0
  390. package/packages/tools/lib/server/package-source.d.ts +26 -0
  391. package/packages/tools/lib/server/package-source.d.ts.map +1 -0
  392. package/packages/tools/lib/server/package-source.js +81 -0
  393. package/packages/tools/lib/server/package-source.js.map +1 -0
  394. package/packages/tools/lib/server/package-writer.d.ts +94 -0
  395. package/packages/tools/lib/server/package-writer.d.ts.map +1 -0
  396. package/packages/tools/lib/server/package-writer.js +317 -0
  397. package/packages/tools/lib/server/package-writer.js.map +1 -0
  398. package/packages/tools/lib/server/persistor.d.ts +81 -6
  399. package/packages/tools/lib/server/persistor.d.ts.map +1 -1
  400. package/packages/tools/lib/server/persistor.js +173 -44
  401. package/packages/tools/lib/server/persistor.js.map +1 -1
  402. package/packages/tools/lib/server/relationship-writer.d.ts +41 -5
  403. package/packages/tools/lib/server/relationship-writer.d.ts.map +1 -1
  404. package/packages/tools/lib/server/relationship-writer.js +157 -13
  405. package/packages/tools/lib/server/relationship-writer.js.map +1 -1
  406. package/packages/tools/lib/server/rule-policy-writer.d.ts +40 -0
  407. package/packages/tools/lib/server/rule-policy-writer.d.ts.map +1 -0
  408. package/packages/tools/lib/server/rule-policy-writer.js +124 -0
  409. package/packages/tools/lib/server/rule-policy-writer.js.map +1 -0
  410. package/packages/tools/lib/server/runtime-budget.d.ts +14 -0
  411. package/packages/tools/lib/server/runtime-budget.d.ts.map +1 -0
  412. package/packages/tools/lib/server/runtime-budget.js +15 -0
  413. package/packages/tools/lib/server/runtime-budget.js.map +1 -0
  414. package/packages/tools/lib/server/sysml-notation.d.ts +36 -0
  415. package/packages/tools/lib/server/sysml-notation.d.ts.map +1 -0
  416. package/packages/tools/lib/server/sysml-notation.js +104 -0
  417. package/packages/tools/lib/server/sysml-notation.js.map +1 -0
  418. package/packages/tools/lib/server/view-layout-store.d.ts.map +1 -1
  419. package/packages/tools/lib/server/view-layout-store.js +1 -0
  420. package/packages/tools/lib/server/view-layout-store.js.map +1 -1
  421. package/packages/tools/lib/sysml-ir/generated/sysml-derivations.d.ts +9 -0
  422. package/packages/tools/lib/sysml-ir/generated/sysml-derivations.d.ts.map +1 -0
  423. package/packages/tools/lib/sysml-ir/generated/sysml-derivations.js +315 -0
  424. package/packages/tools/lib/sysml-ir/generated/sysml-derivations.js.map +1 -0
  425. package/packages/tools/lib/sysml-ir/generated/sysml-metamodel.d.ts +5206 -0
  426. package/packages/tools/lib/sysml-ir/generated/sysml-metamodel.d.ts.map +1 -0
  427. package/packages/tools/lib/sysml-ir/generated/sysml-metamodel.js +1933 -0
  428. package/packages/tools/lib/sysml-ir/generated/sysml-metamodel.js.map +1 -0
  429. package/packages/tools/lib/sysml-ir/index.d.ts +3 -0
  430. package/packages/tools/lib/sysml-ir/index.d.ts.map +1 -0
  431. package/packages/tools/lib/sysml-ir/index.js +3 -0
  432. package/packages/tools/lib/sysml-ir/index.js.map +1 -0
  433. package/packages/tools/lib/sysml-ir/ir.d.ts +50 -0
  434. package/packages/tools/lib/sysml-ir/ir.d.ts.map +1 -0
  435. package/packages/tools/lib/sysml-ir/ir.js +2 -0
  436. package/packages/tools/lib/sysml-ir/ir.js.map +1 -0
  437. package/packages/tools/lib/sysmlc/bin/memo-sysmlc.d.ts +3 -0
  438. package/packages/tools/lib/sysmlc/bin/memo-sysmlc.d.ts.map +1 -0
  439. package/packages/tools/lib/sysmlc/bin/memo-sysmlc.js +97 -0
  440. package/packages/tools/lib/sysmlc/bin/memo-sysmlc.js.map +1 -0
  441. package/packages/tools/lib/sysmlc/index.d.ts +2 -0
  442. package/packages/tools/lib/sysmlc/index.d.ts.map +1 -0
  443. package/packages/tools/lib/sysmlc/index.js +7 -0
  444. package/packages/tools/lib/sysmlc/index.js.map +1 -0
  445. package/packages/tools/lib/sysmlc/server.d.ts +29 -0
  446. package/packages/tools/lib/sysmlc/server.d.ts.map +1 -0
  447. package/packages/tools/lib/sysmlc/server.js +168 -0
  448. package/packages/tools/lib/sysmlc/server.js.map +1 -0
  449. package/packages/tools/lib/toolchain/default-registry.d.ts +12 -0
  450. package/packages/tools/lib/toolchain/default-registry.d.ts.map +1 -0
  451. package/packages/tools/lib/toolchain/default-registry.js +28 -0
  452. package/packages/tools/lib/toolchain/default-registry.js.map +1 -0
  453. package/packages/tools/lib/toolchain/diagnostic.d.ts +57 -0
  454. package/packages/tools/lib/toolchain/diagnostic.d.ts.map +1 -0
  455. package/packages/tools/lib/toolchain/diagnostic.js +69 -0
  456. package/packages/tools/lib/toolchain/diagnostic.js.map +1 -0
  457. package/packages/tools/lib/toolchain/effective.d.ts +36 -0
  458. package/packages/tools/lib/toolchain/effective.d.ts.map +1 -0
  459. package/packages/tools/lib/toolchain/effective.js +91 -0
  460. package/packages/tools/lib/toolchain/effective.js.map +1 -0
  461. package/packages/tools/lib/toolchain/index.d.ts +11 -0
  462. package/packages/tools/lib/toolchain/index.d.ts.map +1 -0
  463. package/packages/tools/lib/toolchain/index.js +21 -0
  464. package/packages/tools/lib/toolchain/index.js.map +1 -0
  465. package/packages/tools/lib/toolchain/lowering.d.ts +63 -0
  466. package/packages/tools/lib/toolchain/lowering.d.ts.map +1 -0
  467. package/packages/tools/lib/toolchain/lowering.js +100 -0
  468. package/packages/tools/lib/toolchain/lowering.js.map +1 -0
  469. package/packages/tools/lib/toolchain/operations.d.ts +87 -0
  470. package/packages/tools/lib/toolchain/operations.d.ts.map +1 -0
  471. package/packages/tools/lib/toolchain/operations.js +111 -0
  472. package/packages/tools/lib/toolchain/operations.js.map +1 -0
  473. package/packages/tools/lib/toolchain/process.d.ts +45 -0
  474. package/packages/tools/lib/toolchain/process.d.ts.map +1 -0
  475. package/packages/tools/lib/toolchain/process.js +125 -0
  476. package/packages/tools/lib/toolchain/process.js.map +1 -0
  477. package/packages/tools/lib/toolchain/protocol.d.ts +122 -0
  478. package/packages/tools/lib/toolchain/protocol.d.ts.map +1 -0
  479. package/packages/tools/lib/toolchain/protocol.js +74 -0
  480. package/packages/tools/lib/toolchain/protocol.js.map +1 -0
  481. package/packages/tools/lib/toolchain/providers/internal-kpar.d.ts +9 -0
  482. package/packages/tools/lib/toolchain/providers/internal-kpar.d.ts.map +1 -0
  483. package/packages/tools/lib/toolchain/providers/internal-kpar.js +84 -0
  484. package/packages/tools/lib/toolchain/providers/internal-kpar.js.map +1 -0
  485. package/packages/tools/lib/toolchain/providers/internal.d.ts +33 -0
  486. package/packages/tools/lib/toolchain/providers/internal.d.ts.map +1 -0
  487. package/packages/tools/lib/toolchain/providers/internal.js +286 -0
  488. package/packages/tools/lib/toolchain/providers/internal.js.map +1 -0
  489. package/packages/tools/lib/toolchain/providers/sysand.d.ts +12 -0
  490. package/packages/tools/lib/toolchain/providers/sysand.d.ts.map +1 -0
  491. package/packages/tools/lib/toolchain/providers/sysand.js +110 -0
  492. package/packages/tools/lib/toolchain/providers/sysand.js.map +1 -0
  493. package/packages/tools/lib/toolchain/providers/syside.d.ts +24 -0
  494. package/packages/tools/lib/toolchain/providers/syside.d.ts.map +1 -0
  495. package/packages/tools/lib/toolchain/providers/syside.js +208 -0
  496. package/packages/tools/lib/toolchain/providers/syside.js.map +1 -0
  497. package/packages/tools/lib/toolchain/registry.d.ts +192 -0
  498. package/packages/tools/lib/toolchain/registry.d.ts.map +1 -0
  499. package/packages/tools/lib/toolchain/registry.js +130 -0
  500. package/packages/tools/lib/toolchain/registry.js.map +1 -0
  501. package/packages/tools/lib/toolchain/schema.d.ts +30 -0
  502. package/packages/tools/lib/toolchain/schema.d.ts.map +1 -0
  503. package/packages/tools/lib/toolchain/schema.js +112 -0
  504. package/packages/tools/lib/toolchain/schema.js.map +1 -0
  505. package/packages/tools/lib/toolchain/sysmlc-client.d.ts +77 -0
  506. package/packages/tools/lib/toolchain/sysmlc-client.d.ts.map +1 -0
  507. package/packages/tools/lib/toolchain/sysmlc-client.js +0 -0
  508. package/packages/tools/lib/toolchain/sysmlc-client.js.map +1 -0
  509. package/packages/tools/lib/validator/architecture-validator.d.ts +8 -1
  510. package/packages/tools/lib/validator/architecture-validator.d.ts.map +1 -1
  511. package/packages/tools/lib/validator/architecture-validator.js +25 -1
  512. package/packages/tools/lib/validator/architecture-validator.js.map +1 -1
  513. package/packages/tools/lib/validator/behavior-validator.d.ts +1 -1
  514. package/packages/tools/lib/validator/behavior-validator.js +1 -1
  515. package/packages/tools/lib/validator/builtin-rules.d.ts +16 -0
  516. package/packages/tools/lib/validator/builtin-rules.d.ts.map +1 -0
  517. package/packages/tools/lib/validator/builtin-rules.js +62 -0
  518. package/packages/tools/lib/validator/builtin-rules.js.map +1 -0
  519. package/packages/tools/lib/validator/constraint-eval.d.ts +31 -0
  520. package/packages/tools/lib/validator/constraint-eval.d.ts.map +1 -1
  521. package/packages/tools/lib/validator/constraint-eval.js +164 -7
  522. package/packages/tools/lib/validator/constraint-eval.js.map +1 -1
  523. package/packages/tools/lib/validator/constraint-loader.d.ts +22 -4
  524. package/packages/tools/lib/validator/constraint-loader.d.ts.map +1 -1
  525. package/packages/tools/lib/validator/constraint-loader.js +100 -27
  526. package/packages/tools/lib/validator/constraint-loader.js.map +1 -1
  527. package/packages/tools/lib/validator/rule-engine.d.ts +2 -1
  528. package/packages/tools/lib/validator/rule-engine.d.ts.map +1 -1
  529. package/packages/tools/lib/validator/rule-engine.js +56 -5
  530. package/packages/tools/lib/validator/rule-engine.js.map +1 -1
  531. package/packages/tools/lib/validator/sysml-constraints.d.ts +64 -0
  532. package/packages/tools/lib/validator/sysml-constraints.d.ts.map +1 -0
  533. package/packages/tools/lib/validator/sysml-constraints.js +251 -0
  534. package/packages/tools/lib/validator/sysml-constraints.js.map +1 -0
  535. package/packages/tools/lib/validator/types.d.ts +33 -0
  536. package/packages/tools/lib/validator/types.d.ts.map +1 -1
  537. package/packages/tools/lib/version.d.ts +2 -0
  538. package/packages/tools/lib/version.d.ts.map +1 -0
  539. package/packages/tools/lib/version.js +26 -0
  540. package/packages/tools/lib/version.js.map +1 -0
  541. package/packages/tools/src/grammar/memo-sysml.langium +517 -41
  542. package/packages/tools/lib/model/dimension-filter.d.ts +0 -33
  543. package/packages/tools/lib/model/dimension-filter.d.ts.map +0 -1
  544. package/packages/tools/lib/model/dimension-filter.js +0 -57
  545. package/packages/tools/lib/model/dimension-filter.js.map +0 -1
  546. package/packages/tools/lib/model/toolchain.d.ts +0 -12
  547. package/packages/tools/lib/model/toolchain.d.ts.map +0 -1
  548. package/packages/tools/lib/model/toolchain.js +0 -92
  549. package/packages/tools/lib/model/toolchain.js.map +0 -1
@@ -0,0 +1,1933 @@
1
+ // GENERATED from SysML.ecore by scripts/generate-sysml-ir.mjs. DO NOT EDIT.
2
+ //
3
+ // Source: OMG SysML v2 Pilot Implementation, release 2026-05, commit fa709f2.
4
+ // SHA-256: 7f6bf7851ea5a732e004415f4b9b7d6dd685e7a2f89a6c800b5df1fbfd34a4f0
5
+ //
6
+ // Derived features are declarations only. Their specification OCL is reproduced
7
+ // verbatim in the doc comment as a citation; the computation lives in the
8
+ // hand-written resolution core (plan §1.5.1 rule 2, §4.1 B3).
9
+ export const SYSML_ECORE_SHA256 = "7f6bf7851ea5a732e004415f4b9b7d6dd685e7a2f89a6c800b5df1fbfd34a4f0";
10
+ export const SYSML_ECORE_RELEASE = "2026-05";
11
+ export const SYSML_ECORE_COMMIT = "fa709f2";
12
+ export const FEATURE_DIRECTION_KIND_LITERALS = ["in", "inout", "out"];
13
+ export const PORTION_KIND_LITERALS = ["timeslice", "snapshot"];
14
+ export const REQUIREMENT_CONSTRAINT_KIND_LITERALS = ["assumption", "requirement"];
15
+ export const STATE_SUBACTION_KIND_LITERALS = ["entry", "do", "exit"];
16
+ export const TRANSITION_FEATURE_KIND_LITERALS = ["trigger", "guard", "effect"];
17
+ export const TRIGGER_KIND_LITERALS = ["when", "at", "after"];
18
+ export const VISIBILITY_KIND_LITERALS = ["private", "protected", "public"];
19
+ export const SYSML_METACLASSES = {
20
+ "AcceptActionUsage": {
21
+ name: "AcceptActionUsage",
22
+ abstract: false,
23
+ superTypes: ["ActionUsage"],
24
+ features: {
25
+ "payloadArgument": { "name": "payloadArgument", "ecoreName": "payloadArgument", "kind": "reference", "type": "Expression", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
26
+ "payloadParameter": { "name": "payloadParameter", "ecoreName": "payloadParameter", "kind": "reference", "type": "ReferenceUsage", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Usage/nestedReference", "Step/parameter"], "hasDerivation": true },
27
+ "receiverArgument": { "name": "receiverArgument", "ecoreName": "receiverArgument", "kind": "reference", "type": "Expression", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
28
+ },
29
+ operations: [
30
+ { "name": "isTriggerAction", "type": "boolean", "lowerBound": 1, "upperBound": 1, "parameters": [], "hasBody": true },
31
+ ],
32
+ },
33
+ "ActionDefinition": {
34
+ name: "ActionDefinition",
35
+ abstract: false,
36
+ superTypes: ["OccurrenceDefinition", "Behavior"],
37
+ features: {
38
+ "action": { "name": "action", "ecoreName": "action", "kind": "reference", "type": "ActionUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Behavior/step", "Definition/usage"], "hasDerivation": true },
39
+ },
40
+ operations: [],
41
+ },
42
+ "ActionUsage": {
43
+ name: "ActionUsage",
44
+ abstract: false,
45
+ superTypes: ["OccurrenceUsage", "Step"],
46
+ features: {
47
+ "actionDefinition": { "name": "actionDefinition", "ecoreName": "actionDefinition", "kind": "reference", "type": "Behavior", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "redefines": ["Step/behavior", "OccurrenceUsage/occurrenceDefinition"] },
48
+ },
49
+ operations: [
50
+ { "name": "argument", "type": "Expression", "lowerBound": 0, "upperBound": 1, "parameters": [{ "name": "i", "type": "number", "many": false }], "hasBody": true },
51
+ { "name": "inputParameter", "type": "Feature", "lowerBound": 0, "upperBound": 1, "parameters": [{ "name": "i", "type": "number", "many": false }], "hasBody": true },
52
+ { "name": "inputParameters", "type": "Feature", "lowerBound": 0, "upperBound": -1, "parameters": [], "hasBody": true },
53
+ { "name": "isSubactionUsage", "type": "boolean", "lowerBound": 1, "upperBound": 1, "parameters": [], "hasBody": true },
54
+ ],
55
+ },
56
+ "ActorMembership": {
57
+ name: "ActorMembership",
58
+ abstract: false,
59
+ superTypes: ["ParameterMembership"],
60
+ features: {
61
+ "ownedActorParameter": { "name": "ownedActorParameter", "ecoreName": "ownedActorParameter", "kind": "reference", "type": "PartUsage", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["ParameterMembership/ownedMemberParameter"] },
62
+ },
63
+ operations: [],
64
+ },
65
+ "AllocationDefinition": {
66
+ name: "AllocationDefinition",
67
+ abstract: false,
68
+ superTypes: ["ConnectionDefinition"],
69
+ features: {
70
+ "allocation": { "name": "allocation", "ecoreName": "allocation", "kind": "reference", "type": "AllocationUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Definition/usage"], "hasDerivation": true },
71
+ },
72
+ operations: [],
73
+ },
74
+ "AllocationUsage": {
75
+ name: "AllocationUsage",
76
+ abstract: false,
77
+ superTypes: ["ConnectionUsage"],
78
+ features: {
79
+ "allocationDefinition": { "name": "allocationDefinition", "ecoreName": "allocationDefinition", "kind": "reference", "type": "AllocationDefinition", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "redefines": ["ConnectionUsage/connectionDefinition"] },
80
+ },
81
+ operations: [],
82
+ },
83
+ "AnalysisCaseDefinition": {
84
+ name: "AnalysisCaseDefinition",
85
+ abstract: false,
86
+ superTypes: ["CaseDefinition"],
87
+ features: {
88
+ "resultExpression": { "name": "resultExpression", "ecoreName": "resultExpression", "kind": "reference", "type": "Expression", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Function/expression", "Type/ownedFeature"], "hasDerivation": true },
89
+ },
90
+ operations: [],
91
+ },
92
+ "AnalysisCaseUsage": {
93
+ name: "AnalysisCaseUsage",
94
+ abstract: false,
95
+ superTypes: ["CaseUsage"],
96
+ features: {
97
+ "analysisCaseDefinition": { "name": "analysisCaseDefinition", "ecoreName": "analysisCaseDefinition", "kind": "reference", "type": "AnalysisCaseDefinition", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["CaseUsage/caseDefinition"] },
98
+ "resultExpression": { "name": "resultExpression", "ecoreName": "resultExpression", "kind": "reference", "type": "Expression", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Type/ownedFeature"], "hasDerivation": true },
99
+ },
100
+ operations: [],
101
+ },
102
+ "AnnotatingElement": {
103
+ name: "AnnotatingElement",
104
+ abstract: false,
105
+ superTypes: ["Element"],
106
+ features: {
107
+ "annotatedElement": { "name": "annotatedElement", "ecoreName": "annotatedElement", "kind": "reference", "type": "Element", "lowerBound": 1, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
108
+ "annotation": { "name": "annotation", "ecoreName": "annotation", "kind": "reference", "type": "Annotation", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "opposite": "Annotation/annotatingElement", "hasDerivation": true },
109
+ "ownedAnnotatingRelationship": { "name": "ownedAnnotatingRelationship", "ecoreName": "ownedAnnotatingRelationship", "kind": "reference", "type": "Annotation", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "opposite": "Annotation/owningAnnotatingElement", "subsets": ["AnnotatingElement/annotation", "Element/ownedRelationship"], "hasDerivation": true },
110
+ "owningAnnotatingRelationship": { "name": "owningAnnotatingRelationship", "ecoreName": "owningAnnotatingRelationship", "kind": "reference", "type": "Annotation", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "Annotation/ownedAnnotatingElement", "subsets": ["Element/owningRelationship", "AnnotatingElement/annotation"] },
111
+ },
112
+ operations: [],
113
+ },
114
+ "Annotation": {
115
+ name: "Annotation",
116
+ abstract: false,
117
+ superTypes: ["Relationship"],
118
+ features: {
119
+ "annotatedElement": { "name": "annotatedElement", "ecoreName": "annotatedElement", "kind": "reference", "type": "Element", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false, "redefines": ["Relationship/target"] },
120
+ "annotatingElement": { "name": "annotatingElement", "ecoreName": "annotatingElement", "kind": "reference", "type": "AnnotatingElement", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "AnnotatingElement/annotation", "redefines": ["Relationship/source"], "hasDerivation": true },
121
+ "ownedAnnotatingElement": { "name": "ownedAnnotatingElement", "ecoreName": "ownedAnnotatingElement", "kind": "reference", "type": "AnnotatingElement", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "AnnotatingElement/owningAnnotatingRelationship", "subsets": ["Annotation/annotatingElement", "Relationship/ownedRelatedElement"], "hasDerivation": true },
122
+ "owningAnnotatedElement": { "name": "owningAnnotatedElement", "ecoreName": "owningAnnotatedElement", "kind": "reference", "type": "Element", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "Element/ownedAnnotation", "subsets": ["Annotation/annotatedElement", "Relationship/owningRelatedElement"] },
123
+ "owningAnnotatingElement": { "name": "owningAnnotatingElement", "ecoreName": "owningAnnotatingElement", "kind": "reference", "type": "AnnotatingElement", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "AnnotatingElement/ownedAnnotatingRelationship", "subsets": ["Annotation/annotatingElement", "Relationship/owningRelatedElement"] },
124
+ },
125
+ operations: [],
126
+ },
127
+ "AssertConstraintUsage": {
128
+ name: "AssertConstraintUsage",
129
+ abstract: false,
130
+ superTypes: ["ConstraintUsage", "Invariant"],
131
+ features: {
132
+ "assertedConstraint": { "name": "assertedConstraint", "ecoreName": "assertedConstraint", "kind": "reference", "type": "ConstraintUsage", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
133
+ },
134
+ operations: [],
135
+ },
136
+ "AssignmentActionUsage": {
137
+ name: "AssignmentActionUsage",
138
+ abstract: false,
139
+ superTypes: ["ActionUsage"],
140
+ features: {
141
+ "referent": { "name": "referent", "ecoreName": "referent", "kind": "reference", "type": "Feature", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Namespace/member"], "hasDerivation": true },
142
+ "targetArgument": { "name": "targetArgument", "ecoreName": "targetArgument", "kind": "reference", "type": "Expression", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
143
+ "valueExpression": { "name": "valueExpression", "ecoreName": "valueExpression", "kind": "reference", "type": "Expression", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
144
+ },
145
+ operations: [],
146
+ },
147
+ "Association": {
148
+ name: "Association",
149
+ abstract: false,
150
+ superTypes: ["Classifier", "Relationship"],
151
+ features: {
152
+ "associationEnd": { "name": "associationEnd", "ecoreName": "associationEnd", "kind": "reference", "type": "Feature", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["Type/endFeature"] },
153
+ "relatedType": { "name": "relatedType", "ecoreName": "relatedType", "kind": "reference", "type": "Type", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "redefines": ["Relationship/relatedElement"], "hasDerivation": true },
154
+ "sourceType": { "name": "sourceType", "ecoreName": "sourceType", "kind": "reference", "type": "Type", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Association/relatedType"], "redefines": ["Relationship/source"], "hasDerivation": true },
155
+ "targetType": { "name": "targetType", "ecoreName": "targetType", "kind": "reference", "type": "Type", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Association/relatedType"], "redefines": ["Relationship/target"], "hasDerivation": true },
156
+ },
157
+ operations: [],
158
+ },
159
+ "AssociationStructure": {
160
+ name: "AssociationStructure",
161
+ abstract: false,
162
+ superTypes: ["Association", "Structure"],
163
+ features: {},
164
+ operations: [],
165
+ },
166
+ "AttributeDefinition": {
167
+ name: "AttributeDefinition",
168
+ abstract: false,
169
+ superTypes: ["Definition", "DataType"],
170
+ features: {},
171
+ operations: [],
172
+ },
173
+ "AttributeUsage": {
174
+ name: "AttributeUsage",
175
+ abstract: false,
176
+ superTypes: ["Usage"],
177
+ features: {
178
+ "attributeDefinition": { "name": "attributeDefinition", "ecoreName": "attributeDefinition", "kind": "reference", "type": "DataType", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "redefines": ["Usage/definition"] },
179
+ },
180
+ operations: [],
181
+ },
182
+ "Behavior": {
183
+ name: "Behavior",
184
+ abstract: false,
185
+ superTypes: ["Class"],
186
+ features: {
187
+ "parameter": { "name": "parameter", "ecoreName": "parameter", "kind": "reference", "type": "Feature", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "redefines": ["Type/directedFeature"] },
188
+ "step": { "name": "step", "ecoreName": "step", "kind": "reference", "type": "Step", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Type/feature"], "hasDerivation": true },
189
+ },
190
+ operations: [],
191
+ },
192
+ "BindingConnector": {
193
+ name: "BindingConnector",
194
+ abstract: false,
195
+ superTypes: ["Connector"],
196
+ features: {},
197
+ operations: [],
198
+ },
199
+ "BindingConnectorAsUsage": {
200
+ name: "BindingConnectorAsUsage",
201
+ abstract: false,
202
+ superTypes: ["ConnectorAsUsage", "BindingConnector"],
203
+ features: {},
204
+ operations: [],
205
+ },
206
+ "BooleanExpression": {
207
+ name: "BooleanExpression",
208
+ abstract: false,
209
+ superTypes: ["Expression"],
210
+ features: {
211
+ "predicate": { "name": "predicate", "ecoreName": "predicate", "kind": "reference", "type": "Predicate", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["Expression/function"] },
212
+ },
213
+ operations: [],
214
+ },
215
+ "CalculationDefinition": {
216
+ name: "CalculationDefinition",
217
+ abstract: false,
218
+ superTypes: ["ActionDefinition", "Function"],
219
+ features: {
220
+ "calculation": { "name": "calculation", "ecoreName": "calculation", "kind": "reference", "type": "CalculationUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["ActionDefinition/action", "Function/expression"], "hasDerivation": true },
221
+ },
222
+ operations: [],
223
+ },
224
+ "CalculationUsage": {
225
+ name: "CalculationUsage",
226
+ abstract: false,
227
+ superTypes: ["ActionUsage", "Expression"],
228
+ features: {
229
+ "calculationDefinition": { "name": "calculationDefinition", "ecoreName": "calculationDefinition", "kind": "reference", "type": "Function", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": true, "containment": false, "derived": true, "volatile": true, "redefines": ["Expression/function", "ActionUsage/actionDefinition"] },
230
+ },
231
+ operations: [],
232
+ },
233
+ "CaseDefinition": {
234
+ name: "CaseDefinition",
235
+ abstract: false,
236
+ superTypes: ["CalculationDefinition"],
237
+ features: {
238
+ "actorParameter": { "name": "actorParameter", "ecoreName": "actorParameter", "kind": "reference", "type": "PartUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Behavior/parameter", "Definition/usage"], "hasDerivation": true },
239
+ "objectiveRequirement": { "name": "objectiveRequirement", "ecoreName": "objectiveRequirement", "kind": "reference", "type": "RequirementUsage", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Definition/usage"], "hasDerivation": true },
240
+ "subjectParameter": { "name": "subjectParameter", "ecoreName": "subjectParameter", "kind": "reference", "type": "Usage", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Behavior/parameter", "Definition/usage"], "hasDerivation": true },
241
+ },
242
+ operations: [],
243
+ },
244
+ "CaseUsage": {
245
+ name: "CaseUsage",
246
+ abstract: false,
247
+ superTypes: ["CalculationUsage"],
248
+ features: {
249
+ "actorParameter": { "name": "actorParameter", "ecoreName": "actorParameter", "kind": "reference", "type": "PartUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Step/parameter", "Usage/usage"], "hasDerivation": true },
250
+ "caseDefinition": { "name": "caseDefinition", "ecoreName": "caseDefinition", "kind": "reference", "type": "CaseDefinition", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["CalculationUsage/calculationDefinition"] },
251
+ "objectiveRequirement": { "name": "objectiveRequirement", "ecoreName": "objectiveRequirement", "kind": "reference", "type": "RequirementUsage", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Usage/usage"], "hasDerivation": true },
252
+ "subjectParameter": { "name": "subjectParameter", "ecoreName": "subjectParameter", "kind": "reference", "type": "Usage", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Step/parameter", "Usage/usage"], "hasDerivation": true },
253
+ },
254
+ operations: [],
255
+ },
256
+ "Class": {
257
+ name: "Class",
258
+ abstract: false,
259
+ superTypes: ["Classifier"],
260
+ features: {},
261
+ operations: [],
262
+ },
263
+ "Classifier": {
264
+ name: "Classifier",
265
+ abstract: false,
266
+ superTypes: ["Type"],
267
+ features: {
268
+ "ownedSubclassification": { "name": "ownedSubclassification", "ecoreName": "ownedSubclassification", "kind": "reference", "type": "Subclassification", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "Subclassification/owningClassifier", "subsets": ["Type/ownedSpecialization"], "hasDerivation": true },
269
+ },
270
+ operations: [],
271
+ },
272
+ "CollectExpression": {
273
+ name: "CollectExpression",
274
+ abstract: false,
275
+ superTypes: ["OperatorExpression"],
276
+ features: {},
277
+ operations: [],
278
+ },
279
+ "Comment": {
280
+ name: "Comment",
281
+ abstract: false,
282
+ superTypes: ["AnnotatingElement"],
283
+ features: {
284
+ "body": { "name": "body", "ecoreName": "body", "kind": "attribute", "type": "EString", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
285
+ "locale": { "name": "locale", "ecoreName": "locale", "kind": "attribute", "type": "EString", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
286
+ },
287
+ operations: [],
288
+ },
289
+ "ConcernDefinition": {
290
+ name: "ConcernDefinition",
291
+ abstract: false,
292
+ superTypes: ["RequirementDefinition"],
293
+ features: {},
294
+ operations: [],
295
+ },
296
+ "ConcernUsage": {
297
+ name: "ConcernUsage",
298
+ abstract: false,
299
+ superTypes: ["RequirementUsage"],
300
+ features: {
301
+ "concernDefinition": { "name": "concernDefinition", "ecoreName": "concernDefinition", "kind": "reference", "type": "ConcernDefinition", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["RequirementUsage/requirementDefinition"] },
302
+ },
303
+ operations: [],
304
+ },
305
+ "ConjugatedPortDefinition": {
306
+ name: "ConjugatedPortDefinition",
307
+ abstract: false,
308
+ superTypes: ["PortDefinition"],
309
+ features: {
310
+ "originalPortDefinition": { "name": "originalPortDefinition", "ecoreName": "originalPortDefinition", "kind": "reference", "type": "PortDefinition", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "PortDefinition/conjugatedPortDefinition", "redefines": ["Element/owningNamespace"] },
311
+ "ownedPortConjugator": { "name": "ownedPortConjugator", "ecoreName": "ownedPortConjugator", "kind": "reference", "type": "PortConjugation", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "PortConjugation/conjugatedPortDefinition", "redefines": ["Type/ownedConjugator"] },
312
+ },
313
+ operations: [],
314
+ },
315
+ "ConjugatedPortTyping": {
316
+ name: "ConjugatedPortTyping",
317
+ abstract: false,
318
+ superTypes: ["FeatureTyping"],
319
+ features: {
320
+ "conjugatedPortDefinition": { "name": "conjugatedPortDefinition", "ecoreName": "conjugatedPortDefinition", "kind": "reference", "type": "ConjugatedPortDefinition", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false, "redefines": ["FeatureTyping/type"] },
321
+ "portDefinition": { "name": "portDefinition", "ecoreName": "portDefinition", "kind": "reference", "type": "PortDefinition", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
322
+ },
323
+ operations: [],
324
+ },
325
+ "Conjugation": {
326
+ name: "Conjugation",
327
+ abstract: false,
328
+ superTypes: ["Relationship"],
329
+ features: {
330
+ "conjugatedType": { "name": "conjugatedType", "ecoreName": "conjugatedType", "kind": "reference", "type": "Type", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false, "redefines": ["Relationship/source"] },
331
+ "originalType": { "name": "originalType", "ecoreName": "originalType", "kind": "reference", "type": "Type", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false, "redefines": ["Relationship/target"] },
332
+ "owningType": { "name": "owningType", "ecoreName": "owningType", "kind": "reference", "type": "Type", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "Type/ownedConjugator", "subsets": ["Conjugation/conjugatedType", "Relationship/owningRelatedElement"] },
333
+ },
334
+ operations: [],
335
+ },
336
+ "ConnectionDefinition": {
337
+ name: "ConnectionDefinition",
338
+ abstract: false,
339
+ superTypes: ["PartDefinition", "AssociationStructure"],
340
+ features: {
341
+ "connectionEnd": { "name": "connectionEnd", "ecoreName": "connectionEnd", "kind": "reference", "type": "Usage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "redefines": ["Association/associationEnd"] },
342
+ },
343
+ operations: [],
344
+ },
345
+ "ConnectionUsage": {
346
+ name: "ConnectionUsage",
347
+ abstract: false,
348
+ superTypes: ["ConnectorAsUsage", "PartUsage"],
349
+ features: {
350
+ "connectionDefinition": { "name": "connectionDefinition", "ecoreName": "connectionDefinition", "kind": "reference", "type": "AssociationStructure", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["ItemUsage/itemDefinition"], "redefines": ["Connector/association"] },
351
+ },
352
+ operations: [],
353
+ },
354
+ "Connector": {
355
+ name: "Connector",
356
+ abstract: false,
357
+ superTypes: ["Feature", "Relationship"],
358
+ features: {
359
+ "association": { "name": "association", "ecoreName": "association", "kind": "reference", "type": "Association", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "redefines": ["Feature/type"] },
360
+ "connectorEnd": { "name": "connectorEnd", "ecoreName": "connectorEnd", "kind": "reference", "type": "Feature", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "redefines": ["Type/endFeature"] },
361
+ "defaultFeaturingType": { "name": "defaultFeaturingType", "ecoreName": "defaultFeaturingType", "kind": "reference", "type": "Type", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true },
362
+ "relatedFeature": { "name": "relatedFeature", "ecoreName": "relatedFeature", "kind": "reference", "type": "Feature", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "redefines": ["Relationship/relatedElement"], "hasDerivation": true },
363
+ "sourceFeature": { "name": "sourceFeature", "ecoreName": "sourceFeature", "kind": "reference", "type": "Feature", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Connector/relatedFeature"], "redefines": ["Relationship/source"], "hasDerivation": true },
364
+ "targetFeature": { "name": "targetFeature", "ecoreName": "targetFeature", "kind": "reference", "type": "Feature", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Connector/relatedFeature"], "redefines": ["Relationship/target"], "hasDerivation": true },
365
+ },
366
+ operations: [],
367
+ },
368
+ "ConnectorAsUsage": {
369
+ name: "ConnectorAsUsage",
370
+ abstract: true,
371
+ superTypes: ["Usage", "Connector"],
372
+ features: {},
373
+ operations: [],
374
+ },
375
+ "ConstraintDefinition": {
376
+ name: "ConstraintDefinition",
377
+ abstract: false,
378
+ superTypes: ["OccurrenceDefinition", "Predicate"],
379
+ features: {},
380
+ operations: [],
381
+ },
382
+ "ConstraintUsage": {
383
+ name: "ConstraintUsage",
384
+ abstract: false,
385
+ superTypes: ["OccurrenceUsage", "BooleanExpression"],
386
+ features: {
387
+ "constraintDefinition": { "name": "constraintDefinition", "ecoreName": "constraintDefinition", "kind": "reference", "type": "Predicate", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["BooleanExpression/predicate"] },
388
+ },
389
+ operations: [],
390
+ },
391
+ "ConstructorExpression": {
392
+ name: "ConstructorExpression",
393
+ abstract: false,
394
+ superTypes: ["InstantiationExpression"],
395
+ features: {},
396
+ operations: [],
397
+ },
398
+ "ControlNode": {
399
+ name: "ControlNode",
400
+ abstract: true,
401
+ superTypes: ["ActionUsage"],
402
+ features: {},
403
+ operations: [
404
+ { "name": "multiplicityHasBounds", "type": "boolean", "lowerBound": 1, "upperBound": 1, "parameters": [{ "name": "mult", "type": "Multiplicity", "many": false }, { "name": "lower", "type": "number", "many": false }, { "name": "upper", "type": "number", "many": false }], "hasBody": true },
405
+ ],
406
+ },
407
+ "CrossSubsetting": {
408
+ name: "CrossSubsetting",
409
+ abstract: false,
410
+ superTypes: ["Subsetting"],
411
+ features: {
412
+ "crossedFeature": { "name": "crossedFeature", "ecoreName": "crossedFeature", "kind": "reference", "type": "Feature", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false, "redefines": ["Subsetting/subsettedFeature"] },
413
+ "crossingFeature": { "name": "crossingFeature", "ecoreName": "crossingFeature", "kind": "reference", "type": "Feature", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "Feature/ownedCrossSubsetting", "redefines": ["Subsetting/owningFeature", "Subsetting/subsettingFeature"] },
414
+ },
415
+ operations: [],
416
+ },
417
+ "DataType": {
418
+ name: "DataType",
419
+ abstract: false,
420
+ superTypes: ["Classifier"],
421
+ features: {},
422
+ operations: [],
423
+ },
424
+ "DecisionNode": {
425
+ name: "DecisionNode",
426
+ abstract: false,
427
+ superTypes: ["ControlNode"],
428
+ features: {},
429
+ operations: [],
430
+ },
431
+ "Definition": {
432
+ name: "Definition",
433
+ abstract: false,
434
+ superTypes: ["Classifier"],
435
+ features: {
436
+ "directedUsage": { "name": "directedUsage", "ecoreName": "directedUsage", "kind": "reference", "type": "Usage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Type/directedFeature", "Definition/usage"], "hasDerivation": true },
437
+ "isVariation": { "name": "isVariation", "ecoreName": "isVariation", "kind": "attribute", "type": "EBoolean", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
438
+ "ownedAction": { "name": "ownedAction", "ecoreName": "ownedAction", "kind": "reference", "type": "ActionUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Definition/ownedOccurrence"], "hasDerivation": true },
439
+ "ownedAllocation": { "name": "ownedAllocation", "ecoreName": "ownedAllocation", "kind": "reference", "type": "AllocationUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Definition/ownedConnection"], "hasDerivation": true },
440
+ "ownedAnalysisCase": { "name": "ownedAnalysisCase", "ecoreName": "ownedAnalysisCase", "kind": "reference", "type": "AnalysisCaseUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Definition/ownedCase"], "hasDerivation": true },
441
+ "ownedAttribute": { "name": "ownedAttribute", "ecoreName": "ownedAttribute", "kind": "reference", "type": "AttributeUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Definition/ownedUsage"], "hasDerivation": true },
442
+ "ownedCalculation": { "name": "ownedCalculation", "ecoreName": "ownedCalculation", "kind": "reference", "type": "CalculationUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Definition/ownedAction"], "hasDerivation": true },
443
+ "ownedCase": { "name": "ownedCase", "ecoreName": "ownedCase", "kind": "reference", "type": "CaseUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Definition/ownedCalculation"], "hasDerivation": true },
444
+ "ownedConcern": { "name": "ownedConcern", "ecoreName": "ownedConcern", "kind": "reference", "type": "ConcernUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Definition/ownedRequirement"], "hasDerivation": true },
445
+ "ownedConnection": { "name": "ownedConnection", "ecoreName": "ownedConnection", "kind": "reference", "type": "ConnectorAsUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Definition/ownedUsage"], "hasDerivation": true },
446
+ "ownedConstraint": { "name": "ownedConstraint", "ecoreName": "ownedConstraint", "kind": "reference", "type": "ConstraintUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Definition/ownedOccurrence"], "hasDerivation": true },
447
+ "ownedEnumeration": { "name": "ownedEnumeration", "ecoreName": "ownedEnumeration", "kind": "reference", "type": "EnumerationUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Definition/ownedAttribute"], "hasDerivation": true },
448
+ "ownedFlow": { "name": "ownedFlow", "ecoreName": "ownedFlow", "kind": "reference", "type": "FlowUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Definition/ownedConnection"], "hasDerivation": true },
449
+ "ownedInterface": { "name": "ownedInterface", "ecoreName": "ownedInterface", "kind": "reference", "type": "InterfaceUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Definition/ownedConnection"], "hasDerivation": true },
450
+ "ownedItem": { "name": "ownedItem", "ecoreName": "ownedItem", "kind": "reference", "type": "ItemUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Definition/ownedOccurrence"], "hasDerivation": true },
451
+ "ownedMetadata": { "name": "ownedMetadata", "ecoreName": "ownedMetadata", "kind": "reference", "type": "MetadataUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Definition/ownedItem"], "hasDerivation": true },
452
+ "ownedOccurrence": { "name": "ownedOccurrence", "ecoreName": "ownedOccurrence", "kind": "reference", "type": "OccurrenceUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Definition/ownedUsage"], "hasDerivation": true },
453
+ "ownedPart": { "name": "ownedPart", "ecoreName": "ownedPart", "kind": "reference", "type": "PartUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Definition/ownedItem"], "hasDerivation": true },
454
+ "ownedPort": { "name": "ownedPort", "ecoreName": "ownedPort", "kind": "reference", "type": "PortUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Definition/ownedUsage"], "hasDerivation": true },
455
+ "ownedReference": { "name": "ownedReference", "ecoreName": "ownedReference", "kind": "reference", "type": "ReferenceUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Definition/ownedUsage"], "hasDerivation": true },
456
+ "ownedRendering": { "name": "ownedRendering", "ecoreName": "ownedRendering", "kind": "reference", "type": "RenderingUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Definition/ownedPart"], "hasDerivation": true },
457
+ "ownedRequirement": { "name": "ownedRequirement", "ecoreName": "ownedRequirement", "kind": "reference", "type": "RequirementUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Definition/ownedConstraint"], "hasDerivation": true },
458
+ "ownedState": { "name": "ownedState", "ecoreName": "ownedState", "kind": "reference", "type": "StateUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Definition/ownedAction"], "hasDerivation": true },
459
+ "ownedTransition": { "name": "ownedTransition", "ecoreName": "ownedTransition", "kind": "reference", "type": "TransitionUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Definition/ownedUsage"], "hasDerivation": true },
460
+ "ownedUsage": { "name": "ownedUsage", "ecoreName": "ownedUsage", "kind": "reference", "type": "Usage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "opposite": "Usage/owningDefinition", "subsets": ["Type/ownedFeature", "Definition/usage"], "hasDerivation": true },
461
+ "ownedUseCase": { "name": "ownedUseCase", "ecoreName": "ownedUseCase", "kind": "reference", "type": "UseCaseUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Definition/ownedCase"], "hasDerivation": true },
462
+ "ownedVerificationCase": { "name": "ownedVerificationCase", "ecoreName": "ownedVerificationCase", "kind": "reference", "type": "VerificationCaseUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Definition/ownedCase"], "hasDerivation": true },
463
+ "ownedView": { "name": "ownedView", "ecoreName": "ownedView", "kind": "reference", "type": "ViewUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Definition/ownedPart"], "hasDerivation": true },
464
+ "ownedViewpoint": { "name": "ownedViewpoint", "ecoreName": "ownedViewpoint", "kind": "reference", "type": "ViewpointUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Definition/ownedRequirement"], "hasDerivation": true },
465
+ "usage": { "name": "usage", "ecoreName": "usage", "kind": "reference", "type": "Usage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Type/feature"], "hasDerivation": true },
466
+ "variant": { "name": "variant", "ecoreName": "variant", "kind": "reference", "type": "Usage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Namespace/ownedMember"], "hasDerivation": true },
467
+ "variantMembership": { "name": "variantMembership", "ecoreName": "variantMembership", "kind": "reference", "type": "VariantMembership", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Namespace/ownedMembership"], "hasDerivation": true },
468
+ },
469
+ operations: [],
470
+ },
471
+ "Dependency": {
472
+ name: "Dependency",
473
+ abstract: false,
474
+ superTypes: ["Relationship"],
475
+ features: {
476
+ "client": { "name": "client", "ecoreName": "client", "kind": "reference", "type": "Element", "lowerBound": 1, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": false, "volatile": false, "redefines": ["Relationship/source"] },
477
+ "supplier": { "name": "supplier", "ecoreName": "supplier", "kind": "reference", "type": "Element", "lowerBound": 1, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": false, "volatile": false, "redefines": ["Relationship/target"] },
478
+ },
479
+ operations: [],
480
+ },
481
+ "Differencing": {
482
+ name: "Differencing",
483
+ abstract: false,
484
+ superTypes: ["Relationship"],
485
+ features: {
486
+ "differencingType": { "name": "differencingType", "ecoreName": "differencingType", "kind": "reference", "type": "Type", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false, "redefines": ["Relationship/target"] },
487
+ "typeDifferenced": { "name": "typeDifferenced", "ecoreName": "typeDifferenced", "kind": "reference", "type": "Type", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "Type/ownedDifferencing", "subsets": ["Relationship/owningRelatedElement"], "redefines": ["Relationship/source"] },
488
+ },
489
+ operations: [],
490
+ },
491
+ "Disjoining": {
492
+ name: "Disjoining",
493
+ abstract: false,
494
+ superTypes: ["Relationship"],
495
+ features: {
496
+ "disjoiningType": { "name": "disjoiningType", "ecoreName": "disjoiningType", "kind": "reference", "type": "Type", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false, "redefines": ["Relationship/target"] },
497
+ "owningType": { "name": "owningType", "ecoreName": "owningType", "kind": "reference", "type": "Type", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "Type/ownedDisjoining", "subsets": ["Relationship/owningRelatedElement", "Disjoining/typeDisjoined"] },
498
+ "typeDisjoined": { "name": "typeDisjoined", "ecoreName": "typeDisjoined", "kind": "reference", "type": "Type", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false, "redefines": ["Relationship/source"] },
499
+ },
500
+ operations: [],
501
+ },
502
+ "Documentation": {
503
+ name: "Documentation",
504
+ abstract: false,
505
+ superTypes: ["Comment"],
506
+ features: {
507
+ "documentedElement": { "name": "documentedElement", "ecoreName": "documentedElement", "kind": "reference", "type": "Element", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "Element/documentation", "subsets": ["Element/owner"], "redefines": ["AnnotatingElement/annotatedElement"] },
508
+ },
509
+ operations: [],
510
+ },
511
+ "Element": {
512
+ name: "Element",
513
+ abstract: true,
514
+ superTypes: [],
515
+ features: {
516
+ "aliasIds": { "name": "aliasIds", "ecoreName": "aliasIds", "kind": "attribute", "type": "EString", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": false, "volatile": false },
517
+ "declaredName": { "name": "declaredName", "ecoreName": "declaredName", "kind": "attribute", "type": "EString", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
518
+ "declaredShortName": { "name": "declaredShortName", "ecoreName": "declaredShortName", "kind": "attribute", "type": "EString", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
519
+ "documentation": { "name": "documentation", "ecoreName": "documentation", "kind": "reference", "type": "Documentation", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "opposite": "Documentation/documentedElement", "subsets": ["Element/ownedElement"], "hasDerivation": true },
520
+ "elementId": { "name": "elementId", "ecoreName": "elementId", "kind": "attribute", "type": "EString", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
521
+ "isImpliedIncluded": { "name": "isImpliedIncluded", "ecoreName": "isImpliedIncluded", "kind": "attribute", "type": "EBoolean", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
522
+ "isLibraryElement": { "name": "isLibraryElement", "ecoreName": "isLibraryElement", "kind": "attribute", "type": "EBoolean", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
523
+ "name": { "name": "name", "ecoreName": "name", "kind": "attribute", "type": "EString", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
524
+ "ownedAnnotation": { "name": "ownedAnnotation", "ecoreName": "ownedAnnotation", "kind": "reference", "type": "Annotation", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "opposite": "Annotation/owningAnnotatedElement", "subsets": ["Element/ownedRelationship"], "hasDerivation": true },
525
+ "ownedElement": { "name": "ownedElement", "ecoreName": "ownedElement", "kind": "reference", "type": "Element", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "opposite": "Element/owner", "hasDerivation": true },
526
+ "ownedRelationship": { "name": "ownedRelationship", "ecoreName": "ownedRelationship", "kind": "reference", "type": "Relationship", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": true, "derived": false, "volatile": false, "opposite": "Relationship/owningRelatedElement" },
527
+ "owner": { "name": "owner", "ecoreName": "owner", "kind": "reference", "type": "Element", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "Element/ownedElement", "hasDerivation": true },
528
+ "owningMembership": { "name": "owningMembership", "ecoreName": "owningMembership", "kind": "reference", "type": "OwningMembership", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "OwningMembership/ownedMemberElement", "subsets": ["Element/owningRelationship"] },
529
+ "owningNamespace": { "name": "owningNamespace", "ecoreName": "owningNamespace", "kind": "reference", "type": "Namespace", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "Namespace/ownedMember", "hasDerivation": true },
530
+ "owningRelationship": { "name": "owningRelationship", "ecoreName": "owningRelationship", "kind": "reference", "type": "Relationship", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false, "opposite": "Relationship/ownedRelatedElement" },
531
+ "qualifiedName": { "name": "qualifiedName", "ecoreName": "qualifiedName", "kind": "attribute", "type": "EString", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
532
+ "shortName": { "name": "shortName", "ecoreName": "shortName", "kind": "attribute", "type": "EString", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
533
+ "textualRepresentation": { "name": "textualRepresentation", "ecoreName": "textualRepresentation", "kind": "reference", "type": "TextualRepresentation", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "opposite": "TextualRepresentation/representedElement", "subsets": ["Element/ownedElement"], "hasDerivation": true },
534
+ },
535
+ operations: [
536
+ { "name": "effectiveName", "type": "string", "lowerBound": 0, "upperBound": 1, "parameters": [], "hasBody": true },
537
+ { "name": "effectiveShortName", "type": "string", "lowerBound": 0, "upperBound": 1, "parameters": [], "hasBody": true },
538
+ { "name": "escapedName", "type": "string", "lowerBound": 0, "upperBound": 1, "parameters": [] },
539
+ { "name": "libraryNamespace", "type": "Namespace", "lowerBound": 0, "upperBound": 1, "parameters": [], "hasBody": true },
540
+ { "name": "path", "type": "string", "lowerBound": 1, "upperBound": 1, "parameters": [], "hasBody": true },
541
+ ],
542
+ },
543
+ "ElementFilterMembership": {
544
+ name: "ElementFilterMembership",
545
+ abstract: false,
546
+ superTypes: ["OwningMembership"],
547
+ features: {
548
+ "condition": { "name": "condition", "ecoreName": "condition", "kind": "reference", "type": "Expression", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["OwningMembership/ownedMemberElement"] },
549
+ },
550
+ operations: [],
551
+ },
552
+ "EndFeatureMembership": {
553
+ name: "EndFeatureMembership",
554
+ abstract: false,
555
+ superTypes: ["FeatureMembership"],
556
+ features: {},
557
+ operations: [],
558
+ },
559
+ "EnumerationDefinition": {
560
+ name: "EnumerationDefinition",
561
+ abstract: false,
562
+ superTypes: ["AttributeDefinition"],
563
+ features: {
564
+ "enumeratedValue": { "name": "enumeratedValue", "ecoreName": "enumeratedValue", "kind": "reference", "type": "EnumerationUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "redefines": ["Definition/variant"] },
565
+ },
566
+ operations: [],
567
+ },
568
+ "EnumerationUsage": {
569
+ name: "EnumerationUsage",
570
+ abstract: false,
571
+ superTypes: ["AttributeUsage"],
572
+ features: {
573
+ "enumerationDefinition": { "name": "enumerationDefinition", "ecoreName": "enumerationDefinition", "kind": "reference", "type": "EnumerationDefinition", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["AttributeUsage/attributeDefinition"] },
574
+ },
575
+ operations: [],
576
+ },
577
+ "EventOccurrenceUsage": {
578
+ name: "EventOccurrenceUsage",
579
+ abstract: false,
580
+ superTypes: ["OccurrenceUsage"],
581
+ features: {
582
+ "eventOccurrence": { "name": "eventOccurrence", "ecoreName": "eventOccurrence", "kind": "reference", "type": "OccurrenceUsage", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
583
+ },
584
+ operations: [],
585
+ },
586
+ "ExhibitStateUsage": {
587
+ name: "ExhibitStateUsage",
588
+ abstract: false,
589
+ superTypes: ["StateUsage", "PerformActionUsage"],
590
+ features: {
591
+ "exhibitedState": { "name": "exhibitedState", "ecoreName": "exhibitedState", "kind": "reference", "type": "StateUsage", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["PerformActionUsage/performedAction"] },
592
+ },
593
+ operations: [],
594
+ },
595
+ "Expose": {
596
+ name: "Expose",
597
+ abstract: true,
598
+ superTypes: ["Import"],
599
+ features: {},
600
+ operations: [],
601
+ },
602
+ "Expression": {
603
+ name: "Expression",
604
+ abstract: false,
605
+ superTypes: ["Step"],
606
+ features: {
607
+ "function": { "name": "function", "ecoreName": "function", "kind": "reference", "type": "Function", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["Step/behavior"] },
608
+ "isModelLevelEvaluable": { "name": "isModelLevelEvaluable", "ecoreName": "isModelLevelEvaluable", "kind": "attribute", "type": "EBoolean", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
609
+ "result": { "name": "result", "ecoreName": "result", "kind": "reference", "type": "Feature", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Type/output", "Step/parameter"], "hasDerivation": true },
610
+ },
611
+ operations: [
612
+ { "name": "checkCondition", "type": "boolean", "lowerBound": 1, "upperBound": 1, "parameters": [{ "name": "target", "type": "Element", "many": false }], "hasBody": true },
613
+ { "name": "evaluate", "type": "Element", "lowerBound": 0, "upperBound": -1, "parameters": [{ "name": "target", "type": "Element", "many": false }], "hasBody": true },
614
+ { "name": "modelLevelEvaluable", "type": "boolean", "lowerBound": 1, "upperBound": 1, "parameters": [{ "name": "visited", "type": "Feature", "many": true }], "hasBody": true },
615
+ ],
616
+ },
617
+ "Feature": {
618
+ name: "Feature",
619
+ abstract: false,
620
+ superTypes: ["Type"],
621
+ features: {
622
+ "chainingFeature": { "name": "chainingFeature", "ecoreName": "chainingFeature", "kind": "reference", "type": "Feature", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
623
+ "crossFeature": { "name": "crossFeature", "ecoreName": "crossFeature", "kind": "reference", "type": "Feature", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
624
+ "direction": { "name": "direction", "ecoreName": "direction", "kind": "attribute", "type": "FeatureDirectionKind", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
625
+ "endOwningType": { "name": "endOwningType", "ecoreName": "endOwningType", "kind": "reference", "type": "Type", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "Type/ownedEndFeature", "subsets": ["Feature/owningType"] },
626
+ "featureTarget": { "name": "featureTarget", "ecoreName": "featureTarget", "kind": "reference", "type": "Feature", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
627
+ "featuringType": { "name": "featuringType", "ecoreName": "featuringType", "kind": "reference", "type": "Type", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
628
+ "isComposite": { "name": "isComposite", "ecoreName": "isComposite", "kind": "attribute", "type": "EBoolean", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
629
+ "isConstant": { "name": "isConstant", "ecoreName": "isConstant", "kind": "attribute", "type": "EBoolean", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
630
+ "isDerived": { "name": "isDerived", "ecoreName": "isDerived", "kind": "attribute", "type": "EBoolean", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
631
+ "isEnd": { "name": "isEnd", "ecoreName": "isEnd", "kind": "attribute", "type": "EBoolean", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
632
+ "isOrdered": { "name": "isOrdered", "ecoreName": "isOrdered", "kind": "attribute", "type": "EBoolean", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
633
+ "isPortion": { "name": "isPortion", "ecoreName": "isPortion", "kind": "attribute", "type": "EBoolean", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
634
+ "isUnique": { "name": "isUnique", "ecoreName": "isUnique", "kind": "attribute", "type": "EBoolean", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
635
+ "isVariable": { "name": "isVariable", "ecoreName": "isVariable", "kind": "attribute", "type": "EBoolean", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
636
+ "ownedCrossSubsetting": { "name": "ownedCrossSubsetting", "ecoreName": "ownedCrossSubsetting", "kind": "reference", "type": "CrossSubsetting", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "CrossSubsetting/crossingFeature", "subsets": ["Feature/ownedSubsetting"], "hasDerivation": true },
637
+ "ownedFeatureChaining": { "name": "ownedFeatureChaining", "ecoreName": "ownedFeatureChaining", "kind": "reference", "type": "FeatureChaining", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "opposite": "FeatureChaining/featureChained", "subsets": ["Element/ownedRelationship"], "hasDerivation": true },
638
+ "ownedFeatureInverting": { "name": "ownedFeatureInverting", "ecoreName": "ownedFeatureInverting", "kind": "reference", "type": "FeatureInverting", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "FeatureInverting/owningFeature", "subsets": ["Element/ownedRelationship"], "hasDerivation": true },
639
+ "ownedRedefinition": { "name": "ownedRedefinition", "ecoreName": "ownedRedefinition", "kind": "reference", "type": "Redefinition", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Feature/ownedSubsetting"], "hasDerivation": true },
640
+ "ownedReferenceSubsetting": { "name": "ownedReferenceSubsetting", "ecoreName": "ownedReferenceSubsetting", "kind": "reference", "type": "ReferenceSubsetting", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "ReferenceSubsetting/referencingFeature", "subsets": ["Feature/ownedSubsetting"], "hasDerivation": true },
641
+ "ownedSubsetting": { "name": "ownedSubsetting", "ecoreName": "ownedSubsetting", "kind": "reference", "type": "Subsetting", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "Subsetting/owningFeature", "subsets": ["Type/ownedSpecialization"], "hasDerivation": true },
642
+ "ownedTypeFeaturing": { "name": "ownedTypeFeaturing", "ecoreName": "ownedTypeFeaturing", "kind": "reference", "type": "TypeFeaturing", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "opposite": "TypeFeaturing/owningFeatureOfType", "subsets": ["Element/ownedRelationship"], "hasDerivation": true },
643
+ "ownedTyping": { "name": "ownedTyping", "ecoreName": "ownedTyping", "kind": "reference", "type": "FeatureTyping", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "opposite": "FeatureTyping/owningFeature", "subsets": ["Type/ownedSpecialization"], "hasDerivation": true },
644
+ "owningFeatureMembership": { "name": "owningFeatureMembership", "ecoreName": "owningFeatureMembership", "kind": "reference", "type": "FeatureMembership", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "FeatureMembership/ownedMemberFeature", "subsets": ["Element/owningMembership"] },
645
+ "owningType": { "name": "owningType", "ecoreName": "owningType", "kind": "reference", "type": "Type", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "Type/ownedFeature", "subsets": ["Element/owningNamespace", "Feature/featuringType"] },
646
+ "type": { "name": "type", "ecoreName": "type", "kind": "reference", "type": "Type", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
647
+ },
648
+ operations: [
649
+ { "name": "allRedefinedFeatures", "type": "Feature", "lowerBound": 0, "upperBound": -1, "parameters": [], "hasBody": true },
650
+ { "name": "asCartesianProduct", "type": "Type", "lowerBound": 0, "upperBound": -1, "parameters": [], "hasBody": true },
651
+ { "name": "canAccess", "type": "boolean", "lowerBound": 1, "upperBound": 1, "parameters": [{ "name": "feature", "type": "Feature", "many": false }], "hasBody": true },
652
+ { "name": "directionFor", "type": "FeatureDirectionKind", "lowerBound": 0, "upperBound": 1, "parameters": [{ "name": "type", "type": "Type", "many": false }], "hasBody": true },
653
+ { "name": "isCartesianProduct", "type": "boolean", "lowerBound": 1, "upperBound": 1, "parameters": [], "hasBody": true },
654
+ { "name": "isFeaturedWithin", "type": "boolean", "lowerBound": 1, "upperBound": 1, "parameters": [{ "name": "type", "type": "Type", "many": false }], "hasBody": true },
655
+ { "name": "isFeaturingType", "type": "boolean", "lowerBound": 1, "upperBound": 1, "parameters": [{ "name": "type", "type": "Type", "many": false }], "hasBody": true },
656
+ { "name": "isOwnedCrossFeature", "type": "boolean", "lowerBound": 1, "upperBound": 1, "parameters": [], "hasBody": true },
657
+ { "name": "namingFeature", "type": "Feature", "lowerBound": 0, "upperBound": 1, "parameters": [], "hasBody": true },
658
+ { "name": "ownedCrossFeature", "type": "Feature", "lowerBound": 0, "upperBound": 1, "parameters": [], "hasBody": true },
659
+ { "name": "redefines", "type": "boolean", "lowerBound": 1, "upperBound": 1, "parameters": [{ "name": "redefinedFeature", "type": "Feature", "many": false }], "hasBody": true },
660
+ { "name": "redefinesFromLibrary", "type": "boolean", "lowerBound": 1, "upperBound": 1, "parameters": [{ "name": "libraryFeatureName", "type": "string", "many": false }], "hasBody": true },
661
+ { "name": "subsetsChain", "type": "boolean", "lowerBound": 1, "upperBound": 1, "parameters": [{ "name": "first", "type": "Feature", "many": false }, { "name": "second", "type": "Feature", "many": false }], "hasBody": true },
662
+ { "name": "typingFeatures", "type": "Feature", "lowerBound": 0, "upperBound": -1, "parameters": [], "hasBody": true },
663
+ ],
664
+ },
665
+ "FeatureChainExpression": {
666
+ name: "FeatureChainExpression",
667
+ abstract: false,
668
+ superTypes: ["OperatorExpression"],
669
+ features: {
670
+ "targetFeature": { "name": "targetFeature", "ecoreName": "targetFeature", "kind": "reference", "type": "Feature", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Namespace/member"], "hasDerivation": true },
671
+ },
672
+ operations: [
673
+ { "name": "sourceTargetFeature", "type": "Feature", "lowerBound": 0, "upperBound": 1, "parameters": [], "hasBody": true },
674
+ ],
675
+ },
676
+ "FeatureChaining": {
677
+ name: "FeatureChaining",
678
+ abstract: false,
679
+ superTypes: ["Relationship"],
680
+ features: {
681
+ "chainingFeature": { "name": "chainingFeature", "ecoreName": "chainingFeature", "kind": "reference", "type": "Feature", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false, "redefines": ["Relationship/target"] },
682
+ "featureChained": { "name": "featureChained", "ecoreName": "featureChained", "kind": "reference", "type": "Feature", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "Feature/ownedFeatureChaining", "subsets": ["Relationship/owningRelatedElement"], "redefines": ["Relationship/source"] },
683
+ },
684
+ operations: [],
685
+ },
686
+ "FeatureInverting": {
687
+ name: "FeatureInverting",
688
+ abstract: false,
689
+ superTypes: ["Relationship"],
690
+ features: {
691
+ "featureInverted": { "name": "featureInverted", "ecoreName": "featureInverted", "kind": "reference", "type": "Feature", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false, "redefines": ["Relationship/source"] },
692
+ "invertingFeature": { "name": "invertingFeature", "ecoreName": "invertingFeature", "kind": "reference", "type": "Feature", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false, "redefines": ["Relationship/target"] },
693
+ "owningFeature": { "name": "owningFeature", "ecoreName": "owningFeature", "kind": "reference", "type": "Feature", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "Feature/ownedFeatureInverting", "subsets": ["FeatureInverting/featureInverted", "Relationship/owningRelatedElement"] },
694
+ },
695
+ operations: [],
696
+ },
697
+ "FeatureMembership": {
698
+ name: "FeatureMembership",
699
+ abstract: false,
700
+ superTypes: ["OwningMembership"],
701
+ features: {
702
+ "ownedMemberFeature": { "name": "ownedMemberFeature", "ecoreName": "ownedMemberFeature", "kind": "reference", "type": "Feature", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "Feature/owningFeatureMembership", "redefines": ["OwningMembership/ownedMemberElement"] },
703
+ "owningType": { "name": "owningType", "ecoreName": "owningType", "kind": "reference", "type": "Type", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "Type/ownedFeatureMembership", "redefines": ["Membership/membershipOwningNamespace"] },
704
+ },
705
+ operations: [],
706
+ },
707
+ "FeatureReferenceExpression": {
708
+ name: "FeatureReferenceExpression",
709
+ abstract: false,
710
+ superTypes: ["Expression"],
711
+ features: {
712
+ "referent": { "name": "referent", "ecoreName": "referent", "kind": "reference", "type": "Feature", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Namespace/member"], "hasDerivation": true },
713
+ },
714
+ operations: [],
715
+ },
716
+ "FeatureTyping": {
717
+ name: "FeatureTyping",
718
+ abstract: false,
719
+ superTypes: ["Specialization"],
720
+ features: {
721
+ "owningFeature": { "name": "owningFeature", "ecoreName": "owningFeature", "kind": "reference", "type": "Feature", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "Feature/ownedTyping", "subsets": ["FeatureTyping/typedFeature"], "redefines": ["Specialization/owningType"] },
722
+ "type": { "name": "type", "ecoreName": "type", "kind": "reference", "type": "Type", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false, "redefines": ["Specialization/general"] },
723
+ "typedFeature": { "name": "typedFeature", "ecoreName": "typedFeature", "kind": "reference", "type": "Feature", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false, "redefines": ["Specialization/specific"] },
724
+ },
725
+ operations: [],
726
+ },
727
+ "FeatureValue": {
728
+ name: "FeatureValue",
729
+ abstract: false,
730
+ superTypes: ["OwningMembership"],
731
+ features: {
732
+ "featureWithValue": { "name": "featureWithValue", "ecoreName": "featureWithValue", "kind": "reference", "type": "Feature", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Membership/membershipOwningNamespace"] },
733
+ "isDefault": { "name": "isDefault", "ecoreName": "isDefault", "kind": "attribute", "type": "EBoolean", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
734
+ "isInitial": { "name": "isInitial", "ecoreName": "isInitial", "kind": "attribute", "type": "EBoolean", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
735
+ "value": { "name": "value", "ecoreName": "value", "kind": "reference", "type": "Expression", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["OwningMembership/ownedMemberElement"] },
736
+ },
737
+ operations: [],
738
+ },
739
+ "Flow": {
740
+ name: "Flow",
741
+ abstract: false,
742
+ superTypes: ["Connector", "Step"],
743
+ features: {
744
+ "flowEnd": { "name": "flowEnd", "ecoreName": "flowEnd", "kind": "reference", "type": "FlowEnd", "lowerBound": 0, "upperBound": 2, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Connector/connectorEnd"], "hasDerivation": true },
745
+ "interaction": { "name": "interaction", "ecoreName": "interaction", "kind": "reference", "type": "Interaction", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "redefines": ["Connector/association", "Step/behavior"] },
746
+ "payloadFeature": { "name": "payloadFeature", "ecoreName": "payloadFeature", "kind": "reference", "type": "PayloadFeature", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Type/ownedFeature"], "hasDerivation": true },
747
+ "payloadType": { "name": "payloadType", "ecoreName": "payloadType", "kind": "reference", "type": "Classifier", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
748
+ "sourceOutputFeature": { "name": "sourceOutputFeature", "ecoreName": "sourceOutputFeature", "kind": "reference", "type": "Feature", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": true, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
749
+ "targetInputFeature": { "name": "targetInputFeature", "ecoreName": "targetInputFeature", "kind": "reference", "type": "Feature", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": true, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
750
+ },
751
+ operations: [],
752
+ },
753
+ "FlowDefinition": {
754
+ name: "FlowDefinition",
755
+ abstract: false,
756
+ superTypes: ["ActionDefinition", "Interaction"],
757
+ features: {
758
+ "flowEnd": { "name": "flowEnd", "ecoreName": "flowEnd", "kind": "reference", "type": "Usage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["Association/associationEnd"] },
759
+ },
760
+ operations: [],
761
+ },
762
+ "FlowEnd": {
763
+ name: "FlowEnd",
764
+ abstract: false,
765
+ superTypes: ["Feature"],
766
+ features: {},
767
+ operations: [],
768
+ },
769
+ "FlowUsage": {
770
+ name: "FlowUsage",
771
+ abstract: false,
772
+ superTypes: ["ConnectorAsUsage", "ActionUsage", "Flow"],
773
+ features: {
774
+ "flowDefinition": { "name": "flowDefinition", "ecoreName": "flowDefinition", "kind": "reference", "type": "Interaction", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "redefines": ["ActionUsage/actionDefinition", "Flow/interaction"] },
775
+ },
776
+ operations: [],
777
+ },
778
+ "ForLoopActionUsage": {
779
+ name: "ForLoopActionUsage",
780
+ abstract: false,
781
+ superTypes: ["LoopActionUsage"],
782
+ features: {
783
+ "loopVariable": { "name": "loopVariable", "ecoreName": "loopVariable", "kind": "reference", "type": "ReferenceUsage", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
784
+ "seqArgument": { "name": "seqArgument", "ecoreName": "seqArgument", "kind": "reference", "type": "Expression", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
785
+ },
786
+ operations: [],
787
+ },
788
+ "ForkNode": {
789
+ name: "ForkNode",
790
+ abstract: false,
791
+ superTypes: ["ControlNode"],
792
+ features: {},
793
+ operations: [],
794
+ },
795
+ "FramedConcernMembership": {
796
+ name: "FramedConcernMembership",
797
+ abstract: false,
798
+ superTypes: ["RequirementConstraintMembership"],
799
+ features: {
800
+ "ownedConcern": { "name": "ownedConcern", "ecoreName": "ownedConcern", "kind": "reference", "type": "ConcernUsage", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["RequirementConstraintMembership/ownedConstraint"] },
801
+ "referencedConcern": { "name": "referencedConcern", "ecoreName": "referencedConcern", "kind": "reference", "type": "ConcernUsage", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["RequirementConstraintMembership/referencedConstraint"] },
802
+ },
803
+ operations: [],
804
+ },
805
+ "Function": {
806
+ name: "Function",
807
+ abstract: false,
808
+ superTypes: ["Behavior"],
809
+ features: {
810
+ "expression": { "name": "expression", "ecoreName": "expression", "kind": "reference", "type": "Expression", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Behavior/step"] },
811
+ "isModelLevelEvaluable": { "name": "isModelLevelEvaluable", "ecoreName": "isModelLevelEvaluable", "kind": "attribute", "type": "EBoolean", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true },
812
+ "result": { "name": "result", "ecoreName": "result", "kind": "reference", "type": "Feature", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Type/output", "Behavior/parameter"], "hasDerivation": true },
813
+ },
814
+ operations: [],
815
+ },
816
+ "IfActionUsage": {
817
+ name: "IfActionUsage",
818
+ abstract: false,
819
+ superTypes: ["ActionUsage"],
820
+ features: {
821
+ "elseAction": { "name": "elseAction", "ecoreName": "elseAction", "kind": "reference", "type": "ActionUsage", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
822
+ "ifArgument": { "name": "ifArgument", "ecoreName": "ifArgument", "kind": "reference", "type": "Expression", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
823
+ "thenAction": { "name": "thenAction", "ecoreName": "thenAction", "kind": "reference", "type": "ActionUsage", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
824
+ },
825
+ operations: [],
826
+ },
827
+ "Import": {
828
+ name: "Import",
829
+ abstract: true,
830
+ superTypes: ["Relationship"],
831
+ features: {
832
+ "importOwningNamespace": { "name": "importOwningNamespace", "ecoreName": "importOwningNamespace", "kind": "reference", "type": "Namespace", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "Namespace/ownedImport", "subsets": ["Relationship/owningRelatedElement"], "redefines": ["Relationship/source"] },
833
+ "importedElement": { "name": "importedElement", "ecoreName": "importedElement", "kind": "reference", "type": "Element", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true },
834
+ "isImportAll": { "name": "isImportAll", "ecoreName": "isImportAll", "kind": "attribute", "type": "EBoolean", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
835
+ "isRecursive": { "name": "isRecursive", "ecoreName": "isRecursive", "kind": "attribute", "type": "EBoolean", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
836
+ "visibility": { "name": "visibility", "ecoreName": "visibility", "kind": "attribute", "type": "VisibilityKind", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
837
+ },
838
+ operations: [
839
+ { "name": "importedMemberships", "type": "Membership", "lowerBound": 0, "upperBound": -1, "parameters": [{ "name": "excluded", "type": "Namespace", "many": true }] },
840
+ ],
841
+ },
842
+ "IncludeUseCaseUsage": {
843
+ name: "IncludeUseCaseUsage",
844
+ abstract: false,
845
+ superTypes: ["UseCaseUsage", "PerformActionUsage"],
846
+ features: {
847
+ "useCaseIncluded": { "name": "useCaseIncluded", "ecoreName": "useCaseIncluded", "kind": "reference", "type": "UseCaseUsage", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["PerformActionUsage/performedAction"] },
848
+ },
849
+ operations: [],
850
+ },
851
+ "IndexExpression": {
852
+ name: "IndexExpression",
853
+ abstract: false,
854
+ superTypes: ["OperatorExpression"],
855
+ features: {},
856
+ operations: [],
857
+ },
858
+ "InstantiationExpression": {
859
+ name: "InstantiationExpression",
860
+ abstract: true,
861
+ superTypes: ["Expression"],
862
+ features: {
863
+ "argument": { "name": "argument", "ecoreName": "argument", "kind": "reference", "type": "Expression", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true },
864
+ "instantiatedType": { "name": "instantiatedType", "ecoreName": "instantiatedType", "kind": "reference", "type": "Type", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Namespace/member"], "hasDerivation": true },
865
+ },
866
+ operations: [
867
+ { "name": "instantiatedType", "type": "Type", "lowerBound": 0, "upperBound": 1, "parameters": [], "hasBody": true },
868
+ ],
869
+ },
870
+ "Interaction": {
871
+ name: "Interaction",
872
+ abstract: false,
873
+ superTypes: ["Association", "Behavior"],
874
+ features: {},
875
+ operations: [],
876
+ },
877
+ "InterfaceDefinition": {
878
+ name: "InterfaceDefinition",
879
+ abstract: false,
880
+ superTypes: ["ConnectionDefinition"],
881
+ features: {
882
+ "interfaceEnd": { "name": "interfaceEnd", "ecoreName": "interfaceEnd", "kind": "reference", "type": "PortUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "redefines": ["ConnectionDefinition/connectionEnd"] },
883
+ },
884
+ operations: [],
885
+ },
886
+ "InterfaceUsage": {
887
+ name: "InterfaceUsage",
888
+ abstract: false,
889
+ superTypes: ["ConnectionUsage"],
890
+ features: {
891
+ "interfaceDefinition": { "name": "interfaceDefinition", "ecoreName": "interfaceDefinition", "kind": "reference", "type": "InterfaceDefinition", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["ConnectionUsage/connectionDefinition"] },
892
+ },
893
+ operations: [],
894
+ },
895
+ "Intersecting": {
896
+ name: "Intersecting",
897
+ abstract: false,
898
+ superTypes: ["Relationship"],
899
+ features: {
900
+ "intersectingType": { "name": "intersectingType", "ecoreName": "intersectingType", "kind": "reference", "type": "Type", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false, "redefines": ["Relationship/target"] },
901
+ "typeIntersected": { "name": "typeIntersected", "ecoreName": "typeIntersected", "kind": "reference", "type": "Type", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "Type/ownedIntersecting", "subsets": ["Relationship/owningRelatedElement"], "redefines": ["Relationship/source"] },
902
+ },
903
+ operations: [],
904
+ },
905
+ "Invariant": {
906
+ name: "Invariant",
907
+ abstract: false,
908
+ superTypes: ["BooleanExpression"],
909
+ features: {
910
+ "isNegated": { "name": "isNegated", "ecoreName": "isNegated", "kind": "attribute", "type": "EBoolean", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
911
+ },
912
+ operations: [],
913
+ },
914
+ "InvocationExpression": {
915
+ name: "InvocationExpression",
916
+ abstract: false,
917
+ superTypes: ["InstantiationExpression"],
918
+ features: {
919
+ "operand": { "name": "operand", "ecoreName": "operand", "kind": "reference", "type": "Expression", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": true, "derived": true, "volatile": true },
920
+ },
921
+ operations: [],
922
+ },
923
+ "ItemDefinition": {
924
+ name: "ItemDefinition",
925
+ abstract: false,
926
+ superTypes: ["OccurrenceDefinition", "Structure"],
927
+ features: {},
928
+ operations: [],
929
+ },
930
+ "ItemUsage": {
931
+ name: "ItemUsage",
932
+ abstract: false,
933
+ superTypes: ["OccurrenceUsage"],
934
+ features: {
935
+ "itemDefinition": { "name": "itemDefinition", "ecoreName": "itemDefinition", "kind": "reference", "type": "Structure", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["OccurrenceUsage/occurrenceDefinition"], "hasDerivation": true },
936
+ },
937
+ operations: [],
938
+ },
939
+ "JoinNode": {
940
+ name: "JoinNode",
941
+ abstract: false,
942
+ superTypes: ["ControlNode"],
943
+ features: {},
944
+ operations: [],
945
+ },
946
+ "LibraryPackage": {
947
+ name: "LibraryPackage",
948
+ abstract: false,
949
+ superTypes: ["Package"],
950
+ features: {
951
+ "isStandard": { "name": "isStandard", "ecoreName": "isStandard", "kind": "attribute", "type": "EBoolean", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
952
+ },
953
+ operations: [],
954
+ },
955
+ "LiteralBoolean": {
956
+ name: "LiteralBoolean",
957
+ abstract: false,
958
+ superTypes: ["LiteralExpression"],
959
+ features: {
960
+ "value": { "name": "value", "ecoreName": "value", "kind": "attribute", "type": "EBoolean", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
961
+ },
962
+ operations: [],
963
+ },
964
+ "LiteralExpression": {
965
+ name: "LiteralExpression",
966
+ abstract: false,
967
+ superTypes: ["Expression"],
968
+ features: {},
969
+ operations: [],
970
+ },
971
+ "LiteralInfinity": {
972
+ name: "LiteralInfinity",
973
+ abstract: false,
974
+ superTypes: ["LiteralExpression"],
975
+ features: {},
976
+ operations: [],
977
+ },
978
+ "LiteralInteger": {
979
+ name: "LiteralInteger",
980
+ abstract: false,
981
+ superTypes: ["LiteralExpression"],
982
+ features: {
983
+ "value": { "name": "value", "ecoreName": "value", "kind": "attribute", "type": "EInt", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
984
+ },
985
+ operations: [],
986
+ },
987
+ "LiteralRational": {
988
+ name: "LiteralRational",
989
+ abstract: false,
990
+ superTypes: ["LiteralExpression"],
991
+ features: {
992
+ "value": { "name": "value", "ecoreName": "value", "kind": "attribute", "type": "EDouble", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
993
+ },
994
+ operations: [],
995
+ },
996
+ "LiteralString": {
997
+ name: "LiteralString",
998
+ abstract: false,
999
+ superTypes: ["LiteralExpression"],
1000
+ features: {
1001
+ "value": { "name": "value", "ecoreName": "value", "kind": "attribute", "type": "EString", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
1002
+ },
1003
+ operations: [],
1004
+ },
1005
+ "LoopActionUsage": {
1006
+ name: "LoopActionUsage",
1007
+ abstract: true,
1008
+ superTypes: ["ActionUsage"],
1009
+ features: {
1010
+ "bodyAction": { "name": "bodyAction", "ecoreName": "bodyAction", "kind": "reference", "type": "ActionUsage", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
1011
+ },
1012
+ operations: [],
1013
+ },
1014
+ "Membership": {
1015
+ name: "Membership",
1016
+ abstract: false,
1017
+ superTypes: ["Relationship"],
1018
+ features: {
1019
+ "memberElement": { "name": "memberElement", "ecoreName": "memberElement", "kind": "reference", "type": "Element", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false, "redefines": ["Relationship/target"] },
1020
+ "memberElementId": { "name": "memberElementId", "ecoreName": "memberElementId", "kind": "attribute", "type": "EString", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
1021
+ "memberName": { "name": "memberName", "ecoreName": "memberName", "kind": "attribute", "type": "EString", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
1022
+ "memberShortName": { "name": "memberShortName", "ecoreName": "memberShortName", "kind": "attribute", "type": "EString", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
1023
+ "membershipOwningNamespace": { "name": "membershipOwningNamespace", "ecoreName": "membershipOwningNamespace", "kind": "reference", "type": "Namespace", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "Namespace/ownedMembership", "subsets": ["Relationship/owningRelatedElement"], "redefines": ["Relationship/source"] },
1024
+ "visibility": { "name": "visibility", "ecoreName": "visibility", "kind": "attribute", "type": "VisibilityKind", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
1025
+ },
1026
+ operations: [
1027
+ { "name": "isDistinguishableFrom", "type": "boolean", "lowerBound": 1, "upperBound": 1, "parameters": [{ "name": "other", "type": "Membership", "many": false }], "hasBody": true },
1028
+ ],
1029
+ },
1030
+ "MembershipExpose": {
1031
+ name: "MembershipExpose",
1032
+ abstract: false,
1033
+ superTypes: ["MembershipImport", "Expose"],
1034
+ features: {},
1035
+ operations: [],
1036
+ },
1037
+ "MembershipImport": {
1038
+ name: "MembershipImport",
1039
+ abstract: false,
1040
+ superTypes: ["Import"],
1041
+ features: {
1042
+ "importedMembership": { "name": "importedMembership", "ecoreName": "importedMembership", "kind": "reference", "type": "Membership", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false, "redefines": ["Relationship/target"] },
1043
+ },
1044
+ operations: [],
1045
+ },
1046
+ "MergeNode": {
1047
+ name: "MergeNode",
1048
+ abstract: false,
1049
+ superTypes: ["ControlNode"],
1050
+ features: {},
1051
+ operations: [],
1052
+ },
1053
+ "Metaclass": {
1054
+ name: "Metaclass",
1055
+ abstract: false,
1056
+ superTypes: ["Structure"],
1057
+ features: {},
1058
+ operations: [],
1059
+ },
1060
+ "MetadataAccessExpression": {
1061
+ name: "MetadataAccessExpression",
1062
+ abstract: false,
1063
+ superTypes: ["Expression"],
1064
+ features: {
1065
+ "referencedElement": { "name": "referencedElement", "ecoreName": "referencedElement", "kind": "reference", "type": "Element", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Namespace/member"], "hasDerivation": true },
1066
+ },
1067
+ operations: [
1068
+ { "name": "metaclassFeature", "type": "MetadataFeature", "lowerBound": 1, "upperBound": 1, "parameters": [] },
1069
+ ],
1070
+ },
1071
+ "MetadataDefinition": {
1072
+ name: "MetadataDefinition",
1073
+ abstract: false,
1074
+ superTypes: ["ItemDefinition", "Metaclass"],
1075
+ features: {},
1076
+ operations: [],
1077
+ },
1078
+ "MetadataFeature": {
1079
+ name: "MetadataFeature",
1080
+ abstract: false,
1081
+ superTypes: ["Feature", "AnnotatingElement"],
1082
+ features: {
1083
+ "metaclass": { "name": "metaclass", "ecoreName": "metaclass", "kind": "reference", "type": "Metaclass", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Feature/type"], "hasDerivation": true },
1084
+ },
1085
+ operations: [
1086
+ { "name": "evaluateFeature", "type": "Element", "lowerBound": 0, "upperBound": -1, "parameters": [{ "name": "baseFeature", "type": "Feature", "many": false }], "hasBody": true },
1087
+ { "name": "isSemantic", "type": "boolean", "lowerBound": 1, "upperBound": 1, "parameters": [], "hasBody": true },
1088
+ { "name": "isSyntactic", "type": "boolean", "lowerBound": 1, "upperBound": 1, "parameters": [], "hasBody": true },
1089
+ { "name": "syntaxElement", "type": "Element", "lowerBound": 0, "upperBound": 1, "parameters": [] },
1090
+ ],
1091
+ },
1092
+ "MetadataUsage": {
1093
+ name: "MetadataUsage",
1094
+ abstract: false,
1095
+ superTypes: ["ItemUsage", "MetadataFeature"],
1096
+ features: {
1097
+ "metadataDefinition": { "name": "metadataDefinition", "ecoreName": "metadataDefinition", "kind": "reference", "type": "Metaclass", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["ItemUsage/itemDefinition", "MetadataFeature/metaclass"] },
1098
+ },
1099
+ operations: [],
1100
+ },
1101
+ "Multiplicity": {
1102
+ name: "Multiplicity",
1103
+ abstract: false,
1104
+ superTypes: ["Feature"],
1105
+ features: {},
1106
+ operations: [],
1107
+ },
1108
+ "MultiplicityRange": {
1109
+ name: "MultiplicityRange",
1110
+ abstract: false,
1111
+ superTypes: ["Multiplicity"],
1112
+ features: {
1113
+ "bound": { "name": "bound", "ecoreName": "bound", "kind": "reference", "type": "Expression", "lowerBound": 1, "upperBound": 2, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Namespace/ownedMember"], "hasDerivation": true },
1114
+ "lowerBound": { "name": "lowerBound", "ecoreName": "lowerBound", "kind": "reference", "type": "Expression", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["MultiplicityRange/bound"], "hasDerivation": true },
1115
+ "upperBound": { "name": "upperBound", "ecoreName": "upperBound", "kind": "reference", "type": "Expression", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["MultiplicityRange/bound"], "hasDerivation": true },
1116
+ },
1117
+ operations: [
1118
+ { "name": "hasBounds", "type": "boolean", "lowerBound": 1, "upperBound": 1, "parameters": [{ "name": "lower", "type": "number", "many": false }, { "name": "upper", "type": "number", "many": false }], "hasBody": true },
1119
+ { "name": "valueOf", "type": "number", "lowerBound": 0, "upperBound": 1, "parameters": [{ "name": "bound", "type": "Expression", "many": false }], "hasBody": true },
1120
+ ],
1121
+ },
1122
+ "Namespace": {
1123
+ name: "Namespace",
1124
+ abstract: false,
1125
+ superTypes: ["Element"],
1126
+ features: {
1127
+ "importedMembership": { "name": "importedMembership", "ecoreName": "importedMembership", "kind": "reference", "type": "Membership", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Namespace/membership"], "hasDerivation": true },
1128
+ "member": { "name": "member", "ecoreName": "member", "kind": "reference", "type": "Element", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
1129
+ "membership": { "name": "membership", "ecoreName": "membership", "kind": "reference", "type": "Membership", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "union": true },
1130
+ "ownedImport": { "name": "ownedImport", "ecoreName": "ownedImport", "kind": "reference", "type": "Import", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "opposite": "Import/importOwningNamespace", "subsets": ["Element/ownedRelationship"], "hasDerivation": true },
1131
+ "ownedMember": { "name": "ownedMember", "ecoreName": "ownedMember", "kind": "reference", "type": "Element", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "opposite": "Element/owningNamespace", "subsets": ["Namespace/member"], "hasDerivation": true },
1132
+ "ownedMembership": { "name": "ownedMembership", "ecoreName": "ownedMembership", "kind": "reference", "type": "Membership", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "opposite": "Membership/membershipOwningNamespace", "subsets": ["Namespace/membership", "Element/ownedRelationship"], "hasDerivation": true },
1133
+ },
1134
+ operations: [
1135
+ { "name": "importedMemberships", "type": "Membership", "lowerBound": 0, "upperBound": -1, "parameters": [{ "name": "excluded", "type": "Namespace", "many": true }], "hasBody": true },
1136
+ { "name": "membershipsOfVisibility", "type": "Membership", "lowerBound": 0, "upperBound": -1, "parameters": [{ "name": "visibility", "type": "VisibilityKind", "many": false }, { "name": "excluded", "type": "Namespace", "many": true }], "hasBody": true },
1137
+ { "name": "namesOf", "type": "string", "lowerBound": 0, "upperBound": -1, "parameters": [{ "name": "element", "type": "Element", "many": false }], "hasBody": true },
1138
+ { "name": "qualificationOf", "type": "string", "lowerBound": 0, "upperBound": 1, "parameters": [{ "name": "qualifiedName", "type": "string", "many": false }] },
1139
+ { "name": "resolve", "type": "Membership", "lowerBound": 0, "upperBound": 1, "parameters": [{ "name": "qualifiedName", "type": "string", "many": false }], "hasBody": true },
1140
+ { "name": "resolveGlobal", "type": "Membership", "lowerBound": 0, "upperBound": 1, "parameters": [{ "name": "qualifiedName", "type": "string", "many": false }] },
1141
+ { "name": "resolveLocal", "type": "Membership", "lowerBound": 0, "upperBound": 1, "parameters": [{ "name": "name", "type": "string", "many": false }], "hasBody": true },
1142
+ { "name": "resolveVisible", "type": "Membership", "lowerBound": 0, "upperBound": 1, "parameters": [{ "name": "name", "type": "string", "many": false }], "hasBody": true },
1143
+ { "name": "unqualifiedNameOf", "type": "string", "lowerBound": 1, "upperBound": 1, "parameters": [{ "name": "qualifiedName", "type": "string", "many": false }] },
1144
+ { "name": "visibilityOf", "type": "VisibilityKind", "lowerBound": 1, "upperBound": 1, "parameters": [{ "name": "mem", "type": "Membership", "many": false }], "hasBody": true },
1145
+ { "name": "visibleMemberships", "type": "Membership", "lowerBound": 0, "upperBound": -1, "parameters": [{ "name": "excluded", "type": "Namespace", "many": true }, { "name": "isRecursive", "type": "boolean", "many": false }, { "name": "includeAll", "type": "boolean", "many": false }], "hasBody": true },
1146
+ ],
1147
+ },
1148
+ "NamespaceExpose": {
1149
+ name: "NamespaceExpose",
1150
+ abstract: false,
1151
+ superTypes: ["NamespaceImport", "Expose"],
1152
+ features: {},
1153
+ operations: [],
1154
+ },
1155
+ "NamespaceImport": {
1156
+ name: "NamespaceImport",
1157
+ abstract: false,
1158
+ superTypes: ["Import"],
1159
+ features: {
1160
+ "importedNamespace": { "name": "importedNamespace", "ecoreName": "importedNamespace", "kind": "reference", "type": "Namespace", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false, "redefines": ["Relationship/target"] },
1161
+ },
1162
+ operations: [],
1163
+ },
1164
+ "NullExpression": {
1165
+ name: "NullExpression",
1166
+ abstract: false,
1167
+ superTypes: ["Expression"],
1168
+ features: {},
1169
+ operations: [],
1170
+ },
1171
+ "ObjectiveMembership": {
1172
+ name: "ObjectiveMembership",
1173
+ abstract: false,
1174
+ superTypes: ["FeatureMembership"],
1175
+ features: {
1176
+ "ownedObjectiveRequirement": { "name": "ownedObjectiveRequirement", "ecoreName": "ownedObjectiveRequirement", "kind": "reference", "type": "RequirementUsage", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["FeatureMembership/ownedMemberFeature"] },
1177
+ },
1178
+ operations: [],
1179
+ },
1180
+ "OccurrenceDefinition": {
1181
+ name: "OccurrenceDefinition",
1182
+ abstract: false,
1183
+ superTypes: ["Definition", "Class"],
1184
+ features: {
1185
+ "isIndividual": { "name": "isIndividual", "ecoreName": "isIndividual", "kind": "attribute", "type": "EBoolean", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
1186
+ },
1187
+ operations: [],
1188
+ },
1189
+ "OccurrenceUsage": {
1190
+ name: "OccurrenceUsage",
1191
+ abstract: false,
1192
+ superTypes: ["Usage"],
1193
+ features: {
1194
+ "individualDefinition": { "name": "individualDefinition", "ecoreName": "individualDefinition", "kind": "reference", "type": "OccurrenceDefinition", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["OccurrenceUsage/occurrenceDefinition"], "hasDerivation": true },
1195
+ "isIndividual": { "name": "isIndividual", "ecoreName": "isIndividual", "kind": "attribute", "type": "EBoolean", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
1196
+ "occurrenceDefinition": { "name": "occurrenceDefinition", "ecoreName": "occurrenceDefinition", "kind": "reference", "type": "Class", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "redefines": ["Usage/definition"] },
1197
+ "portionKind": { "name": "portionKind", "ecoreName": "portionKind", "kind": "attribute", "type": "PortionKind", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
1198
+ },
1199
+ operations: [],
1200
+ },
1201
+ "OperatorExpression": {
1202
+ name: "OperatorExpression",
1203
+ abstract: false,
1204
+ superTypes: ["InvocationExpression"],
1205
+ features: {
1206
+ "operator": { "name": "operator", "ecoreName": "operator", "kind": "attribute", "type": "EString", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
1207
+ },
1208
+ operations: [],
1209
+ },
1210
+ "OwningMembership": {
1211
+ name: "OwningMembership",
1212
+ abstract: false,
1213
+ superTypes: ["Membership"],
1214
+ features: {
1215
+ "ownedMemberElement": { "name": "ownedMemberElement", "ecoreName": "ownedMemberElement", "kind": "reference", "type": "Element", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "Element/owningMembership", "subsets": ["Relationship/ownedRelatedElement"], "redefines": ["Membership/memberElement"] },
1216
+ "ownedMemberElementId": { "name": "ownedMemberElementId", "ecoreName": "ownedMemberElementId", "kind": "attribute", "type": "EString", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["Membership/memberElementId"] },
1217
+ "ownedMemberName": { "name": "ownedMemberName", "ecoreName": "ownedMemberName", "kind": "attribute", "type": "EString", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["Membership/memberName"], "hasDerivation": true },
1218
+ "ownedMemberShortName": { "name": "ownedMemberShortName", "ecoreName": "ownedMemberShortName", "kind": "attribute", "type": "EString", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["Membership/memberShortName"], "hasDerivation": true },
1219
+ },
1220
+ operations: [],
1221
+ },
1222
+ "Package": {
1223
+ name: "Package",
1224
+ abstract: false,
1225
+ superTypes: ["Namespace"],
1226
+ features: {
1227
+ "filterCondition": { "name": "filterCondition", "ecoreName": "filterCondition", "kind": "reference", "type": "Expression", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Namespace/ownedMember"], "hasDerivation": true },
1228
+ },
1229
+ operations: [
1230
+ { "name": "includeAsMember", "type": "boolean", "lowerBound": 1, "upperBound": 1, "parameters": [{ "name": "element", "type": "Element", "many": false }], "hasBody": true },
1231
+ ],
1232
+ },
1233
+ "ParameterMembership": {
1234
+ name: "ParameterMembership",
1235
+ abstract: false,
1236
+ superTypes: ["FeatureMembership"],
1237
+ features: {
1238
+ "ownedMemberParameter": { "name": "ownedMemberParameter", "ecoreName": "ownedMemberParameter", "kind": "reference", "type": "Feature", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["FeatureMembership/ownedMemberFeature"] },
1239
+ },
1240
+ operations: [
1241
+ { "name": "parameterDirection", "type": "FeatureDirectionKind", "lowerBound": 1, "upperBound": 1, "parameters": [], "hasBody": true },
1242
+ ],
1243
+ },
1244
+ "PartDefinition": {
1245
+ name: "PartDefinition",
1246
+ abstract: false,
1247
+ superTypes: ["ItemDefinition"],
1248
+ features: {},
1249
+ operations: [],
1250
+ },
1251
+ "PartUsage": {
1252
+ name: "PartUsage",
1253
+ abstract: false,
1254
+ superTypes: ["ItemUsage"],
1255
+ features: {
1256
+ "partDefinition": { "name": "partDefinition", "ecoreName": "partDefinition", "kind": "reference", "type": "PartDefinition", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["ItemUsage/itemDefinition"] },
1257
+ },
1258
+ operations: [],
1259
+ },
1260
+ "PayloadFeature": {
1261
+ name: "PayloadFeature",
1262
+ abstract: false,
1263
+ superTypes: ["Feature"],
1264
+ features: {},
1265
+ operations: [],
1266
+ },
1267
+ "PerformActionUsage": {
1268
+ name: "PerformActionUsage",
1269
+ abstract: false,
1270
+ superTypes: ["ActionUsage", "EventOccurrenceUsage"],
1271
+ features: {
1272
+ "performedAction": { "name": "performedAction", "ecoreName": "performedAction", "kind": "reference", "type": "ActionUsage", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["EventOccurrenceUsage/eventOccurrence"] },
1273
+ },
1274
+ operations: [],
1275
+ },
1276
+ "PortConjugation": {
1277
+ name: "PortConjugation",
1278
+ abstract: false,
1279
+ superTypes: ["Conjugation"],
1280
+ features: {
1281
+ "conjugatedPortDefinition": { "name": "conjugatedPortDefinition", "ecoreName": "conjugatedPortDefinition", "kind": "reference", "type": "ConjugatedPortDefinition", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "ConjugatedPortDefinition/ownedPortConjugator", "redefines": ["Conjugation/owningType"] },
1282
+ "originalPortDefinition": { "name": "originalPortDefinition", "ecoreName": "originalPortDefinition", "kind": "reference", "type": "PortDefinition", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false, "redefines": ["Conjugation/originalType"] },
1283
+ },
1284
+ operations: [],
1285
+ },
1286
+ "PortDefinition": {
1287
+ name: "PortDefinition",
1288
+ abstract: false,
1289
+ superTypes: ["OccurrenceDefinition", "Structure"],
1290
+ features: {
1291
+ "conjugatedPortDefinition": { "name": "conjugatedPortDefinition", "ecoreName": "conjugatedPortDefinition", "kind": "reference", "type": "ConjugatedPortDefinition", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "ConjugatedPortDefinition/originalPortDefinition", "subsets": ["Namespace/ownedMember"], "hasDerivation": true },
1292
+ },
1293
+ operations: [],
1294
+ },
1295
+ "PortUsage": {
1296
+ name: "PortUsage",
1297
+ abstract: false,
1298
+ superTypes: ["OccurrenceUsage"],
1299
+ features: {
1300
+ "portDefinition": { "name": "portDefinition", "ecoreName": "portDefinition", "kind": "reference", "type": "PortDefinition", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "redefines": ["OccurrenceUsage/occurrenceDefinition"] },
1301
+ },
1302
+ operations: [],
1303
+ },
1304
+ "Predicate": {
1305
+ name: "Predicate",
1306
+ abstract: false,
1307
+ superTypes: ["Function"],
1308
+ features: {},
1309
+ operations: [],
1310
+ },
1311
+ "Redefinition": {
1312
+ name: "Redefinition",
1313
+ abstract: false,
1314
+ superTypes: ["Subsetting"],
1315
+ features: {
1316
+ "redefinedFeature": { "name": "redefinedFeature", "ecoreName": "redefinedFeature", "kind": "reference", "type": "Feature", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false, "redefines": ["Subsetting/subsettedFeature"] },
1317
+ "redefiningFeature": { "name": "redefiningFeature", "ecoreName": "redefiningFeature", "kind": "reference", "type": "Feature", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false, "redefines": ["Subsetting/subsettingFeature"] },
1318
+ },
1319
+ operations: [],
1320
+ },
1321
+ "ReferenceSubsetting": {
1322
+ name: "ReferenceSubsetting",
1323
+ abstract: false,
1324
+ superTypes: ["Subsetting"],
1325
+ features: {
1326
+ "referencedFeature": { "name": "referencedFeature", "ecoreName": "referencedFeature", "kind": "reference", "type": "Feature", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false, "redefines": ["Subsetting/subsettedFeature"] },
1327
+ "referencingFeature": { "name": "referencingFeature", "ecoreName": "referencingFeature", "kind": "reference", "type": "Feature", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "Feature/ownedReferenceSubsetting", "redefines": ["Subsetting/owningFeature", "Subsetting/subsettingFeature"] },
1328
+ },
1329
+ operations: [],
1330
+ },
1331
+ "ReferenceUsage": {
1332
+ name: "ReferenceUsage",
1333
+ abstract: false,
1334
+ superTypes: ["Usage"],
1335
+ features: {},
1336
+ operations: [],
1337
+ },
1338
+ "Relationship": {
1339
+ name: "Relationship",
1340
+ abstract: true,
1341
+ superTypes: ["Element"],
1342
+ features: {
1343
+ "isImplied": { "name": "isImplied", "ecoreName": "isImplied", "kind": "attribute", "type": "EBoolean", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
1344
+ "ownedRelatedElement": { "name": "ownedRelatedElement", "ecoreName": "ownedRelatedElement", "kind": "reference", "type": "Element", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": true, "derived": false, "volatile": false, "opposite": "Element/owningRelationship", "subsets": ["Relationship/relatedElement"] },
1345
+ "owningRelatedElement": { "name": "owningRelatedElement", "ecoreName": "owningRelatedElement", "kind": "reference", "type": "Element", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false, "opposite": "Element/ownedRelationship", "subsets": ["Relationship/relatedElement"] },
1346
+ "relatedElement": { "name": "relatedElement", "ecoreName": "relatedElement", "kind": "reference", "type": "Element", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
1347
+ "source": { "name": "source", "ecoreName": "source", "kind": "reference", "type": "Element", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": false, "volatile": false, "subsets": ["Relationship/relatedElement"] },
1348
+ "target": { "name": "target", "ecoreName": "target", "kind": "reference", "type": "Element", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": false, "volatile": false, "subsets": ["Relationship/relatedElement"] },
1349
+ },
1350
+ operations: [],
1351
+ },
1352
+ "RenderingDefinition": {
1353
+ name: "RenderingDefinition",
1354
+ abstract: false,
1355
+ superTypes: ["PartDefinition"],
1356
+ features: {
1357
+ "rendering": { "name": "rendering", "ecoreName": "rendering", "kind": "reference", "type": "RenderingUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Definition/usage"], "hasDerivation": true },
1358
+ },
1359
+ operations: [],
1360
+ },
1361
+ "RenderingUsage": {
1362
+ name: "RenderingUsage",
1363
+ abstract: false,
1364
+ superTypes: ["PartUsage"],
1365
+ features: {
1366
+ "renderingDefinition": { "name": "renderingDefinition", "ecoreName": "renderingDefinition", "kind": "reference", "type": "RenderingDefinition", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["PartUsage/partDefinition"] },
1367
+ },
1368
+ operations: [],
1369
+ },
1370
+ "RequirementConstraintMembership": {
1371
+ name: "RequirementConstraintMembership",
1372
+ abstract: false,
1373
+ superTypes: ["FeatureMembership"],
1374
+ features: {
1375
+ "kind": { "name": "kind", "ecoreName": "kind", "kind": "attribute", "type": "RequirementConstraintKind", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
1376
+ "ownedConstraint": { "name": "ownedConstraint", "ecoreName": "ownedConstraint", "kind": "reference", "type": "ConstraintUsage", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["FeatureMembership/ownedMemberFeature"] },
1377
+ "referencedConstraint": { "name": "referencedConstraint", "ecoreName": "referencedConstraint", "kind": "reference", "type": "ConstraintUsage", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
1378
+ },
1379
+ operations: [],
1380
+ },
1381
+ "RequirementDefinition": {
1382
+ name: "RequirementDefinition",
1383
+ abstract: false,
1384
+ superTypes: ["ConstraintDefinition"],
1385
+ features: {
1386
+ "actorParameter": { "name": "actorParameter", "ecoreName": "actorParameter", "kind": "reference", "type": "PartUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Behavior/parameter", "Definition/usage"], "hasDerivation": true },
1387
+ "assumedConstraint": { "name": "assumedConstraint", "ecoreName": "assumedConstraint", "kind": "reference", "type": "ConstraintUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Type/ownedFeature"], "hasDerivation": true },
1388
+ "framedConcern": { "name": "framedConcern", "ecoreName": "framedConcern", "kind": "reference", "type": "ConcernUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["RequirementDefinition/requiredConstraint"], "hasDerivation": true },
1389
+ "reqId": { "name": "reqId", "ecoreName": "reqId", "kind": "attribute", "type": "EString", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false, "redefines": ["Element/declaredShortName"] },
1390
+ "requiredConstraint": { "name": "requiredConstraint", "ecoreName": "requiredConstraint", "kind": "reference", "type": "ConstraintUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Type/ownedFeature"], "hasDerivation": true },
1391
+ "stakeholderParameter": { "name": "stakeholderParameter", "ecoreName": "stakeholderParameter", "kind": "reference", "type": "PartUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Behavior/parameter", "Definition/usage"], "hasDerivation": true },
1392
+ "subjectParameter": { "name": "subjectParameter", "ecoreName": "subjectParameter", "kind": "reference", "type": "Usage", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Behavior/parameter", "Definition/usage"], "hasDerivation": true },
1393
+ "text": { "name": "text", "ecoreName": "text", "kind": "attribute", "type": "EString", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
1394
+ },
1395
+ operations: [],
1396
+ },
1397
+ "RequirementUsage": {
1398
+ name: "RequirementUsage",
1399
+ abstract: false,
1400
+ superTypes: ["ConstraintUsage"],
1401
+ features: {
1402
+ "actorParameter": { "name": "actorParameter", "ecoreName": "actorParameter", "kind": "reference", "type": "PartUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Step/parameter", "Usage/usage"], "hasDerivation": true },
1403
+ "assumedConstraint": { "name": "assumedConstraint", "ecoreName": "assumedConstraint", "kind": "reference", "type": "ConstraintUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Type/ownedFeature"], "hasDerivation": true },
1404
+ "framedConcern": { "name": "framedConcern", "ecoreName": "framedConcern", "kind": "reference", "type": "ConcernUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["RequirementUsage/requiredConstraint"], "hasDerivation": true },
1405
+ "reqId": { "name": "reqId", "ecoreName": "reqId", "kind": "attribute", "type": "EString", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false, "redefines": ["Element/declaredShortName"] },
1406
+ "requiredConstraint": { "name": "requiredConstraint", "ecoreName": "requiredConstraint", "kind": "reference", "type": "ConstraintUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Type/ownedFeature"], "hasDerivation": true },
1407
+ "requirementDefinition": { "name": "requirementDefinition", "ecoreName": "requirementDefinition", "kind": "reference", "type": "RequirementDefinition", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["ConstraintUsage/constraintDefinition"] },
1408
+ "stakeholderParameter": { "name": "stakeholderParameter", "ecoreName": "stakeholderParameter", "kind": "reference", "type": "PartUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Step/parameter", "Usage/usage"], "hasDerivation": true },
1409
+ "subjectParameter": { "name": "subjectParameter", "ecoreName": "subjectParameter", "kind": "reference", "type": "Usage", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Step/parameter", "Usage/usage"], "hasDerivation": true },
1410
+ "text": { "name": "text", "ecoreName": "text", "kind": "attribute", "type": "EString", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
1411
+ },
1412
+ operations: [],
1413
+ },
1414
+ "RequirementVerificationMembership": {
1415
+ name: "RequirementVerificationMembership",
1416
+ abstract: false,
1417
+ superTypes: ["RequirementConstraintMembership"],
1418
+ features: {
1419
+ "ownedRequirement": { "name": "ownedRequirement", "ecoreName": "ownedRequirement", "kind": "reference", "type": "RequirementUsage", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["RequirementConstraintMembership/ownedConstraint"] },
1420
+ "verifiedRequirement": { "name": "verifiedRequirement", "ecoreName": "verifiedRequirement", "kind": "reference", "type": "RequirementUsage", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["RequirementConstraintMembership/referencedConstraint"] },
1421
+ },
1422
+ operations: [],
1423
+ },
1424
+ "ResultExpressionMembership": {
1425
+ name: "ResultExpressionMembership",
1426
+ abstract: false,
1427
+ superTypes: ["FeatureMembership"],
1428
+ features: {
1429
+ "ownedResultExpression": { "name": "ownedResultExpression", "ecoreName": "ownedResultExpression", "kind": "reference", "type": "Expression", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["FeatureMembership/ownedMemberFeature"] },
1430
+ },
1431
+ operations: [],
1432
+ },
1433
+ "ReturnParameterMembership": {
1434
+ name: "ReturnParameterMembership",
1435
+ abstract: false,
1436
+ superTypes: ["ParameterMembership"],
1437
+ features: {},
1438
+ operations: [],
1439
+ },
1440
+ "SatisfyRequirementUsage": {
1441
+ name: "SatisfyRequirementUsage",
1442
+ abstract: false,
1443
+ superTypes: ["RequirementUsage", "AssertConstraintUsage"],
1444
+ features: {
1445
+ "satisfiedRequirement": { "name": "satisfiedRequirement", "ecoreName": "satisfiedRequirement", "kind": "reference", "type": "RequirementUsage", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["AssertConstraintUsage/assertedConstraint"] },
1446
+ "satisfyingFeature": { "name": "satisfyingFeature", "ecoreName": "satisfyingFeature", "kind": "reference", "type": "Feature", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
1447
+ },
1448
+ operations: [],
1449
+ },
1450
+ "SelectExpression": {
1451
+ name: "SelectExpression",
1452
+ abstract: false,
1453
+ superTypes: ["OperatorExpression"],
1454
+ features: {},
1455
+ operations: [],
1456
+ },
1457
+ "SendActionUsage": {
1458
+ name: "SendActionUsage",
1459
+ abstract: false,
1460
+ superTypes: ["ActionUsage"],
1461
+ features: {
1462
+ "payloadArgument": { "name": "payloadArgument", "ecoreName": "payloadArgument", "kind": "reference", "type": "Expression", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
1463
+ "receiverArgument": { "name": "receiverArgument", "ecoreName": "receiverArgument", "kind": "reference", "type": "Expression", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
1464
+ "senderArgument": { "name": "senderArgument", "ecoreName": "senderArgument", "kind": "reference", "type": "Expression", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
1465
+ },
1466
+ operations: [],
1467
+ },
1468
+ "Specialization": {
1469
+ name: "Specialization",
1470
+ abstract: false,
1471
+ superTypes: ["Relationship"],
1472
+ features: {
1473
+ "general": { "name": "general", "ecoreName": "general", "kind": "reference", "type": "Type", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false, "redefines": ["Relationship/target"] },
1474
+ "owningType": { "name": "owningType", "ecoreName": "owningType", "kind": "reference", "type": "Type", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "Type/ownedSpecialization", "subsets": ["Relationship/owningRelatedElement", "Specialization/specific"] },
1475
+ "specific": { "name": "specific", "ecoreName": "specific", "kind": "reference", "type": "Type", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false, "redefines": ["Relationship/source"] },
1476
+ },
1477
+ operations: [],
1478
+ },
1479
+ "StakeholderMembership": {
1480
+ name: "StakeholderMembership",
1481
+ abstract: false,
1482
+ superTypes: ["ParameterMembership"],
1483
+ features: {
1484
+ "ownedStakeholderParameter": { "name": "ownedStakeholderParameter", "ecoreName": "ownedStakeholderParameter", "kind": "reference", "type": "PartUsage", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["ParameterMembership/ownedMemberParameter"] },
1485
+ },
1486
+ operations: [],
1487
+ },
1488
+ "StateDefinition": {
1489
+ name: "StateDefinition",
1490
+ abstract: false,
1491
+ superTypes: ["ActionDefinition"],
1492
+ features: {
1493
+ "doAction": { "name": "doAction", "ecoreName": "doAction", "kind": "reference", "type": "ActionUsage", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
1494
+ "entryAction": { "name": "entryAction", "ecoreName": "entryAction", "kind": "reference", "type": "ActionUsage", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
1495
+ "exitAction": { "name": "exitAction", "ecoreName": "exitAction", "kind": "reference", "type": "ActionUsage", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
1496
+ "isParallel": { "name": "isParallel", "ecoreName": "isParallel", "kind": "attribute", "type": "EBoolean", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
1497
+ "state": { "name": "state", "ecoreName": "state", "kind": "reference", "type": "StateUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["ActionDefinition/action"], "hasDerivation": true },
1498
+ },
1499
+ operations: [],
1500
+ },
1501
+ "StateSubactionMembership": {
1502
+ name: "StateSubactionMembership",
1503
+ abstract: false,
1504
+ superTypes: ["FeatureMembership"],
1505
+ features: {
1506
+ "action": { "name": "action", "ecoreName": "action", "kind": "reference", "type": "ActionUsage", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["FeatureMembership/ownedMemberFeature"] },
1507
+ "kind": { "name": "kind", "ecoreName": "kind", "kind": "attribute", "type": "StateSubactionKind", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
1508
+ },
1509
+ operations: [],
1510
+ },
1511
+ "StateUsage": {
1512
+ name: "StateUsage",
1513
+ abstract: false,
1514
+ superTypes: ["ActionUsage"],
1515
+ features: {
1516
+ "doAction": { "name": "doAction", "ecoreName": "doAction", "kind": "reference", "type": "ActionUsage", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
1517
+ "entryAction": { "name": "entryAction", "ecoreName": "entryAction", "kind": "reference", "type": "ActionUsage", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
1518
+ "exitAction": { "name": "exitAction", "ecoreName": "exitAction", "kind": "reference", "type": "ActionUsage", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
1519
+ "isParallel": { "name": "isParallel", "ecoreName": "isParallel", "kind": "attribute", "type": "EBoolean", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
1520
+ "stateDefinition": { "name": "stateDefinition", "ecoreName": "stateDefinition", "kind": "reference", "type": "Behavior", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "redefines": ["ActionUsage/actionDefinition"] },
1521
+ },
1522
+ operations: [
1523
+ { "name": "isSubstateUsage", "type": "boolean", "lowerBound": 1, "upperBound": 1, "parameters": [{ "name": "isParallel", "type": "boolean", "many": false }], "hasBody": true },
1524
+ ],
1525
+ },
1526
+ "Step": {
1527
+ name: "Step",
1528
+ abstract: false,
1529
+ superTypes: ["Feature"],
1530
+ features: {
1531
+ "behavior": { "name": "behavior", "ecoreName": "behavior", "kind": "reference", "type": "Behavior", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Feature/type"], "hasDerivation": true },
1532
+ "parameter": { "name": "parameter", "ecoreName": "parameter", "kind": "reference", "type": "Feature", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "redefines": ["Type/directedFeature"] },
1533
+ },
1534
+ operations: [],
1535
+ },
1536
+ "Structure": {
1537
+ name: "Structure",
1538
+ abstract: false,
1539
+ superTypes: ["Class"],
1540
+ features: {},
1541
+ operations: [],
1542
+ },
1543
+ "Subclassification": {
1544
+ name: "Subclassification",
1545
+ abstract: false,
1546
+ superTypes: ["Specialization"],
1547
+ features: {
1548
+ "owningClassifier": { "name": "owningClassifier", "ecoreName": "owningClassifier", "kind": "reference", "type": "Classifier", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "Classifier/ownedSubclassification", "redefines": ["Specialization/owningType"] },
1549
+ "subclassifier": { "name": "subclassifier", "ecoreName": "subclassifier", "kind": "reference", "type": "Classifier", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false, "redefines": ["Specialization/specific"] },
1550
+ "superclassifier": { "name": "superclassifier", "ecoreName": "superclassifier", "kind": "reference", "type": "Classifier", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false, "redefines": ["Specialization/general"] },
1551
+ },
1552
+ operations: [],
1553
+ },
1554
+ "SubjectMembership": {
1555
+ name: "SubjectMembership",
1556
+ abstract: false,
1557
+ superTypes: ["ParameterMembership"],
1558
+ features: {
1559
+ "ownedSubjectParameter": { "name": "ownedSubjectParameter", "ecoreName": "ownedSubjectParameter", "kind": "reference", "type": "Usage", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["ParameterMembership/ownedMemberParameter"] },
1560
+ },
1561
+ operations: [],
1562
+ },
1563
+ "Subsetting": {
1564
+ name: "Subsetting",
1565
+ abstract: false,
1566
+ superTypes: ["Specialization"],
1567
+ features: {
1568
+ "owningFeature": { "name": "owningFeature", "ecoreName": "owningFeature", "kind": "reference", "type": "Feature", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "Feature/ownedSubsetting", "subsets": ["Subsetting/subsettingFeature"], "redefines": ["Specialization/owningType"] },
1569
+ "subsettedFeature": { "name": "subsettedFeature", "ecoreName": "subsettedFeature", "kind": "reference", "type": "Feature", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false, "redefines": ["Specialization/general"] },
1570
+ "subsettingFeature": { "name": "subsettingFeature", "ecoreName": "subsettingFeature", "kind": "reference", "type": "Feature", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false, "redefines": ["Specialization/specific"] },
1571
+ },
1572
+ operations: [],
1573
+ },
1574
+ "Succession": {
1575
+ name: "Succession",
1576
+ abstract: false,
1577
+ superTypes: ["Connector"],
1578
+ features: {},
1579
+ operations: [],
1580
+ },
1581
+ "SuccessionAsUsage": {
1582
+ name: "SuccessionAsUsage",
1583
+ abstract: false,
1584
+ superTypes: ["ConnectorAsUsage", "Succession"],
1585
+ features: {},
1586
+ operations: [],
1587
+ },
1588
+ "SuccessionFlow": {
1589
+ name: "SuccessionFlow",
1590
+ abstract: false,
1591
+ superTypes: ["Flow", "Succession"],
1592
+ features: {},
1593
+ operations: [],
1594
+ },
1595
+ "SuccessionFlowUsage": {
1596
+ name: "SuccessionFlowUsage",
1597
+ abstract: false,
1598
+ superTypes: ["FlowUsage", "SuccessionFlow"],
1599
+ features: {},
1600
+ operations: [],
1601
+ },
1602
+ "TerminateActionUsage": {
1603
+ name: "TerminateActionUsage",
1604
+ abstract: false,
1605
+ superTypes: ["ActionUsage"],
1606
+ features: {
1607
+ "terminatedOccurrenceArgument": { "name": "terminatedOccurrenceArgument", "ecoreName": "terminatedOccurrenceArgument", "kind": "reference", "type": "Expression", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
1608
+ },
1609
+ operations: [],
1610
+ },
1611
+ "TextualRepresentation": {
1612
+ name: "TextualRepresentation",
1613
+ abstract: false,
1614
+ superTypes: ["AnnotatingElement"],
1615
+ features: {
1616
+ "body": { "name": "body", "ecoreName": "body", "kind": "attribute", "type": "EString", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
1617
+ "language": { "name": "language", "ecoreName": "language", "kind": "attribute", "type": "EString", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
1618
+ "representedElement": { "name": "representedElement", "ecoreName": "representedElement", "kind": "reference", "type": "Element", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "Element/textualRepresentation", "subsets": ["Element/owner"], "redefines": ["AnnotatingElement/annotatedElement"] },
1619
+ },
1620
+ operations: [],
1621
+ },
1622
+ "TransitionFeatureMembership": {
1623
+ name: "TransitionFeatureMembership",
1624
+ abstract: false,
1625
+ superTypes: ["FeatureMembership"],
1626
+ features: {
1627
+ "kind": { "name": "kind", "ecoreName": "kind", "kind": "attribute", "type": "TransitionFeatureKind", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
1628
+ "transitionFeature": { "name": "transitionFeature", "ecoreName": "transitionFeature", "kind": "reference", "type": "Step", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["FeatureMembership/ownedMemberFeature"] },
1629
+ },
1630
+ operations: [],
1631
+ },
1632
+ "TransitionUsage": {
1633
+ name: "TransitionUsage",
1634
+ abstract: false,
1635
+ superTypes: ["ActionUsage"],
1636
+ features: {
1637
+ "effectAction": { "name": "effectAction", "ecoreName": "effectAction", "kind": "reference", "type": "ActionUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Type/feature"] },
1638
+ "guardExpression": { "name": "guardExpression", "ecoreName": "guardExpression", "kind": "reference", "type": "Expression", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Type/ownedFeature"], "hasDerivation": true },
1639
+ "source": { "name": "source", "ecoreName": "source", "kind": "reference", "type": "ActionUsage", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
1640
+ "succession": { "name": "succession", "ecoreName": "succession", "kind": "reference", "type": "Succession", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Namespace/ownedMember"], "hasDerivation": true },
1641
+ "target": { "name": "target", "ecoreName": "target", "kind": "reference", "type": "ActionUsage", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
1642
+ "triggerAction": { "name": "triggerAction", "ecoreName": "triggerAction", "kind": "reference", "type": "AcceptActionUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Type/ownedFeature"], "hasDerivation": true },
1643
+ },
1644
+ operations: [
1645
+ { "name": "sourceFeature", "type": "Feature", "lowerBound": 0, "upperBound": 1, "parameters": [], "hasBody": true },
1646
+ { "name": "triggerPayloadParameter", "type": "ReferenceUsage", "lowerBound": 0, "upperBound": 1, "parameters": [], "hasBody": true },
1647
+ ],
1648
+ },
1649
+ "TriggerInvocationExpression": {
1650
+ name: "TriggerInvocationExpression",
1651
+ abstract: false,
1652
+ superTypes: ["InvocationExpression"],
1653
+ features: {
1654
+ "kind": { "name": "kind", "ecoreName": "kind", "kind": "attribute", "type": "TriggerKind", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
1655
+ },
1656
+ operations: [],
1657
+ },
1658
+ "Type": {
1659
+ name: "Type",
1660
+ abstract: false,
1661
+ superTypes: ["Namespace"],
1662
+ features: {
1663
+ "differencingType": { "name": "differencingType", "ecoreName": "differencingType", "kind": "reference", "type": "Type", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
1664
+ "directedFeature": { "name": "directedFeature", "ecoreName": "directedFeature", "kind": "reference", "type": "Feature", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Type/feature"], "hasDerivation": true },
1665
+ "endFeature": { "name": "endFeature", "ecoreName": "endFeature", "kind": "reference", "type": "Feature", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Type/feature"], "hasDerivation": true },
1666
+ "feature": { "name": "feature", "ecoreName": "feature", "kind": "reference", "type": "Feature", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Namespace/member"], "hasDerivation": true },
1667
+ "featureMembership": { "name": "featureMembership", "ecoreName": "featureMembership", "kind": "reference", "type": "FeatureMembership", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
1668
+ "inheritedFeature": { "name": "inheritedFeature", "ecoreName": "inheritedFeature", "kind": "reference", "type": "Feature", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Type/feature"], "hasDerivation": true },
1669
+ "inheritedMembership": { "name": "inheritedMembership", "ecoreName": "inheritedMembership", "kind": "reference", "type": "Membership", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Namespace/membership"], "hasDerivation": true },
1670
+ "input": { "name": "input", "ecoreName": "input", "kind": "reference", "type": "Feature", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Type/directedFeature"], "hasDerivation": true },
1671
+ "intersectingType": { "name": "intersectingType", "ecoreName": "intersectingType", "kind": "reference", "type": "Type", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
1672
+ "isAbstract": { "name": "isAbstract", "ecoreName": "isAbstract", "kind": "attribute", "type": "EBoolean", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
1673
+ "isConjugated": { "name": "isConjugated", "ecoreName": "isConjugated", "kind": "attribute", "type": "EBoolean", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true },
1674
+ "isSufficient": { "name": "isSufficient", "ecoreName": "isSufficient", "kind": "attribute", "type": "EBoolean", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
1675
+ "multiplicity": { "name": "multiplicity", "ecoreName": "multiplicity", "kind": "reference", "type": "Multiplicity", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Namespace/ownedMember"], "hasDerivation": true },
1676
+ "output": { "name": "output", "ecoreName": "output", "kind": "reference", "type": "Feature", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Type/directedFeature"], "hasDerivation": true },
1677
+ "ownedConjugator": { "name": "ownedConjugator", "ecoreName": "ownedConjugator", "kind": "reference", "type": "Conjugation", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "Conjugation/owningType", "subsets": ["Element/ownedRelationship"], "hasDerivation": true },
1678
+ "ownedDifferencing": { "name": "ownedDifferencing", "ecoreName": "ownedDifferencing", "kind": "reference", "type": "Differencing", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "opposite": "Differencing/typeDifferenced", "subsets": ["Element/ownedRelationship"], "hasDerivation": true },
1679
+ "ownedDisjoining": { "name": "ownedDisjoining", "ecoreName": "ownedDisjoining", "kind": "reference", "type": "Disjoining", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "Disjoining/owningType", "subsets": ["Element/ownedRelationship"], "hasDerivation": true },
1680
+ "ownedEndFeature": { "name": "ownedEndFeature", "ecoreName": "ownedEndFeature", "kind": "reference", "type": "Feature", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "opposite": "Feature/endOwningType", "subsets": ["Type/endFeature", "Type/ownedFeature"], "hasDerivation": true },
1681
+ "ownedFeature": { "name": "ownedFeature", "ecoreName": "ownedFeature", "kind": "reference", "type": "Feature", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "opposite": "Feature/owningType", "subsets": ["Namespace/ownedMember"], "hasDerivation": true },
1682
+ "ownedFeatureMembership": { "name": "ownedFeatureMembership", "ecoreName": "ownedFeatureMembership", "kind": "reference", "type": "FeatureMembership", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "opposite": "FeatureMembership/owningType", "subsets": ["Namespace/ownedMembership", "Type/featureMembership"], "hasDerivation": true },
1683
+ "ownedIntersecting": { "name": "ownedIntersecting", "ecoreName": "ownedIntersecting", "kind": "reference", "type": "Intersecting", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "opposite": "Intersecting/typeIntersected", "subsets": ["Element/ownedRelationship"] },
1684
+ "ownedSpecialization": { "name": "ownedSpecialization", "ecoreName": "ownedSpecialization", "kind": "reference", "type": "Specialization", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "opposite": "Specialization/owningType", "subsets": ["Element/ownedRelationship"], "hasDerivation": true },
1685
+ "ownedUnioning": { "name": "ownedUnioning", "ecoreName": "ownedUnioning", "kind": "reference", "type": "Unioning", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "opposite": "Unioning/typeUnioned", "subsets": ["Element/ownedRelationship"], "hasDerivation": true },
1686
+ "unioningType": { "name": "unioningType", "ecoreName": "unioningType", "kind": "reference", "type": "Type", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
1687
+ },
1688
+ operations: [
1689
+ { "name": "allRedefinedFeaturesOf", "type": "Feature", "lowerBound": 0, "upperBound": -1, "parameters": [{ "name": "membership", "type": "Membership", "many": false }], "hasBody": true },
1690
+ { "name": "allSupertypes", "type": "Type", "lowerBound": 0, "upperBound": -1, "parameters": [], "hasBody": true },
1691
+ { "name": "directionOf", "type": "FeatureDirectionKind", "lowerBound": 0, "upperBound": 1, "parameters": [{ "name": "feature", "type": "Feature", "many": false }], "hasBody": true },
1692
+ { "name": "directionOfExcluding", "type": "FeatureDirectionKind", "lowerBound": 0, "upperBound": 1, "parameters": [{ "name": "feature", "type": "Feature", "many": false }, { "name": "excluded", "type": "Type", "many": true }], "hasBody": true },
1693
+ { "name": "inheritableMemberships", "type": "Membership", "lowerBound": 0, "upperBound": -1, "parameters": [{ "name": "excludedNamespaces", "type": "Namespace", "many": true }, { "name": "excludedTypes", "type": "Type", "many": true }, { "name": "excludeImplied", "type": "boolean", "many": false }], "hasBody": true },
1694
+ { "name": "inheritedMemberships", "type": "Membership", "lowerBound": 0, "upperBound": -1, "parameters": [{ "name": "excludedNamespaces", "type": "Namespace", "many": true }, { "name": "excludedTypes", "type": "Type", "many": true }, { "name": "excludeImplied", "type": "boolean", "many": false }], "hasBody": true },
1695
+ { "name": "isCompatibleWith", "type": "boolean", "lowerBound": 1, "upperBound": 1, "parameters": [{ "name": "otherType", "type": "Type", "many": false }], "hasBody": true },
1696
+ { "name": "multiplicities", "type": "Multiplicity", "lowerBound": 0, "upperBound": -1, "parameters": [], "hasBody": true },
1697
+ { "name": "nonPrivateMemberships", "type": "Membership", "lowerBound": 0, "upperBound": -1, "parameters": [{ "name": "excludedNamespaces", "type": "Namespace", "many": true }, { "name": "excludedTypes", "type": "Type", "many": true }, { "name": "excludeImplied", "type": "boolean", "many": false }], "hasBody": true },
1698
+ { "name": "removeRedefinedFeatures", "type": "Membership", "lowerBound": 0, "upperBound": -1, "parameters": [{ "name": "memberships", "type": "Membership", "many": true }], "hasBody": true },
1699
+ { "name": "specializes", "type": "boolean", "lowerBound": 1, "upperBound": 1, "parameters": [{ "name": "supertype", "type": "Type", "many": false }], "hasBody": true },
1700
+ { "name": "specializesFromLibrary", "type": "boolean", "lowerBound": 1, "upperBound": 1, "parameters": [{ "name": "libraryTypeName", "type": "string", "many": false }], "hasBody": true },
1701
+ { "name": "supertypes", "type": "Type", "lowerBound": 0, "upperBound": -1, "parameters": [{ "name": "excludeImplied", "type": "boolean", "many": false }], "hasBody": true },
1702
+ ],
1703
+ },
1704
+ "TypeFeaturing": {
1705
+ name: "TypeFeaturing",
1706
+ abstract: false,
1707
+ superTypes: ["Relationship"],
1708
+ features: {
1709
+ "featureOfType": { "name": "featureOfType", "ecoreName": "featureOfType", "kind": "reference", "type": "Feature", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false, "redefines": ["Relationship/source"] },
1710
+ "featuringType": { "name": "featuringType", "ecoreName": "featuringType", "kind": "reference", "type": "Type", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false, "redefines": ["Relationship/target"] },
1711
+ "owningFeatureOfType": { "name": "owningFeatureOfType", "ecoreName": "owningFeatureOfType", "kind": "reference", "type": "Feature", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "Feature/ownedTypeFeaturing", "subsets": ["Relationship/owningRelatedElement", "TypeFeaturing/featureOfType"] },
1712
+ },
1713
+ operations: [],
1714
+ },
1715
+ "Unioning": {
1716
+ name: "Unioning",
1717
+ abstract: false,
1718
+ superTypes: ["Relationship"],
1719
+ features: {
1720
+ "typeUnioned": { "name": "typeUnioned", "ecoreName": "typeUnioned", "kind": "reference", "type": "Type", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "Type/ownedUnioning", "subsets": ["Relationship/owningRelatedElement"], "redefines": ["Relationship/source"] },
1721
+ "unioningType": { "name": "unioningType", "ecoreName": "unioningType", "kind": "reference", "type": "Type", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false, "redefines": ["Relationship/target"] },
1722
+ },
1723
+ operations: [],
1724
+ },
1725
+ "Usage": {
1726
+ name: "Usage",
1727
+ abstract: false,
1728
+ superTypes: ["Feature"],
1729
+ features: {
1730
+ "definition": { "name": "definition", "ecoreName": "definition", "kind": "reference", "type": "Classifier", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "redefines": ["Feature/type"] },
1731
+ "directedUsage": { "name": "directedUsage", "ecoreName": "directedUsage", "kind": "reference", "type": "Usage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Type/directedFeature", "Usage/usage"], "hasDerivation": true },
1732
+ "isReference": { "name": "isReference", "ecoreName": "isReference", "kind": "attribute", "type": "EBoolean", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
1733
+ "isVariation": { "name": "isVariation", "ecoreName": "isVariation", "kind": "attribute", "type": "EBoolean", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": false, "volatile": false },
1734
+ "mayTimeVary": { "name": "mayTimeVary", "ecoreName": "mayTimeVary", "kind": "attribute", "type": "EBoolean", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["Feature/isVariable"], "hasDerivation": true },
1735
+ "nestedAction": { "name": "nestedAction", "ecoreName": "nestedAction", "kind": "reference", "type": "ActionUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Usage/nestedOccurrence"], "hasDerivation": true },
1736
+ "nestedAllocation": { "name": "nestedAllocation", "ecoreName": "nestedAllocation", "kind": "reference", "type": "AllocationUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Usage/nestedConnection"], "hasDerivation": true },
1737
+ "nestedAnalysisCase": { "name": "nestedAnalysisCase", "ecoreName": "nestedAnalysisCase", "kind": "reference", "type": "AnalysisCaseUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Usage/nestedCase"], "hasDerivation": true },
1738
+ "nestedAttribute": { "name": "nestedAttribute", "ecoreName": "nestedAttribute", "kind": "reference", "type": "AttributeUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Usage/nestedUsage"], "hasDerivation": true },
1739
+ "nestedCalculation": { "name": "nestedCalculation", "ecoreName": "nestedCalculation", "kind": "reference", "type": "CalculationUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Usage/nestedAction"], "hasDerivation": true },
1740
+ "nestedCase": { "name": "nestedCase", "ecoreName": "nestedCase", "kind": "reference", "type": "CaseUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Usage/nestedCalculation"], "hasDerivation": true },
1741
+ "nestedConcern": { "name": "nestedConcern", "ecoreName": "nestedConcern", "kind": "reference", "type": "ConcernUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Usage/nestedRequirement"], "hasDerivation": true },
1742
+ "nestedConnection": { "name": "nestedConnection", "ecoreName": "nestedConnection", "kind": "reference", "type": "ConnectorAsUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Usage/nestedUsage"], "hasDerivation": true },
1743
+ "nestedConstraint": { "name": "nestedConstraint", "ecoreName": "nestedConstraint", "kind": "reference", "type": "ConstraintUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Usage/nestedOccurrence"], "hasDerivation": true },
1744
+ "nestedEnumeration": { "name": "nestedEnumeration", "ecoreName": "nestedEnumeration", "kind": "reference", "type": "EnumerationUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Usage/nestedAttribute"] },
1745
+ "nestedFlow": { "name": "nestedFlow", "ecoreName": "nestedFlow", "kind": "reference", "type": "FlowUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Usage/nestedConnection"], "hasDerivation": true },
1746
+ "nestedInterface": { "name": "nestedInterface", "ecoreName": "nestedInterface", "kind": "reference", "type": "InterfaceUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Usage/nestedConnection"], "hasDerivation": true },
1747
+ "nestedItem": { "name": "nestedItem", "ecoreName": "nestedItem", "kind": "reference", "type": "ItemUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Usage/nestedOccurrence"], "hasDerivation": true },
1748
+ "nestedMetadata": { "name": "nestedMetadata", "ecoreName": "nestedMetadata", "kind": "reference", "type": "MetadataUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Usage/nestedItem"], "hasDerivation": true },
1749
+ "nestedOccurrence": { "name": "nestedOccurrence", "ecoreName": "nestedOccurrence", "kind": "reference", "type": "OccurrenceUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Usage/nestedUsage"], "hasDerivation": true },
1750
+ "nestedPart": { "name": "nestedPart", "ecoreName": "nestedPart", "kind": "reference", "type": "PartUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Usage/nestedItem"], "hasDerivation": true },
1751
+ "nestedPort": { "name": "nestedPort", "ecoreName": "nestedPort", "kind": "reference", "type": "PortUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Usage/nestedUsage"], "hasDerivation": true },
1752
+ "nestedReference": { "name": "nestedReference", "ecoreName": "nestedReference", "kind": "reference", "type": "ReferenceUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Usage/nestedUsage"], "hasDerivation": true },
1753
+ "nestedRendering": { "name": "nestedRendering", "ecoreName": "nestedRendering", "kind": "reference", "type": "RenderingUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Usage/nestedPart"], "hasDerivation": true },
1754
+ "nestedRequirement": { "name": "nestedRequirement", "ecoreName": "nestedRequirement", "kind": "reference", "type": "RequirementUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Usage/nestedConstraint"], "hasDerivation": true },
1755
+ "nestedState": { "name": "nestedState", "ecoreName": "nestedState", "kind": "reference", "type": "StateUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Usage/nestedAction"], "hasDerivation": true },
1756
+ "nestedTransition": { "name": "nestedTransition", "ecoreName": "nestedTransition", "kind": "reference", "type": "TransitionUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Usage/nestedUsage"], "hasDerivation": true },
1757
+ "nestedUsage": { "name": "nestedUsage", "ecoreName": "nestedUsage", "kind": "reference", "type": "Usage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "opposite": "Usage/owningUsage", "subsets": ["Type/ownedFeature", "Usage/usage"], "hasDerivation": true },
1758
+ "nestedUseCase": { "name": "nestedUseCase", "ecoreName": "nestedUseCase", "kind": "reference", "type": "UseCaseUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Usage/nestedCase"], "hasDerivation": true },
1759
+ "nestedVerificationCase": { "name": "nestedVerificationCase", "ecoreName": "nestedVerificationCase", "kind": "reference", "type": "VerificationCaseUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Usage/nestedCase"], "hasDerivation": true },
1760
+ "nestedView": { "name": "nestedView", "ecoreName": "nestedView", "kind": "reference", "type": "ViewUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Usage/nestedPart"], "hasDerivation": true },
1761
+ "nestedViewpoint": { "name": "nestedViewpoint", "ecoreName": "nestedViewpoint", "kind": "reference", "type": "ViewpointUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Usage/nestedRequirement"], "hasDerivation": true },
1762
+ "owningDefinition": { "name": "owningDefinition", "ecoreName": "owningDefinition", "kind": "reference", "type": "Definition", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "Definition/ownedUsage", "subsets": ["Feature/owningType"] },
1763
+ "owningUsage": { "name": "owningUsage", "ecoreName": "owningUsage", "kind": "reference", "type": "Usage", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "opposite": "Usage/nestedUsage", "subsets": ["Feature/owningType"] },
1764
+ "usage": { "name": "usage", "ecoreName": "usage", "kind": "reference", "type": "Usage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Type/feature"], "hasDerivation": true },
1765
+ "variant": { "name": "variant", "ecoreName": "variant", "kind": "reference", "type": "Usage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Namespace/ownedMember"], "hasDerivation": true },
1766
+ "variantMembership": { "name": "variantMembership", "ecoreName": "variantMembership", "kind": "reference", "type": "VariantMembership", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["Namespace/ownedMembership"], "hasDerivation": true },
1767
+ },
1768
+ operations: [
1769
+ { "name": "referencedFeatureTarget", "type": "Feature", "lowerBound": 1, "upperBound": 1, "parameters": [], "hasBody": true },
1770
+ ],
1771
+ },
1772
+ "UseCaseDefinition": {
1773
+ name: "UseCaseDefinition",
1774
+ abstract: false,
1775
+ superTypes: ["CaseDefinition"],
1776
+ features: {
1777
+ "includedUseCase": { "name": "includedUseCase", "ecoreName": "includedUseCase", "kind": "reference", "type": "UseCaseUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
1778
+ },
1779
+ operations: [],
1780
+ },
1781
+ "UseCaseUsage": {
1782
+ name: "UseCaseUsage",
1783
+ abstract: false,
1784
+ superTypes: ["CaseUsage"],
1785
+ features: {
1786
+ "includedUseCase": { "name": "includedUseCase", "ecoreName": "includedUseCase", "kind": "reference", "type": "UseCaseUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
1787
+ "useCaseDefinition": { "name": "useCaseDefinition", "ecoreName": "useCaseDefinition", "kind": "reference", "type": "UseCaseDefinition", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["CaseUsage/caseDefinition"] },
1788
+ },
1789
+ operations: [],
1790
+ },
1791
+ "VariantMembership": {
1792
+ name: "VariantMembership",
1793
+ abstract: false,
1794
+ superTypes: ["OwningMembership"],
1795
+ features: {
1796
+ "ownedVariantUsage": { "name": "ownedVariantUsage", "ecoreName": "ownedVariantUsage", "kind": "reference", "type": "Usage", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["OwningMembership/ownedMemberElement"] },
1797
+ },
1798
+ operations: [],
1799
+ },
1800
+ "VerificationCaseDefinition": {
1801
+ name: "VerificationCaseDefinition",
1802
+ abstract: false,
1803
+ superTypes: ["CaseDefinition"],
1804
+ features: {
1805
+ "verifiedRequirement": { "name": "verifiedRequirement", "ecoreName": "verifiedRequirement", "kind": "reference", "type": "RequirementUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
1806
+ },
1807
+ operations: [],
1808
+ },
1809
+ "VerificationCaseUsage": {
1810
+ name: "VerificationCaseUsage",
1811
+ abstract: false,
1812
+ superTypes: ["CaseUsage"],
1813
+ features: {
1814
+ "verificationCaseDefinition": { "name": "verificationCaseDefinition", "ecoreName": "verificationCaseDefinition", "kind": "reference", "type": "VerificationCaseDefinition", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "subsets": ["CaseUsage/caseDefinition"] },
1815
+ "verifiedRequirement": { "name": "verifiedRequirement", "ecoreName": "verifiedRequirement", "kind": "reference", "type": "RequirementUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
1816
+ },
1817
+ operations: [],
1818
+ },
1819
+ "ViewDefinition": {
1820
+ name: "ViewDefinition",
1821
+ abstract: false,
1822
+ superTypes: ["PartDefinition"],
1823
+ features: {
1824
+ "satisfiedViewpoint": { "name": "satisfiedViewpoint", "ecoreName": "satisfiedViewpoint", "kind": "reference", "type": "ViewpointUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Definition/ownedRequirement"], "hasDerivation": true },
1825
+ "view": { "name": "view", "ecoreName": "view", "kind": "reference", "type": "ViewUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Definition/usage"], "hasDerivation": true },
1826
+ "viewCondition": { "name": "viewCondition", "ecoreName": "viewCondition", "kind": "reference", "type": "Expression", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Namespace/ownedMember"], "hasDerivation": true },
1827
+ "viewRendering": { "name": "viewRendering", "ecoreName": "viewRendering", "kind": "reference", "type": "RenderingUsage", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
1828
+ },
1829
+ operations: [],
1830
+ },
1831
+ "ViewRenderingMembership": {
1832
+ name: "ViewRenderingMembership",
1833
+ abstract: false,
1834
+ superTypes: ["FeatureMembership"],
1835
+ features: {
1836
+ "ownedRendering": { "name": "ownedRendering", "ecoreName": "ownedRendering", "kind": "reference", "type": "RenderingUsage", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["FeatureMembership/ownedMemberFeature"] },
1837
+ "referencedRendering": { "name": "referencedRendering", "ecoreName": "referencedRendering", "kind": "reference", "type": "RenderingUsage", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
1838
+ },
1839
+ operations: [],
1840
+ },
1841
+ "ViewUsage": {
1842
+ name: "ViewUsage",
1843
+ abstract: false,
1844
+ superTypes: ["PartUsage"],
1845
+ features: {
1846
+ "exposedElement": { "name": "exposedElement", "ecoreName": "exposedElement", "kind": "reference", "type": "Element", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Namespace/member"], "hasDerivation": true },
1847
+ "satisfiedViewpoint": { "name": "satisfiedViewpoint", "ecoreName": "satisfiedViewpoint", "kind": "reference", "type": "ViewpointUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Usage/nestedRequirement"], "hasDerivation": true },
1848
+ "viewCondition": { "name": "viewCondition", "ecoreName": "viewCondition", "kind": "reference", "type": "Expression", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "subsets": ["Namespace/ownedMember"], "hasDerivation": true },
1849
+ "viewDefinition": { "name": "viewDefinition", "ecoreName": "viewDefinition", "kind": "reference", "type": "ViewDefinition", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["PartUsage/partDefinition"] },
1850
+ "viewRendering": { "name": "viewRendering", "ecoreName": "viewRendering", "kind": "reference", "type": "RenderingUsage", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
1851
+ },
1852
+ operations: [
1853
+ { "name": "includeAsExposed", "type": "boolean", "lowerBound": 1, "upperBound": 1, "parameters": [{ "name": "element", "type": "Element", "many": false }], "hasBody": true },
1854
+ ],
1855
+ },
1856
+ "ViewpointDefinition": {
1857
+ name: "ViewpointDefinition",
1858
+ abstract: false,
1859
+ superTypes: ["RequirementDefinition"],
1860
+ features: {
1861
+ "viewpointStakeholder": { "name": "viewpointStakeholder", "ecoreName": "viewpointStakeholder", "kind": "reference", "type": "PartUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
1862
+ },
1863
+ operations: [],
1864
+ },
1865
+ "ViewpointUsage": {
1866
+ name: "ViewpointUsage",
1867
+ abstract: false,
1868
+ superTypes: ["RequirementUsage"],
1869
+ features: {
1870
+ "viewpointDefinition": { "name": "viewpointDefinition", "ecoreName": "viewpointDefinition", "kind": "reference", "type": "ViewpointDefinition", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "redefines": ["RequirementUsage/requirementDefinition"] },
1871
+ "viewpointStakeholder": { "name": "viewpointStakeholder", "ecoreName": "viewpointStakeholder", "kind": "reference", "type": "PartUsage", "lowerBound": 0, "upperBound": -1, "many": true, "ordered": true, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
1872
+ },
1873
+ operations: [],
1874
+ },
1875
+ "WhileLoopActionUsage": {
1876
+ name: "WhileLoopActionUsage",
1877
+ abstract: false,
1878
+ superTypes: ["LoopActionUsage"],
1879
+ features: {
1880
+ "untilArgument": { "name": "untilArgument", "ecoreName": "untilArgument", "kind": "reference", "type": "Expression", "lowerBound": 0, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
1881
+ "whileArgument": { "name": "whileArgument", "ecoreName": "whileArgument", "kind": "reference", "type": "Expression", "lowerBound": 1, "upperBound": 1, "many": false, "ordered": false, "containment": false, "derived": true, "volatile": true, "hasDerivation": true },
1882
+ },
1883
+ operations: [],
1884
+ },
1885
+ };
1886
+ /** Every metaclass name, in metamodel order. */
1887
+ export const SYSML_METACLASS_NAMES = Object.keys(SYSML_METACLASSES);
1888
+ /**
1889
+ * Declared features of one metaclass, excluding inherited ones.
1890
+ *
1891
+ * Kept as a function rather than a second table so there is exactly one place
1892
+ * the generated shape is read from.
1893
+ */
1894
+ export function declaredFeatures(metaclass) {
1895
+ return Object.values(SYSML_METACLASSES[metaclass]?.features ?? {});
1896
+ }
1897
+ /** Declared and inherited features, nearest declaration winning on name. */
1898
+ export function allFeatures(metaclass) {
1899
+ const seen = new Map();
1900
+ const visit = (name) => {
1901
+ const descriptor = SYSML_METACLASSES[name];
1902
+ if (!descriptor)
1903
+ return;
1904
+ for (const feature of Object.values(descriptor.features)) {
1905
+ if (!seen.has(feature.name))
1906
+ seen.set(feature.name, feature);
1907
+ }
1908
+ for (const superType of descriptor.superTypes)
1909
+ visit(superType);
1910
+ };
1911
+ visit(metaclass);
1912
+ return [...seen.values()];
1913
+ }
1914
+ /** Transitive supertypes of `metaclass`, nearest first, excluding itself. */
1915
+ export function allSuperTypes(metaclass) {
1916
+ const out = [];
1917
+ const queue = [...(SYSML_METACLASSES[metaclass]?.superTypes ?? [])];
1918
+ while (queue.length > 0) {
1919
+ const name = queue.shift();
1920
+ if (out.includes(name))
1921
+ continue;
1922
+ out.push(name);
1923
+ queue.push(...(SYSML_METACLASSES[name]?.superTypes ?? []));
1924
+ }
1925
+ return out;
1926
+ }
1927
+ /** Whether `metaclass` is, or specializes, `superType`. */
1928
+ export function conformsTo(metaclass, superType) {
1929
+ return metaclass === superType || allSuperTypes(metaclass).includes(superType);
1930
+ }
1931
+ /** Counts asserted by the emitter against Session 0's measurement. */
1932
+ export const SYSML_METAMODEL_COUNTS = { "metaclasses": 175, "enums": 7, "features": 415, "derived": 328, "opposites": 70, "operations": 70, "subsets": 190, "redefines": 119, "union": 1, "derivations": 225 };
1933
+ //# sourceMappingURL=sysml-metamodel.js.map