@memoarchitect/tools 0.7.2 → 0.8.8

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 (167) hide show
  1. package/README.md +1 -1
  2. package/corpus/README.md +63 -0
  3. package/corpus/sysml-v2-release/bnf/SysML-graphical-bnf.kgbnf +2264 -0
  4. package/package.json +4 -3
  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 +25 -0
  10. package/packages/tools/lib/bin/memo.js.map +1 -1
  11. package/packages/tools/lib/browser/index.d.ts +2 -0
  12. package/packages/tools/lib/browser/index.d.ts.map +1 -1
  13. package/packages/tools/lib/browser/index.js +1 -0
  14. package/packages/tools/lib/browser/index.js.map +1 -1
  15. package/packages/tools/lib/commands/dev.d.ts.map +1 -1
  16. package/packages/tools/lib/commands/dev.js +37 -15
  17. package/packages/tools/lib/commands/dev.js.map +1 -1
  18. package/packages/tools/lib/commands/dhf-lint.d.ts +10 -0
  19. package/packages/tools/lib/commands/dhf-lint.d.ts.map +1 -0
  20. package/packages/tools/lib/commands/dhf-lint.js +72 -0
  21. package/packages/tools/lib/commands/dhf-lint.js.map +1 -0
  22. package/packages/tools/lib/commands/dhf.d.ts.map +1 -1
  23. package/packages/tools/lib/commands/dhf.js +7 -1
  24. package/packages/tools/lib/commands/dhf.js.map +1 -1
  25. package/packages/tools/lib/commands/standards.d.ts +28 -0
  26. package/packages/tools/lib/commands/standards.d.ts.map +1 -0
  27. package/packages/tools/lib/commands/standards.js +203 -0
  28. package/packages/tools/lib/commands/standards.js.map +1 -0
  29. package/packages/tools/lib/commands/validate.d.ts.map +1 -1
  30. package/packages/tools/lib/commands/validate.js +13 -2
  31. package/packages/tools/lib/commands/validate.js.map +1 -1
  32. package/packages/tools/lib/dhf/document-compiler.d.ts.map +1 -1
  33. package/packages/tools/lib/dhf/document-compiler.js +13 -8
  34. package/packages/tools/lib/dhf/document-compiler.js.map +1 -1
  35. package/packages/tools/lib/dhf/document-registry.d.ts +16 -2
  36. package/packages/tools/lib/dhf/document-registry.d.ts.map +1 -1
  37. package/packages/tools/lib/dhf/document-registry.js +74 -23
  38. package/packages/tools/lib/dhf/document-registry.js.map +1 -1
  39. package/packages/tools/lib/dhf/index.d.ts +3 -0
  40. package/packages/tools/lib/dhf/index.d.ts.map +1 -1
  41. package/packages/tools/lib/dhf/index.js +4 -0
  42. package/packages/tools/lib/dhf/index.js.map +1 -1
  43. package/packages/tools/lib/dhf/query-engine.d.ts +12 -1
  44. package/packages/tools/lib/dhf/query-engine.d.ts.map +1 -1
  45. package/packages/tools/lib/dhf/query-engine.js +2 -1
  46. package/packages/tools/lib/dhf/query-engine.js.map +1 -1
  47. package/packages/tools/lib/dhf/query-executor.d.ts +72 -5
  48. package/packages/tools/lib/dhf/query-executor.d.ts.map +1 -1
  49. package/packages/tools/lib/dhf/query-executor.js +471 -81
  50. package/packages/tools/lib/dhf/query-executor.js.map +1 -1
  51. package/packages/tools/lib/dhf/script-runner.js +6 -6
  52. package/packages/tools/lib/dhf/script-runner.js.map +1 -1
  53. package/packages/tools/lib/dhf/standards-block.d.ts +40 -0
  54. package/packages/tools/lib/dhf/standards-block.d.ts.map +1 -0
  55. package/packages/tools/lib/dhf/standards-block.js +223 -0
  56. package/packages/tools/lib/dhf/standards-block.js.map +1 -0
  57. package/packages/tools/lib/dhf/standards-library.d.ts +123 -0
  58. package/packages/tools/lib/dhf/standards-library.d.ts.map +1 -0
  59. package/packages/tools/lib/dhf/standards-library.js +295 -0
  60. package/packages/tools/lib/dhf/standards-library.js.map +1 -0
  61. package/packages/tools/lib/dhf/standards-report.d.ts +189 -0
  62. package/packages/tools/lib/dhf/standards-report.d.ts.map +1 -0
  63. package/packages/tools/lib/dhf/standards-report.js +384 -0
  64. package/packages/tools/lib/dhf/standards-report.js.map +1 -0
  65. package/packages/tools/lib/dhf/template-lint.d.ts +42 -0
  66. package/packages/tools/lib/dhf/template-lint.d.ts.map +1 -0
  67. package/packages/tools/lib/dhf/template-lint.js +421 -0
  68. package/packages/tools/lib/dhf/template-lint.js.map +1 -0
  69. package/packages/tools/lib/dhf/template-resolver.d.ts.map +1 -1
  70. package/packages/tools/lib/dhf/template-resolver.js +17 -5
  71. package/packages/tools/lib/dhf/template-resolver.js.map +1 -1
  72. package/packages/tools/lib/importer/cameo-importer.js +2 -2
  73. package/packages/tools/lib/importer/cameo-importer.js.map +1 -1
  74. package/packages/tools/lib/importer/ea-importer.d.ts.map +1 -1
  75. package/packages/tools/lib/importer/ea-importer.js +4 -3
  76. package/packages/tools/lib/importer/ea-importer.js.map +1 -1
  77. package/packages/tools/lib/importer/owl-importer.d.ts.map +1 -1
  78. package/packages/tools/lib/importer/owl-importer.js +2 -3
  79. package/packages/tools/lib/importer/owl-importer.js.map +1 -1
  80. package/packages/tools/lib/language/generated/ast.d.ts +1172 -54
  81. package/packages/tools/lib/language/generated/ast.d.ts.map +1 -1
  82. package/packages/tools/lib/language/generated/ast.js +967 -39
  83. package/packages/tools/lib/language/generated/ast.js.map +1 -1
  84. package/packages/tools/lib/language/generated/grammar.d.ts.map +1 -1
  85. package/packages/tools/lib/language/generated/grammar.js +3694 -425
  86. package/packages/tools/lib/language/generated/grammar.js.map +1 -1
  87. package/packages/tools/lib/model/builder.d.ts.map +1 -1
  88. package/packages/tools/lib/model/builder.js +730 -48
  89. package/packages/tools/lib/model/builder.js.map +1 -1
  90. package/packages/tools/lib/model/kind-registry.d.ts +20 -0
  91. package/packages/tools/lib/model/kind-registry.d.ts.map +1 -1
  92. package/packages/tools/lib/model/kind-registry.js +38 -0
  93. package/packages/tools/lib/model/kind-registry.js.map +1 -1
  94. package/packages/tools/lib/model/manifest.d.ts +8 -0
  95. package/packages/tools/lib/model/manifest.d.ts.map +1 -1
  96. package/packages/tools/lib/model/manifest.js +3 -0
  97. package/packages/tools/lib/model/manifest.js.map +1 -1
  98. package/packages/tools/lib/model/naming.d.ts +57 -0
  99. package/packages/tools/lib/model/naming.d.ts.map +1 -0
  100. package/packages/tools/lib/model/naming.js +69 -0
  101. package/packages/tools/lib/model/naming.js.map +1 -0
  102. package/packages/tools/lib/model/native-project.d.ts +10 -7
  103. package/packages/tools/lib/model/native-project.d.ts.map +1 -1
  104. package/packages/tools/lib/model/native-project.js +76 -21
  105. package/packages/tools/lib/model/native-project.js.map +1 -1
  106. package/packages/tools/lib/model/ontology-loader.d.ts.map +1 -1
  107. package/packages/tools/lib/model/ontology-loader.js +3 -0
  108. package/packages/tools/lib/model/ontology-loader.js.map +1 -1
  109. package/packages/tools/lib/model/package-manifest.d.ts +4 -0
  110. package/packages/tools/lib/model/package-manifest.d.ts.map +1 -1
  111. package/packages/tools/lib/model/package-manifest.js +2 -0
  112. package/packages/tools/lib/model/package-manifest.js.map +1 -1
  113. package/packages/tools/lib/model/relationship-legality.d.ts +17 -0
  114. package/packages/tools/lib/model/relationship-legality.d.ts.map +1 -1
  115. package/packages/tools/lib/model/relationship-legality.js.map +1 -1
  116. package/packages/tools/lib/model/relationship-registry.d.ts +77 -0
  117. package/packages/tools/lib/model/relationship-registry.d.ts.map +1 -1
  118. package/packages/tools/lib/model/relationship-registry.js +217 -2
  119. package/packages/tools/lib/model/relationship-registry.js.map +1 -1
  120. package/packages/tools/lib/model/semantic.d.ts +48 -0
  121. package/packages/tools/lib/model/semantic.d.ts.map +1 -1
  122. package/packages/tools/lib/model/semantic.js +3 -0
  123. package/packages/tools/lib/model/semantic.js.map +1 -1
  124. package/packages/tools/lib/model/settings-boundary.js +1 -1
  125. package/packages/tools/lib/model/settings-boundary.js.map +1 -1
  126. package/packages/tools/lib/model/short-id.d.ts.map +1 -1
  127. package/packages/tools/lib/model/short-id.js +1 -3
  128. package/packages/tools/lib/model/short-id.js.map +1 -1
  129. package/packages/tools/lib/model/view-deriver.d.ts +10 -1
  130. package/packages/tools/lib/model/view-deriver.d.ts.map +1 -1
  131. package/packages/tools/lib/model/view-deriver.js +104 -5
  132. package/packages/tools/lib/model/view-deriver.js.map +1 -1
  133. package/packages/tools/lib/protocol/messages.d.ts +85 -3
  134. package/packages/tools/lib/protocol/messages.d.ts.map +1 -1
  135. package/packages/tools/lib/server/dev-server.d.ts.map +1 -1
  136. package/packages/tools/lib/server/dev-server.js +161 -5
  137. package/packages/tools/lib/server/dev-server.js.map +1 -1
  138. package/packages/tools/lib/server/package-source.d.ts +26 -0
  139. package/packages/tools/lib/server/package-source.d.ts.map +1 -0
  140. package/packages/tools/lib/server/package-source.js +81 -0
  141. package/packages/tools/lib/server/package-source.js.map +1 -0
  142. package/packages/tools/lib/server/package-writer.d.ts +94 -0
  143. package/packages/tools/lib/server/package-writer.d.ts.map +1 -0
  144. package/packages/tools/lib/server/package-writer.js +317 -0
  145. package/packages/tools/lib/server/package-writer.js.map +1 -0
  146. package/packages/tools/lib/server/persistor.d.ts +20 -0
  147. package/packages/tools/lib/server/persistor.d.ts.map +1 -1
  148. package/packages/tools/lib/server/persistor.js +29 -8
  149. package/packages/tools/lib/server/persistor.js.map +1 -1
  150. package/packages/tools/lib/server/relationship-writer.d.ts +13 -1
  151. package/packages/tools/lib/server/relationship-writer.d.ts.map +1 -1
  152. package/packages/tools/lib/server/relationship-writer.js +59 -0
  153. package/packages/tools/lib/server/relationship-writer.js.map +1 -1
  154. package/packages/tools/lib/server/sysml-notation.d.ts +1 -1
  155. package/packages/tools/lib/server/sysml-notation.d.ts.map +1 -1
  156. package/packages/tools/lib/server/sysml-notation.js +17 -0
  157. package/packages/tools/lib/server/sysml-notation.js.map +1 -1
  158. package/packages/tools/lib/server/view-layout-store.d.ts.map +1 -1
  159. package/packages/tools/lib/server/view-layout-store.js +1 -0
  160. package/packages/tools/lib/server/view-layout-store.js.map +1 -1
  161. package/packages/tools/lib/validator/behavior-validator.d.ts +1 -1
  162. package/packages/tools/lib/validator/behavior-validator.js +1 -1
  163. package/packages/tools/lib/validator/constraint-eval.d.ts +16 -0
  164. package/packages/tools/lib/validator/constraint-eval.d.ts.map +1 -1
  165. package/packages/tools/lib/validator/constraint-eval.js +102 -0
  166. package/packages/tools/lib/validator/constraint-eval.js.map +1 -1
  167. package/packages/tools/src/grammar/memo-sysml.langium +425 -26
@@ -9,12 +9,23 @@ export const MemoSysMLTerminals = {
9
9
  SL_COMMENT: /\/\/[^\n\r]*/,
10
10
  ML_COMMENT: /\/\*[\s\S]*?\*\//,
11
11
  DOC_COMMENT: /doc\s+\/\*[\s\S]*?\*\//,
12
+ SHORT_NAME: /<[a-zA-Z_][a-zA-Z0-9_]*>/,
12
13
  ID: /[a-zA-Z_][a-zA-Z0-9_]*/,
13
14
  UNRESTRICTED_NAME: /'(?:[^'\\]|\\.)*'/,
14
15
  STRING: /"(?:[^"\\]|\\.)*"/,
15
16
  REAL: /[0-9]+\.[0-9]+/,
16
17
  INT: /[0-9]+/,
17
18
  };
19
+ export const AbstractConnectionUsage = {
20
+ $type: 'AbstractConnectionUsage',
21
+ isAbstract: 'isAbstract',
22
+ multiplicity: 'multiplicity',
23
+ name: 'name',
24
+ type: 'type'
25
+ };
26
+ export function isAbstractConnectionUsage(item) {
27
+ return reflection.isInstance(item, AbstractConnectionUsage.$type);
28
+ }
18
29
  export const AcceptActionUsage = {
19
30
  $type: 'AcceptActionUsage',
20
31
  name: 'name',
@@ -70,6 +81,18 @@ export const ActionUsageBodyMember = {
70
81
  export function isActionUsageBodyMember(item) {
71
82
  return reflection.isInstance(item, ActionUsageBodyMember.$type);
72
83
  }
84
+ export const ActorMember = {
85
+ $type: 'ActorMember',
86
+ bindingOp: 'bindingOp',
87
+ body: 'body',
88
+ boundRef: 'boundRef',
89
+ multiplicity: 'multiplicity',
90
+ name: 'name',
91
+ type: 'type'
92
+ };
93
+ export function isActorMember(item) {
94
+ return reflection.isInstance(item, ActorMember.$type);
95
+ }
73
96
  export const AliasDeclaration = {
74
97
  $type: 'AliasDeclaration',
75
98
  name: 'name',
@@ -83,17 +106,38 @@ export function isAliasName(item) {
83
106
  }
84
107
  export const AllocateUsage = {
85
108
  $type: 'AllocateUsage',
109
+ body: 'body',
110
+ name: 'name',
86
111
  source: 'source',
87
- target: 'target'
112
+ target: 'target',
113
+ type: 'type'
88
114
  };
89
115
  export function isAllocateUsage(item) {
90
116
  return reflection.isInstance(item, AllocateUsage.$type);
91
117
  }
118
+ export const AllocationDefinition = {
119
+ $type: 'AllocationDefinition',
120
+ additionalSpecializations: 'additionalSpecializations',
121
+ body: 'body',
122
+ isAbstract: 'isAbstract',
123
+ name: 'name',
124
+ specialization: 'specialization'
125
+ };
126
+ export function isAllocationDefinition(item) {
127
+ return reflection.isInstance(item, AllocationDefinition.$type);
128
+ }
129
+ export const ArcadiaMember = {
130
+ $type: 'ArcadiaMember'
131
+ };
132
+ export function isArcadiaMember(item) {
133
+ return reflection.isInstance(item, ArcadiaMember.$type);
134
+ }
92
135
  export const AttributeDefinition = {
93
136
  $type: 'AttributeDefinition',
94
137
  additionalSpecializations: 'additionalSpecializations',
95
138
  body: 'body',
96
139
  isAbstract: 'isAbstract',
140
+ isVariation: 'isVariation',
97
141
  name: 'name',
98
142
  specialization: 'specialization'
99
143
  };
@@ -103,6 +147,8 @@ export function isAttributeDefinition(item) {
103
147
  export const AttributeMember = {
104
148
  $type: 'AttributeMember',
105
149
  body: 'body',
150
+ isDefault: 'isDefault',
151
+ isVariation: 'isVariation',
106
152
  multiplicity: 'multiplicity',
107
153
  name: 'name',
108
154
  redefines: 'redefines',
@@ -127,6 +173,14 @@ export const BinaryExpr = {
127
173
  export function isBinaryExpr(item) {
128
174
  return reflection.isInstance(item, BinaryExpr.$type);
129
175
  }
176
+ export const BindingUsage = {
177
+ $type: 'BindingUsage',
178
+ source: 'source',
179
+ target: 'target'
180
+ };
181
+ export function isBindingUsage(item) {
182
+ return reflection.isInstance(item, BindingUsage.$type);
183
+ }
130
184
  export const BooleanValue = {
131
185
  $type: 'BooleanValue',
132
186
  value: 'value'
@@ -143,6 +197,26 @@ export const CollectionOp = {
143
197
  export function isCollectionOp(item) {
144
198
  return reflection.isInstance(item, CollectionOp.$type);
145
199
  }
200
+ export const ConcernDefinition = {
201
+ $type: 'ConcernDefinition',
202
+ additionalSpecializations: 'additionalSpecializations',
203
+ body: 'body',
204
+ isAbstract: 'isAbstract',
205
+ name: 'name',
206
+ specialization: 'specialization'
207
+ };
208
+ export function isConcernDefinition(item) {
209
+ return reflection.isInstance(item, ConcernDefinition.$type);
210
+ }
211
+ export const ConcernUsage = {
212
+ $type: 'ConcernUsage',
213
+ body: 'body',
214
+ name: 'name',
215
+ type: 'type'
216
+ };
217
+ export function isConcernUsage(item) {
218
+ return reflection.isInstance(item, ConcernUsage.$type);
219
+ }
146
220
  export const ConnectionBodyMember = {
147
221
  $type: 'ConnectionBodyMember'
148
222
  };
@@ -216,6 +290,17 @@ export const DefinitionMember = {
216
290
  export function isDefinitionMember(item) {
217
291
  return reflection.isInstance(item, DefinitionMember.$type);
218
292
  }
293
+ export const Dependency = {
294
+ $type: 'Dependency',
295
+ body: 'body',
296
+ clients: 'clients',
297
+ name: 'name',
298
+ prefixMetadata: 'prefixMetadata',
299
+ suppliers: 'suppliers'
300
+ };
301
+ export function isDependency(item) {
302
+ return reflection.isInstance(item, Dependency.$type);
303
+ }
219
304
  export const DocComment = {
220
305
  $type: 'DocComment',
221
306
  content: 'content'
@@ -234,6 +319,8 @@ export const EndDeclaration = {
234
319
  isConjugated: 'isConjugated',
235
320
  multiplicity: 'multiplicity',
236
321
  name: 'name',
322
+ redefinedEnd: 'redefinedEnd',
323
+ redefines: 'redefines',
237
324
  type: 'type'
238
325
  };
239
326
  export function isEndDeclaration(item) {
@@ -241,6 +328,7 @@ export function isEndDeclaration(item) {
241
328
  }
242
329
  export const EnumDefinition = {
243
330
  $type: 'EnumDefinition',
331
+ docs: 'docs',
244
332
  literals: 'literals',
245
333
  name: 'name'
246
334
  };
@@ -255,15 +343,28 @@ export function isEnumLiteral(item) {
255
343
  return reflection.isInstance(item, EnumLiteral.$type);
256
344
  }
257
345
  export function isEnumLiteralName(item) {
258
- return item === 'in' || item === 'out' || item === 'inout' || item === 'part' || item === 'requirement' || item === 'action' || item === 'item' || item === 'port' || item === 'interface' || item === 'connection' || item === 'attribute' || item === 'constraint' || item === 'enum' || item === 'view' || item === 'viewpoint' || item === 'ref' || item === 'import' || item === 'package' || item === 'flow' || item === 'first' || item === 'allocate' || item === 'library' || item === 'private' || item === 'public' || item === 'state' || item === 'verification' || item === 'use' || item === 'fork' || item === 'join' || (typeof item === 'string' && (/[a-zA-Z_][a-zA-Z0-9_]*/.test(item) || /'(?:[^'\\]|\\.)*'/.test(item)));
346
+ return item === 'in' || item === 'out' || item === 'inout' || item === 'part' || item === 'requirement' || item === 'action' || item === 'item' || item === 'port' || item === 'interface' || item === 'connection' || item === 'attribute' || item === 'constraint' || item === 'enum' || item === 'view' || item === 'viewpoint' || item === 'ref' || item === 'import' || item === 'package' || item === 'flow' || item === 'first' || item === 'allocate' || item === 'library' || item === 'private' || item === 'public' || item === 'state' || item === 'verification' || item === 'satisfy' || item === 'verify' || item === 'use' || item === 'fork' || item === 'join' || (typeof item === 'string' && (/[a-zA-Z_][a-zA-Z0-9_]*/.test(item) || /'(?:[^'\\]|\\.)*'/.test(item)));
259
347
  }
260
348
  export const EnumValue = {
261
349
  $type: 'EnumValue',
262
- enumRef: 'enumRef'
350
+ enumRef: 'enumRef',
351
+ metaclass: 'metaclass',
352
+ tail: 'tail'
263
353
  };
264
354
  export function isEnumValue(item) {
265
355
  return reflection.isInstance(item, EnumValue.$type);
266
356
  }
357
+ export const ExhibitStateUsage = {
358
+ $type: 'ExhibitStateUsage',
359
+ body: 'body',
360
+ exhibited: 'exhibited',
361
+ isState: 'isState',
362
+ name: 'name',
363
+ type: 'type'
364
+ };
365
+ export function isExhibitStateUsage(item) {
366
+ return reflection.isInstance(item, ExhibitStateUsage.$type);
367
+ }
267
368
  export const ExposeMember = {
268
369
  $type: 'ExposeMember',
269
370
  path: 'path'
@@ -281,6 +382,17 @@ export const FeatureChain = {
281
382
  export function isFeatureChain(item) {
282
383
  return reflection.isInstance(item, FeatureChain.$type);
283
384
  }
385
+ export const FeatureMembershipMember = {
386
+ $type: 'FeatureMembershipMember',
387
+ feature: 'feature',
388
+ isRedefinition: 'isRedefinition',
389
+ multiplicity: 'multiplicity',
390
+ type: 'type',
391
+ value: 'value'
392
+ };
393
+ export function isFeatureMembershipMember(item) {
394
+ return reflection.isInstance(item, FeatureMembershipMember.$type);
395
+ }
284
396
  export function isFeatureName(item) {
285
397
  return item === 'part' || item === 'requirement' || item === 'action' || item === 'item' || item === 'port' || item === 'interface' || item === 'connection' || item === 'flow' || item === 'view' || item === 'viewpoint' || item === 'attribute' || item === 'constraint' || item === 'ref' || item === 'allocate' || item === 'end' || item === 'enum' || item === 'function' || item === 'operator' || item === 'state' || item === 'verification' || item === 'standard' || (typeof item === 'string' && (/[a-zA-Z_][a-zA-Z0-9_]*/.test(item)));
286
398
  }
@@ -293,7 +405,9 @@ export function isFeatureReference(item) {
293
405
  }
294
406
  export const FlowConnectionUsage = {
295
407
  $type: 'FlowConnectionUsage',
408
+ body: 'body',
296
409
  itemType: 'itemType',
410
+ name: 'name',
297
411
  source: 'source',
298
412
  target: 'target'
299
413
  };
@@ -307,6 +421,17 @@ export const FlowEnd = {
307
421
  export function isFlowEnd(item) {
308
422
  return reflection.isInstance(item, FlowEnd.$type);
309
423
  }
424
+ export const FramedConcernMember = {
425
+ $type: 'FramedConcernMember',
426
+ body: 'body',
427
+ framed: 'framed',
428
+ isConcern: 'isConcern',
429
+ name: 'name',
430
+ type: 'type'
431
+ };
432
+ export function isFramedConcernMember(item) {
433
+ return reflection.isInstance(item, FramedConcernMember.$type);
434
+ }
310
435
  export const ImportDeclaration = {
311
436
  $type: 'ImportDeclaration',
312
437
  path: 'path',
@@ -318,6 +443,17 @@ export function isImportDeclaration(item) {
318
443
  export function isImportPath(item) {
319
444
  return typeof item === 'string';
320
445
  }
446
+ export const IncludeUseCaseUsage = {
447
+ $type: 'IncludeUseCaseUsage',
448
+ body: 'body',
449
+ included: 'included',
450
+ isUseCase: 'isUseCase',
451
+ name: 'name',
452
+ type: 'type'
453
+ };
454
+ export function isIncludeUseCaseUsage(item) {
455
+ return reflection.isInstance(item, IncludeUseCaseUsage.$type);
456
+ }
321
457
  export const InterfaceDefinition = {
322
458
  $type: 'InterfaceDefinition',
323
459
  additionalSpecializations: 'additionalSpecializations',
@@ -333,6 +469,8 @@ export const InterfaceUsage = {
333
469
  $type: 'InterfaceUsage',
334
470
  body: 'body',
335
471
  name: 'name',
472
+ source: 'source',
473
+ target: 'target',
336
474
  type: 'type'
337
475
  };
338
476
  export function isInterfaceUsage(item) {
@@ -350,6 +488,7 @@ export const ItemDefinition = {
350
488
  additionalSpecializations: 'additionalSpecializations',
351
489
  body: 'body',
352
490
  isAbstract: 'isAbstract',
491
+ isVariation: 'isVariation',
353
492
  name: 'name',
354
493
  specialization: 'specialization'
355
494
  };
@@ -381,6 +520,17 @@ export function isLiteralExpr(item) {
381
520
  export function isMemberName(item) {
382
521
  return item === 'requirement' || item === 'action' || item === 'item' || item === 'port' || item === 'interface' || item === 'connection' || item === 'attribute' || item === 'constraint' || item === 'view' || item === 'viewpoint' || item === 'ref' || item === 'part' || item === 'state' || item === 'verification' || item === 'standard' || (typeof item === 'string' && (/[a-zA-Z_][a-zA-Z0-9_]*/.test(item)));
383
522
  }
523
+ export const MessageUsage = {
524
+ $type: 'MessageUsage',
525
+ body: 'body',
526
+ itemType: 'itemType',
527
+ name: 'name',
528
+ source: 'source',
529
+ target: 'target'
530
+ };
531
+ export function isMessageUsage(item) {
532
+ return reflection.isInstance(item, MessageUsage.$type);
533
+ }
384
534
  export const MetadataApplication = {
385
535
  $type: 'MetadataApplication',
386
536
  body: 'body',
@@ -389,15 +539,31 @@ export const MetadataApplication = {
389
539
  export function isMetadataApplication(item) {
390
540
  return reflection.isInstance(item, MetadataApplication.$type);
391
541
  }
542
+ export const MetadataBodyMember = {
543
+ $type: 'MetadataBodyMember'
544
+ };
545
+ export function isMetadataBodyMember(item) {
546
+ return reflection.isInstance(item, MetadataBodyMember.$type);
547
+ }
392
548
  export const MetadataDefinition = {
393
549
  $type: 'MetadataDefinition',
394
550
  body: 'body',
395
551
  name: 'name',
552
+ shortName: 'shortName',
396
553
  specialization: 'specialization'
397
554
  };
398
555
  export function isMetadataDefinition(item) {
399
556
  return reflection.isInstance(item, MetadataDefinition.$type);
400
557
  }
558
+ export const MetadataFeatureMember = {
559
+ $type: 'MetadataFeatureMember',
560
+ name: 'name',
561
+ redefines: 'redefines',
562
+ value: 'value'
563
+ };
564
+ export function isMetadataFeatureMember(item) {
565
+ return reflection.isInstance(item, MetadataFeatureMember.$type);
566
+ }
401
567
  export const Model = {
402
568
  $type: 'Model',
403
569
  members: 'members'
@@ -421,6 +587,15 @@ export const NamespaceMember = {
421
587
  export function isNamespaceMember(item) {
422
588
  return reflection.isInstance(item, NamespaceMember.$type);
423
589
  }
590
+ export const ObjectiveMember = {
591
+ $type: 'ObjectiveMember',
592
+ body: 'body',
593
+ name: 'name',
594
+ type: 'type'
595
+ };
596
+ export function isObjectiveMember(item) {
597
+ return reflection.isInstance(item, ObjectiveMember.$type);
598
+ }
424
599
  export const PackageDeclaration = {
425
600
  $type: 'PackageDeclaration',
426
601
  isLibrary: 'isLibrary',
@@ -442,6 +617,7 @@ export const PartDefinition = {
442
617
  additionalSpecializations: 'additionalSpecializations',
443
618
  body: 'body',
444
619
  isAbstract: 'isAbstract',
620
+ isVariation: 'isVariation',
445
621
  name: 'name',
446
622
  specialization: 'specialization'
447
623
  };
@@ -453,6 +629,7 @@ export const PartMember = {
453
629
  bindingOp: 'bindingOp',
454
630
  body: 'body',
455
631
  boundRef: 'boundRef',
632
+ isVariation: 'isVariation',
456
633
  multiplicity: 'multiplicity',
457
634
  name: 'name',
458
635
  subsetValue: 'subsetValue',
@@ -464,12 +641,25 @@ export function isPartMember(item) {
464
641
  export const PartUsage = {
465
642
  $type: 'PartUsage',
466
643
  body: 'body',
644
+ isVariation: 'isVariation',
645
+ multiplicity: 'multiplicity',
467
646
  name: 'name',
468
647
  type: 'type'
469
648
  };
470
649
  export function isPartUsage(item) {
471
650
  return reflection.isInstance(item, PartUsage.$type);
472
651
  }
652
+ export const PerformActionUsage = {
653
+ $type: 'PerformActionUsage',
654
+ body: 'body',
655
+ isAction: 'isAction',
656
+ name: 'name',
657
+ performed: 'performed',
658
+ type: 'type'
659
+ };
660
+ export function isPerformActionUsage(item) {
661
+ return reflection.isInstance(item, PerformActionUsage.$type);
662
+ }
473
663
  export const PortDefinition = {
474
664
  $type: 'PortDefinition',
475
665
  additionalSpecializations: 'additionalSpecializations',
@@ -492,6 +682,13 @@ export const PortUsage = {
492
682
  export function isPortUsage(item) {
493
683
  return reflection.isInstance(item, PortUsage.$type);
494
684
  }
685
+ export const PrefixMetadataAnnotation = {
686
+ $type: 'PrefixMetadataAnnotation',
687
+ type: 'type'
688
+ };
689
+ export function isPrefixMetadataAnnotation(item) {
690
+ return reflection.isInstance(item, PrefixMetadataAnnotation.$type);
691
+ }
495
692
  export function isQualifiedName(item) {
496
693
  return typeof item === 'string';
497
694
  }
@@ -513,11 +710,14 @@ export function isReferenceName(item) {
513
710
  }
514
711
  export const RefMember = {
515
712
  $type: 'RefMember',
713
+ bindingOp: 'bindingOp',
714
+ boundRef: 'boundRef',
516
715
  isConjugated: 'isConjugated',
517
716
  isItem: 'isItem',
518
717
  multiplicity: 'multiplicity',
519
718
  name: 'name',
520
719
  redefines: 'redefines',
720
+ subsetValue: 'subsetValue',
521
721
  type: 'type',
522
722
  value: 'value'
523
723
  };
@@ -552,6 +752,25 @@ export const RequirementUsage = {
552
752
  export function isRequirementUsage(item) {
553
753
  return reflection.isInstance(item, RequirementUsage.$type);
554
754
  }
755
+ export const RequirementVerificationMember = {
756
+ $type: 'RequirementVerificationMember',
757
+ body: 'body',
758
+ requirement: 'requirement'
759
+ };
760
+ export function isRequirementVerificationMember(item) {
761
+ return reflection.isInstance(item, RequirementVerificationMember.$type);
762
+ }
763
+ export const SatisfyRequirementUsage = {
764
+ $type: 'SatisfyRequirementUsage',
765
+ body: 'body',
766
+ isAsserted: 'isAsserted',
767
+ isNegated: 'isNegated',
768
+ requirement: 'requirement',
769
+ satisfyingFeature: 'satisfyingFeature'
770
+ };
771
+ export function isSatisfyRequirementUsage(item) {
772
+ return reflection.isInstance(item, SatisfyRequirementUsage.$type);
773
+ }
555
774
  export const SendActionUsage = {
556
775
  $type: 'SendActionUsage',
557
776
  followsPrevious: 'followsPrevious',
@@ -584,6 +803,18 @@ export const Specialization = {
584
803
  export function isSpecialization(item) {
585
804
  return reflection.isInstance(item, Specialization.$type);
586
805
  }
806
+ export const StakeholderMember = {
807
+ $type: 'StakeholderMember',
808
+ bindingOp: 'bindingOp',
809
+ body: 'body',
810
+ boundRef: 'boundRef',
811
+ multiplicity: 'multiplicity',
812
+ name: 'name',
813
+ type: 'type'
814
+ };
815
+ export function isStakeholderMember(item) {
816
+ return reflection.isInstance(item, StakeholderMember.$type);
817
+ }
587
818
  export const StateDefinition = {
588
819
  $type: 'StateDefinition',
589
820
  additionalSpecializations: 'additionalSpecializations',
@@ -611,6 +842,18 @@ export const StringValue = {
611
842
  export function isStringValue(item) {
612
843
  return reflection.isInstance(item, StringValue.$type);
613
844
  }
845
+ export const SubjectMember = {
846
+ $type: 'SubjectMember',
847
+ bindingOp: 'bindingOp',
848
+ body: 'body',
849
+ boundRefs: 'boundRefs',
850
+ multiplicity: 'multiplicity',
851
+ name: 'name',
852
+ type: 'type'
853
+ };
854
+ export function isSubjectMember(item) {
855
+ return reflection.isInstance(item, SubjectMember.$type);
856
+ }
614
857
  export function isSuccessionRef(item) {
615
858
  return item === 'start' || item === 'done' || (typeof item === 'string' && (/[a-zA-Z_][a-zA-Z0-9_]*/.test(item)));
616
859
  }
@@ -637,6 +880,20 @@ export const TerminateUsage = {
637
880
  export function isTerminateUsage(item) {
638
881
  return reflection.isInstance(item, TerminateUsage.$type);
639
882
  }
883
+ export const TransitionUsage = {
884
+ $type: 'TransitionUsage',
885
+ body: 'body',
886
+ effect: 'effect',
887
+ guard: 'guard',
888
+ name: 'name',
889
+ source: 'source',
890
+ target: 'target',
891
+ trigger: 'trigger',
892
+ type: 'type'
893
+ };
894
+ export function isTransitionUsage(item) {
895
+ return reflection.isInstance(item, TransitionUsage.$type);
896
+ }
640
897
  export const UnaryExpr = {
641
898
  $type: 'UnaryExpr',
642
899
  op: 'op',
@@ -671,6 +928,18 @@ export const UseCaseDeclaration = {
671
928
  export function isUseCaseDeclaration(item) {
672
929
  return reflection.isInstance(item, UseCaseDeclaration.$type);
673
930
  }
931
+ export const VariantMember = {
932
+ $type: 'VariantMember',
933
+ body: 'body',
934
+ multiplicity: 'multiplicity',
935
+ name: 'name',
936
+ type: 'type',
937
+ usageKind: 'usageKind',
938
+ value: 'value'
939
+ };
940
+ export function isVariantMember(item) {
941
+ return reflection.isInstance(item, VariantMember.$type);
942
+ }
674
943
  export const VerificationDefinition = {
675
944
  $type: 'VerificationDefinition',
676
945
  additionalSpecializations: 'additionalSpecializations',
@@ -730,6 +999,26 @@ export function isViewUsage(item) {
730
999
  }
731
1000
  export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
732
1001
  types = {
1002
+ AbstractConnectionUsage: {
1003
+ name: AbstractConnectionUsage.$type,
1004
+ properties: {
1005
+ isAbstract: {
1006
+ name: AbstractConnectionUsage.isAbstract,
1007
+ defaultValue: false
1008
+ },
1009
+ multiplicity: {
1010
+ name: AbstractConnectionUsage.multiplicity,
1011
+ optional: true
1012
+ },
1013
+ name: {
1014
+ name: AbstractConnectionUsage.name
1015
+ },
1016
+ type: {
1017
+ name: AbstractConnectionUsage.type
1018
+ }
1019
+ },
1020
+ superTypes: [PackageMember.$type]
1021
+ },
733
1022
  AcceptActionUsage: {
734
1023
  name: AcceptActionUsage.$type,
735
1024
  properties: {
@@ -822,6 +1111,36 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
822
1111
  properties: {},
823
1112
  superTypes: []
824
1113
  },
1114
+ ActorMember: {
1115
+ name: ActorMember.$type,
1116
+ properties: {
1117
+ bindingOp: {
1118
+ name: ActorMember.bindingOp,
1119
+ optional: true
1120
+ },
1121
+ body: {
1122
+ name: ActorMember.body,
1123
+ defaultValue: [],
1124
+ optional: true
1125
+ },
1126
+ boundRef: {
1127
+ name: ActorMember.boundRef,
1128
+ optional: true
1129
+ },
1130
+ multiplicity: {
1131
+ name: ActorMember.multiplicity,
1132
+ optional: true
1133
+ },
1134
+ name: {
1135
+ name: ActorMember.name
1136
+ },
1137
+ type: {
1138
+ name: ActorMember.type,
1139
+ optional: true
1140
+ }
1141
+ },
1142
+ superTypes: [ArcadiaMember.$type]
1143
+ },
825
1144
  AliasDeclaration: {
826
1145
  name: AliasDeclaration.$type,
827
1146
  properties: {
@@ -837,14 +1156,60 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
837
1156
  AllocateUsage: {
838
1157
  name: AllocateUsage.$type,
839
1158
  properties: {
1159
+ body: {
1160
+ name: AllocateUsage.body,
1161
+ defaultValue: [],
1162
+ optional: true
1163
+ },
1164
+ name: {
1165
+ name: AllocateUsage.name,
1166
+ optional: true
1167
+ },
840
1168
  source: {
841
1169
  name: AllocateUsage.source
842
1170
  },
843
1171
  target: {
844
1172
  name: AllocateUsage.target
1173
+ },
1174
+ type: {
1175
+ name: AllocateUsage.type,
1176
+ optional: true
845
1177
  }
846
1178
  },
847
- superTypes: [PackageMember.$type]
1179
+ superTypes: [ArcadiaMember.$type]
1180
+ },
1181
+ AllocationDefinition: {
1182
+ name: AllocationDefinition.$type,
1183
+ properties: {
1184
+ additionalSpecializations: {
1185
+ name: AllocationDefinition.additionalSpecializations,
1186
+ defaultValue: [],
1187
+ optional: true
1188
+ },
1189
+ body: {
1190
+ name: AllocationDefinition.body,
1191
+ defaultValue: [],
1192
+ optional: true
1193
+ },
1194
+ isAbstract: {
1195
+ name: AllocationDefinition.isAbstract,
1196
+ defaultValue: false,
1197
+ optional: true
1198
+ },
1199
+ name: {
1200
+ name: AllocationDefinition.name
1201
+ },
1202
+ specialization: {
1203
+ name: AllocationDefinition.specialization,
1204
+ optional: true
1205
+ }
1206
+ },
1207
+ superTypes: [DefinitionMember.$type]
1208
+ },
1209
+ ArcadiaMember: {
1210
+ name: ArcadiaMember.$type,
1211
+ properties: {},
1212
+ superTypes: [DefinitionBodyMember.$type, PackageMember.$type, UsageBodyMember.$type]
848
1213
  },
849
1214
  AttributeDefinition: {
850
1215
  name: AttributeDefinition.$type,
@@ -864,6 +1229,11 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
864
1229
  defaultValue: false,
865
1230
  optional: true
866
1231
  },
1232
+ isVariation: {
1233
+ name: AttributeDefinition.isVariation,
1234
+ defaultValue: false,
1235
+ optional: true
1236
+ },
867
1237
  name: {
868
1238
  name: AttributeDefinition.name
869
1239
  },
@@ -882,6 +1252,16 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
882
1252
  defaultValue: [],
883
1253
  optional: true
884
1254
  },
1255
+ isDefault: {
1256
+ name: AttributeMember.isDefault,
1257
+ defaultValue: false,
1258
+ optional: true
1259
+ },
1260
+ isVariation: {
1261
+ name: AttributeMember.isVariation,
1262
+ defaultValue: false,
1263
+ optional: true
1264
+ },
885
1265
  multiplicity: {
886
1266
  name: AttributeMember.multiplicity,
887
1267
  optional: true
@@ -925,6 +1305,18 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
925
1305
  },
926
1306
  superTypes: [ConstraintExpr.$type]
927
1307
  },
1308
+ BindingUsage: {
1309
+ name: BindingUsage.$type,
1310
+ properties: {
1311
+ source: {
1312
+ name: BindingUsage.source
1313
+ },
1314
+ target: {
1315
+ name: BindingUsage.target
1316
+ }
1317
+ },
1318
+ superTypes: [PackageMember.$type]
1319
+ },
928
1320
  BooleanValue: {
929
1321
  name: BooleanValue.$type,
930
1322
  properties: {
@@ -950,64 +1342,110 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
950
1342
  },
951
1343
  superTypes: [ConstraintExpr.$type]
952
1344
  },
953
- ConnectionBodyMember: {
954
- name: ConnectionBodyMember.$type,
955
- properties: {},
956
- superTypes: []
957
- },
958
- ConnectionDefinition: {
959
- name: ConnectionDefinition.$type,
1345
+ ConcernDefinition: {
1346
+ name: ConcernDefinition.$type,
960
1347
  properties: {
961
1348
  additionalSpecializations: {
962
- name: ConnectionDefinition.additionalSpecializations,
1349
+ name: ConcernDefinition.additionalSpecializations,
963
1350
  defaultValue: [],
964
1351
  optional: true
965
1352
  },
966
1353
  body: {
967
- name: ConnectionDefinition.body,
1354
+ name: ConcernDefinition.body,
968
1355
  defaultValue: [],
969
1356
  optional: true
970
1357
  },
971
1358
  isAbstract: {
972
- name: ConnectionDefinition.isAbstract,
1359
+ name: ConcernDefinition.isAbstract,
973
1360
  defaultValue: false,
974
1361
  optional: true
975
1362
  },
976
1363
  name: {
977
- name: ConnectionDefinition.name
1364
+ name: ConcernDefinition.name
978
1365
  },
979
1366
  specialization: {
980
- name: ConnectionDefinition.specialization,
1367
+ name: ConcernDefinition.specialization,
981
1368
  optional: true
982
1369
  }
983
1370
  },
984
1371
  superTypes: [DefinitionMember.$type]
985
1372
  },
986
- ConnectionEnd: {
987
- name: ConnectionEnd.$type,
988
- properties: {
989
- endName: {
990
- name: ConnectionEnd.endName
991
- },
992
- ref: {
993
- name: ConnectionEnd.ref
994
- }
995
- },
996
- superTypes: []
997
- },
998
- ConnectionUsage: {
999
- name: ConnectionUsage.$type,
1373
+ ConcernUsage: {
1374
+ name: ConcernUsage.$type,
1000
1375
  properties: {
1001
1376
  body: {
1002
- name: ConnectionUsage.body,
1377
+ name: ConcernUsage.body,
1003
1378
  defaultValue: [],
1004
1379
  optional: true
1005
1380
  },
1006
1381
  name: {
1007
- name: ConnectionUsage.name,
1008
- optional: true
1382
+ name: ConcernUsage.name
1009
1383
  },
1010
- source: {
1384
+ type: {
1385
+ name: ConcernUsage.type,
1386
+ optional: true
1387
+ }
1388
+ },
1389
+ superTypes: [ArcadiaMember.$type]
1390
+ },
1391
+ ConnectionBodyMember: {
1392
+ name: ConnectionBodyMember.$type,
1393
+ properties: {},
1394
+ superTypes: []
1395
+ },
1396
+ ConnectionDefinition: {
1397
+ name: ConnectionDefinition.$type,
1398
+ properties: {
1399
+ additionalSpecializations: {
1400
+ name: ConnectionDefinition.additionalSpecializations,
1401
+ defaultValue: [],
1402
+ optional: true
1403
+ },
1404
+ body: {
1405
+ name: ConnectionDefinition.body,
1406
+ defaultValue: [],
1407
+ optional: true
1408
+ },
1409
+ isAbstract: {
1410
+ name: ConnectionDefinition.isAbstract,
1411
+ defaultValue: false,
1412
+ optional: true
1413
+ },
1414
+ name: {
1415
+ name: ConnectionDefinition.name
1416
+ },
1417
+ specialization: {
1418
+ name: ConnectionDefinition.specialization,
1419
+ optional: true
1420
+ }
1421
+ },
1422
+ superTypes: [DefinitionMember.$type]
1423
+ },
1424
+ ConnectionEnd: {
1425
+ name: ConnectionEnd.$type,
1426
+ properties: {
1427
+ endName: {
1428
+ name: ConnectionEnd.endName
1429
+ },
1430
+ ref: {
1431
+ name: ConnectionEnd.ref
1432
+ }
1433
+ },
1434
+ superTypes: []
1435
+ },
1436
+ ConnectionUsage: {
1437
+ name: ConnectionUsage.$type,
1438
+ properties: {
1439
+ body: {
1440
+ name: ConnectionUsage.body,
1441
+ defaultValue: [],
1442
+ optional: true
1443
+ },
1444
+ name: {
1445
+ name: ConnectionUsage.name,
1446
+ optional: true
1447
+ },
1448
+ source: {
1011
1449
  name: ConnectionUsage.source
1012
1450
  },
1013
1451
  target: {
@@ -1075,6 +1513,34 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1075
1513
  properties: {},
1076
1514
  superTypes: [NamespaceMember.$type, PackageMember.$type]
1077
1515
  },
1516
+ Dependency: {
1517
+ name: Dependency.$type,
1518
+ properties: {
1519
+ body: {
1520
+ name: Dependency.body,
1521
+ defaultValue: [],
1522
+ optional: true
1523
+ },
1524
+ clients: {
1525
+ name: Dependency.clients,
1526
+ defaultValue: []
1527
+ },
1528
+ name: {
1529
+ name: Dependency.name,
1530
+ optional: true
1531
+ },
1532
+ prefixMetadata: {
1533
+ name: Dependency.prefixMetadata,
1534
+ defaultValue: [],
1535
+ optional: true
1536
+ },
1537
+ suppliers: {
1538
+ name: Dependency.suppliers,
1539
+ defaultValue: []
1540
+ }
1541
+ },
1542
+ superTypes: [NamespaceMember.$type, PackageMember.$type, UsageBodyMember.$type]
1543
+ },
1078
1544
  DocComment: {
1079
1545
  name: DocComment.$type,
1080
1546
  properties: {
@@ -1099,6 +1565,15 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1099
1565
  name: {
1100
1566
  name: EndDeclaration.name
1101
1567
  },
1568
+ redefinedEnd: {
1569
+ name: EndDeclaration.redefinedEnd,
1570
+ optional: true
1571
+ },
1572
+ redefines: {
1573
+ name: EndDeclaration.redefines,
1574
+ defaultValue: false,
1575
+ optional: true
1576
+ },
1102
1577
  type: {
1103
1578
  name: EndDeclaration.type,
1104
1579
  optional: true
@@ -1109,6 +1584,11 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1109
1584
  EnumDefinition: {
1110
1585
  name: EnumDefinition.$type,
1111
1586
  properties: {
1587
+ docs: {
1588
+ name: EnumDefinition.docs,
1589
+ defaultValue: [],
1590
+ optional: true
1591
+ },
1112
1592
  literals: {
1113
1593
  name: EnumDefinition.literals,
1114
1594
  defaultValue: [],
@@ -1134,10 +1614,47 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1134
1614
  properties: {
1135
1615
  enumRef: {
1136
1616
  name: EnumValue.enumRef
1617
+ },
1618
+ metaclass: {
1619
+ name: EnumValue.metaclass,
1620
+ optional: true
1621
+ },
1622
+ tail: {
1623
+ name: EnumValue.tail,
1624
+ defaultValue: [],
1625
+ optional: true
1137
1626
  }
1138
1627
  },
1139
1628
  superTypes: [AttributeValue.$type]
1140
1629
  },
1630
+ ExhibitStateUsage: {
1631
+ name: ExhibitStateUsage.$type,
1632
+ properties: {
1633
+ body: {
1634
+ name: ExhibitStateUsage.body,
1635
+ defaultValue: [],
1636
+ optional: true
1637
+ },
1638
+ exhibited: {
1639
+ name: ExhibitStateUsage.exhibited,
1640
+ optional: true
1641
+ },
1642
+ isState: {
1643
+ name: ExhibitStateUsage.isState,
1644
+ defaultValue: false,
1645
+ optional: true
1646
+ },
1647
+ name: {
1648
+ name: ExhibitStateUsage.name,
1649
+ optional: true
1650
+ },
1651
+ type: {
1652
+ name: ExhibitStateUsage.type,
1653
+ optional: true
1654
+ }
1655
+ },
1656
+ superTypes: [ArcadiaMember.$type]
1657
+ },
1141
1658
  ExposeMember: {
1142
1659
  name: ExposeMember.$type,
1143
1660
  properties: {
@@ -1157,6 +1674,32 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1157
1674
  },
1158
1675
  superTypes: [ConstraintExpr.$type]
1159
1676
  },
1677
+ FeatureMembershipMember: {
1678
+ name: FeatureMembershipMember.$type,
1679
+ properties: {
1680
+ feature: {
1681
+ name: FeatureMembershipMember.feature
1682
+ },
1683
+ isRedefinition: {
1684
+ name: FeatureMembershipMember.isRedefinition,
1685
+ defaultValue: false,
1686
+ optional: true
1687
+ },
1688
+ multiplicity: {
1689
+ name: FeatureMembershipMember.multiplicity,
1690
+ optional: true
1691
+ },
1692
+ type: {
1693
+ name: FeatureMembershipMember.type,
1694
+ optional: true
1695
+ },
1696
+ value: {
1697
+ name: FeatureMembershipMember.value,
1698
+ optional: true
1699
+ }
1700
+ },
1701
+ superTypes: [DefinitionBodyMember.$type]
1702
+ },
1160
1703
  FeatureReference: {
1161
1704
  name: FeatureReference.$type,
1162
1705
  properties: {
@@ -1170,8 +1713,18 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1170
1713
  FlowConnectionUsage: {
1171
1714
  name: FlowConnectionUsage.$type,
1172
1715
  properties: {
1716
+ body: {
1717
+ name: FlowConnectionUsage.body,
1718
+ defaultValue: [],
1719
+ optional: true
1720
+ },
1173
1721
  itemType: {
1174
- name: FlowConnectionUsage.itemType
1722
+ name: FlowConnectionUsage.itemType,
1723
+ optional: true
1724
+ },
1725
+ name: {
1726
+ name: FlowConnectionUsage.name,
1727
+ optional: true
1175
1728
  },
1176
1729
  source: {
1177
1730
  name: FlowConnectionUsage.source
@@ -1180,7 +1733,7 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1180
1733
  name: FlowConnectionUsage.target
1181
1734
  }
1182
1735
  },
1183
- superTypes: [PackageMember.$type, UsageBodyMember.$type]
1736
+ superTypes: [ConnectionBodyMember.$type, PackageMember.$type, UsageBodyMember.$type]
1184
1737
  },
1185
1738
  FlowEnd: {
1186
1739
  name: FlowEnd.$type,
@@ -1191,6 +1744,34 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1191
1744
  },
1192
1745
  superTypes: []
1193
1746
  },
1747
+ FramedConcernMember: {
1748
+ name: FramedConcernMember.$type,
1749
+ properties: {
1750
+ body: {
1751
+ name: FramedConcernMember.body,
1752
+ defaultValue: [],
1753
+ optional: true
1754
+ },
1755
+ framed: {
1756
+ name: FramedConcernMember.framed,
1757
+ optional: true
1758
+ },
1759
+ isConcern: {
1760
+ name: FramedConcernMember.isConcern,
1761
+ defaultValue: false,
1762
+ optional: true
1763
+ },
1764
+ name: {
1765
+ name: FramedConcernMember.name,
1766
+ optional: true
1767
+ },
1768
+ type: {
1769
+ name: FramedConcernMember.type,
1770
+ optional: true
1771
+ }
1772
+ },
1773
+ superTypes: [ArcadiaMember.$type]
1774
+ },
1194
1775
  ImportDeclaration: {
1195
1776
  name: ImportDeclaration.$type,
1196
1777
  properties: {
@@ -1204,6 +1785,34 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1204
1785
  },
1205
1786
  superTypes: [NamespaceMember.$type, PackageMember.$type]
1206
1787
  },
1788
+ IncludeUseCaseUsage: {
1789
+ name: IncludeUseCaseUsage.$type,
1790
+ properties: {
1791
+ body: {
1792
+ name: IncludeUseCaseUsage.body,
1793
+ defaultValue: [],
1794
+ optional: true
1795
+ },
1796
+ included: {
1797
+ name: IncludeUseCaseUsage.included,
1798
+ optional: true
1799
+ },
1800
+ isUseCase: {
1801
+ name: IncludeUseCaseUsage.isUseCase,
1802
+ defaultValue: false,
1803
+ optional: true
1804
+ },
1805
+ name: {
1806
+ name: IncludeUseCaseUsage.name,
1807
+ optional: true
1808
+ },
1809
+ type: {
1810
+ name: IncludeUseCaseUsage.type,
1811
+ optional: true
1812
+ }
1813
+ },
1814
+ superTypes: [ArcadiaMember.$type]
1815
+ },
1207
1816
  IntValue: {
1208
1817
  name: IntValue.$type,
1209
1818
  properties: {
@@ -1252,8 +1861,17 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1252
1861
  name: {
1253
1862
  name: InterfaceUsage.name
1254
1863
  },
1864
+ source: {
1865
+ name: InterfaceUsage.source,
1866
+ optional: true
1867
+ },
1868
+ target: {
1869
+ name: InterfaceUsage.target,
1870
+ optional: true
1871
+ },
1255
1872
  type: {
1256
- name: InterfaceUsage.type
1873
+ name: InterfaceUsage.type,
1874
+ optional: true
1257
1875
  }
1258
1876
  },
1259
1877
  superTypes: [UsageMember.$type]
@@ -1276,6 +1894,11 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1276
1894
  defaultValue: false,
1277
1895
  optional: true
1278
1896
  },
1897
+ isVariation: {
1898
+ name: ItemDefinition.isVariation,
1899
+ defaultValue: false,
1900
+ optional: true
1901
+ },
1279
1902
  name: {
1280
1903
  name: ItemDefinition.name
1281
1904
  },
@@ -1338,6 +1961,30 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1338
1961
  },
1339
1962
  superTypes: [ConstraintExpr.$type]
1340
1963
  },
1964
+ MessageUsage: {
1965
+ name: MessageUsage.$type,
1966
+ properties: {
1967
+ body: {
1968
+ name: MessageUsage.body,
1969
+ defaultValue: [],
1970
+ optional: true
1971
+ },
1972
+ itemType: {
1973
+ name: MessageUsage.itemType
1974
+ },
1975
+ name: {
1976
+ name: MessageUsage.name,
1977
+ optional: true
1978
+ },
1979
+ source: {
1980
+ name: MessageUsage.source
1981
+ },
1982
+ target: {
1983
+ name: MessageUsage.target
1984
+ }
1985
+ },
1986
+ superTypes: [UsageBodyMember.$type, UsageMember.$type]
1987
+ },
1341
1988
  MetadataApplication: {
1342
1989
  name: MetadataApplication.$type,
1343
1990
  properties: {
@@ -1352,6 +1999,11 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1352
1999
  },
1353
2000
  superTypes: [DefinitionBodyMember.$type, PackageMember.$type, UsageBodyMember.$type]
1354
2001
  },
2002
+ MetadataBodyMember: {
2003
+ name: MetadataBodyMember.$type,
2004
+ properties: {},
2005
+ superTypes: []
2006
+ },
1355
2007
  MetadataDefinition: {
1356
2008
  name: MetadataDefinition.$type,
1357
2009
  properties: {
@@ -1363,6 +2015,10 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1363
2015
  name: {
1364
2016
  name: MetadataDefinition.name
1365
2017
  },
2018
+ shortName: {
2019
+ name: MetadataDefinition.shortName,
2020
+ optional: true
2021
+ },
1366
2022
  specialization: {
1367
2023
  name: MetadataDefinition.specialization,
1368
2024
  optional: true
@@ -1370,6 +2026,22 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1370
2026
  },
1371
2027
  superTypes: [DefinitionMember.$type]
1372
2028
  },
2029
+ MetadataFeatureMember: {
2030
+ name: MetadataFeatureMember.$type,
2031
+ properties: {
2032
+ name: {
2033
+ name: MetadataFeatureMember.name
2034
+ },
2035
+ redefines: {
2036
+ name: MetadataFeatureMember.redefines,
2037
+ defaultValue: false
2038
+ },
2039
+ value: {
2040
+ name: MetadataFeatureMember.value
2041
+ }
2042
+ },
2043
+ superTypes: [MetadataBodyMember.$type]
2044
+ },
1373
2045
  Model: {
1374
2046
  name: Model.$type,
1375
2047
  properties: {
@@ -1409,6 +2081,25 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1409
2081
  properties: {},
1410
2082
  superTypes: []
1411
2083
  },
2084
+ ObjectiveMember: {
2085
+ name: ObjectiveMember.$type,
2086
+ properties: {
2087
+ body: {
2088
+ name: ObjectiveMember.body,
2089
+ defaultValue: [],
2090
+ optional: true
2091
+ },
2092
+ name: {
2093
+ name: ObjectiveMember.name,
2094
+ optional: true
2095
+ },
2096
+ type: {
2097
+ name: ObjectiveMember.type,
2098
+ optional: true
2099
+ }
2100
+ },
2101
+ superTypes: [ArcadiaMember.$type]
2102
+ },
1412
2103
  PackageDeclaration: {
1413
2104
  name: PackageDeclaration.$type,
1414
2105
  properties: {
@@ -1456,6 +2147,11 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1456
2147
  defaultValue: false,
1457
2148
  optional: true
1458
2149
  },
2150
+ isVariation: {
2151
+ name: PartDefinition.isVariation,
2152
+ defaultValue: false,
2153
+ optional: true
2154
+ },
1459
2155
  name: {
1460
2156
  name: PartDefinition.name
1461
2157
  },
@@ -1481,6 +2177,11 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1481
2177
  name: PartMember.boundRef,
1482
2178
  optional: true
1483
2179
  },
2180
+ isVariation: {
2181
+ name: PartMember.isVariation,
2182
+ defaultValue: false,
2183
+ optional: true
2184
+ },
1484
2185
  multiplicity: {
1485
2186
  name: PartMember.multiplicity,
1486
2187
  optional: true
@@ -1507,6 +2208,15 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1507
2208
  defaultValue: [],
1508
2209
  optional: true
1509
2210
  },
2211
+ isVariation: {
2212
+ name: PartUsage.isVariation,
2213
+ defaultValue: false,
2214
+ optional: true
2215
+ },
2216
+ multiplicity: {
2217
+ name: PartUsage.multiplicity,
2218
+ optional: true
2219
+ },
1510
2220
  name: {
1511
2221
  name: PartUsage.name
1512
2222
  },
@@ -1517,6 +2227,33 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1517
2227
  },
1518
2228
  superTypes: [UsageMember.$type]
1519
2229
  },
2230
+ PerformActionUsage: {
2231
+ name: PerformActionUsage.$type,
2232
+ properties: {
2233
+ body: {
2234
+ name: PerformActionUsage.body,
2235
+ defaultValue: [],
2236
+ optional: true
2237
+ },
2238
+ isAction: {
2239
+ name: PerformActionUsage.isAction,
2240
+ defaultValue: false,
2241
+ optional: true
2242
+ },
2243
+ name: {
2244
+ name: PerformActionUsage.name,
2245
+ optional: true
2246
+ },
2247
+ performed: {
2248
+ name: PerformActionUsage.performed
2249
+ },
2250
+ type: {
2251
+ name: PerformActionUsage.type,
2252
+ optional: true
2253
+ }
2254
+ },
2255
+ superTypes: [ArcadiaMember.$type]
2256
+ },
1520
2257
  PortDefinition: {
1521
2258
  name: PortDefinition.$type,
1522
2259
  properties: {
@@ -1571,6 +2308,15 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1571
2308
  },
1572
2309
  superTypes: [DefinitionBodyMember.$type, UsageBodyMember.$type, UsageMember.$type]
1573
2310
  },
2311
+ PrefixMetadataAnnotation: {
2312
+ name: PrefixMetadataAnnotation.$type,
2313
+ properties: {
2314
+ type: {
2315
+ name: PrefixMetadataAnnotation.type
2316
+ }
2317
+ },
2318
+ superTypes: []
2319
+ },
1574
2320
  RealValue: {
1575
2321
  name: RealValue.$type,
1576
2322
  properties: {
@@ -1583,6 +2329,14 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1583
2329
  RefMember: {
1584
2330
  name: RefMember.$type,
1585
2331
  properties: {
2332
+ bindingOp: {
2333
+ name: RefMember.bindingOp,
2334
+ optional: true
2335
+ },
2336
+ boundRef: {
2337
+ name: RefMember.boundRef,
2338
+ optional: true
2339
+ },
1586
2340
  isConjugated: {
1587
2341
  name: RefMember.isConjugated,
1588
2342
  defaultValue: false,
@@ -1605,6 +2359,10 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1605
2359
  defaultValue: false,
1606
2360
  optional: true
1607
2361
  },
2362
+ subsetValue: {
2363
+ name: RefMember.subsetValue,
2364
+ optional: true
2365
+ },
1608
2366
  type: {
1609
2367
  name: RefMember.type,
1610
2368
  optional: true
@@ -1674,6 +2432,48 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1674
2432
  },
1675
2433
  superTypes: [UsageMember.$type]
1676
2434
  },
2435
+ RequirementVerificationMember: {
2436
+ name: RequirementVerificationMember.$type,
2437
+ properties: {
2438
+ body: {
2439
+ name: RequirementVerificationMember.body,
2440
+ defaultValue: [],
2441
+ optional: true
2442
+ },
2443
+ requirement: {
2444
+ name: RequirementVerificationMember.requirement
2445
+ }
2446
+ },
2447
+ superTypes: [DefinitionBodyMember.$type, UsageBodyMember.$type]
2448
+ },
2449
+ SatisfyRequirementUsage: {
2450
+ name: SatisfyRequirementUsage.$type,
2451
+ properties: {
2452
+ body: {
2453
+ name: SatisfyRequirementUsage.body,
2454
+ defaultValue: [],
2455
+ optional: true
2456
+ },
2457
+ isAsserted: {
2458
+ name: SatisfyRequirementUsage.isAsserted,
2459
+ defaultValue: false,
2460
+ optional: true
2461
+ },
2462
+ isNegated: {
2463
+ name: SatisfyRequirementUsage.isNegated,
2464
+ defaultValue: false,
2465
+ optional: true
2466
+ },
2467
+ requirement: {
2468
+ name: SatisfyRequirementUsage.requirement
2469
+ },
2470
+ satisfyingFeature: {
2471
+ name: SatisfyRequirementUsage.satisfyingFeature,
2472
+ optional: true
2473
+ }
2474
+ },
2475
+ superTypes: [PackageMember.$type, UsageBodyMember.$type]
2476
+ },
1677
2477
  SendActionUsage: {
1678
2478
  name: SendActionUsage.$type,
1679
2479
  properties: {
@@ -1727,6 +2527,36 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1727
2527
  },
1728
2528
  superTypes: []
1729
2529
  },
2530
+ StakeholderMember: {
2531
+ name: StakeholderMember.$type,
2532
+ properties: {
2533
+ bindingOp: {
2534
+ name: StakeholderMember.bindingOp,
2535
+ optional: true
2536
+ },
2537
+ body: {
2538
+ name: StakeholderMember.body,
2539
+ defaultValue: [],
2540
+ optional: true
2541
+ },
2542
+ boundRef: {
2543
+ name: StakeholderMember.boundRef,
2544
+ optional: true
2545
+ },
2546
+ multiplicity: {
2547
+ name: StakeholderMember.multiplicity,
2548
+ optional: true
2549
+ },
2550
+ name: {
2551
+ name: StakeholderMember.name
2552
+ },
2553
+ type: {
2554
+ name: StakeholderMember.type,
2555
+ optional: true
2556
+ }
2557
+ },
2558
+ superTypes: [ArcadiaMember.$type]
2559
+ },
1730
2560
  StateDefinition: {
1731
2561
  name: StateDefinition.$type,
1732
2562
  properties: {
@@ -1770,7 +2600,7 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1770
2600
  name: StateUsage.type
1771
2601
  }
1772
2602
  },
1773
- superTypes: [UsageMember.$type]
2603
+ superTypes: [UsageBodyMember.$type, UsageMember.$type]
1774
2604
  },
1775
2605
  StringValue: {
1776
2606
  name: StringValue.$type,
@@ -1781,6 +2611,37 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1781
2611
  },
1782
2612
  superTypes: [AttributeValue.$type]
1783
2613
  },
2614
+ SubjectMember: {
2615
+ name: SubjectMember.$type,
2616
+ properties: {
2617
+ bindingOp: {
2618
+ name: SubjectMember.bindingOp,
2619
+ optional: true
2620
+ },
2621
+ body: {
2622
+ name: SubjectMember.body,
2623
+ defaultValue: [],
2624
+ optional: true
2625
+ },
2626
+ boundRefs: {
2627
+ name: SubjectMember.boundRefs,
2628
+ defaultValue: [],
2629
+ optional: true
2630
+ },
2631
+ multiplicity: {
2632
+ name: SubjectMember.multiplicity,
2633
+ optional: true
2634
+ },
2635
+ name: {
2636
+ name: SubjectMember.name
2637
+ },
2638
+ type: {
2639
+ name: SubjectMember.type,
2640
+ optional: true
2641
+ }
2642
+ },
2643
+ superTypes: [ArcadiaMember.$type]
2644
+ },
1784
2645
  SuccessionStep: {
1785
2646
  name: SuccessionStep.$type,
1786
2647
  properties: {
@@ -1819,6 +2680,43 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1819
2680
  },
1820
2681
  superTypes: [ActionDefBodyMember.$type, ActionUsageBodyMember.$type]
1821
2682
  },
2683
+ TransitionUsage: {
2684
+ name: TransitionUsage.$type,
2685
+ properties: {
2686
+ body: {
2687
+ name: TransitionUsage.body,
2688
+ defaultValue: [],
2689
+ optional: true
2690
+ },
2691
+ effect: {
2692
+ name: TransitionUsage.effect,
2693
+ optional: true
2694
+ },
2695
+ guard: {
2696
+ name: TransitionUsage.guard,
2697
+ optional: true
2698
+ },
2699
+ name: {
2700
+ name: TransitionUsage.name,
2701
+ optional: true
2702
+ },
2703
+ source: {
2704
+ name: TransitionUsage.source
2705
+ },
2706
+ target: {
2707
+ name: TransitionUsage.target
2708
+ },
2709
+ trigger: {
2710
+ name: TransitionUsage.trigger,
2711
+ optional: true
2712
+ },
2713
+ type: {
2714
+ name: TransitionUsage.type,
2715
+ optional: true
2716
+ }
2717
+ },
2718
+ superTypes: [ArcadiaMember.$type]
2719
+ },
1822
2720
  UnaryExpr: {
1823
2721
  name: UnaryExpr.$type,
1824
2722
  properties: {
@@ -1834,7 +2732,7 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1834
2732
  UsageBodyMember: {
1835
2733
  name: UsageBodyMember.$type,
1836
2734
  properties: {},
1837
- superTypes: [ActionDefBodyMember.$type, ActionUsageBodyMember.$type, ViewBodyMember.$type]
2735
+ superTypes: [ActionDefBodyMember.$type, ActionUsageBodyMember.$type, MetadataBodyMember.$type, ViewBodyMember.$type]
1838
2736
  },
1839
2737
  UsageMember: {
1840
2738
  name: UsageMember.$type,
@@ -1883,6 +2781,36 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1883
2781
  },
1884
2782
  superTypes: [NamespaceMember.$type, PackageMember.$type]
1885
2783
  },
2784
+ VariantMember: {
2785
+ name: VariantMember.$type,
2786
+ properties: {
2787
+ body: {
2788
+ name: VariantMember.body,
2789
+ defaultValue: [],
2790
+ optional: true
2791
+ },
2792
+ multiplicity: {
2793
+ name: VariantMember.multiplicity,
2794
+ optional: true
2795
+ },
2796
+ name: {
2797
+ name: VariantMember.name
2798
+ },
2799
+ type: {
2800
+ name: VariantMember.type,
2801
+ optional: true
2802
+ },
2803
+ usageKind: {
2804
+ name: VariantMember.usageKind,
2805
+ optional: true
2806
+ },
2807
+ value: {
2808
+ name: VariantMember.value,
2809
+ optional: true
2810
+ }
2811
+ },
2812
+ superTypes: [ArcadiaMember.$type]
2813
+ },
1886
2814
  VerificationDefinition: {
1887
2815
  name: VerificationDefinition.$type,
1888
2816
  properties: {