@memoarchitect/tools 0.7.2 → 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 (160) 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 +1155 -55
  81. package/packages/tools/lib/language/generated/ast.d.ts.map +1 -1
  82. package/packages/tools/lib/language/generated/ast.js +922 -9
  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 +3643 -427
  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 +725 -43
  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.map +1 -1
  103. package/packages/tools/lib/model/native-project.js +10 -0
  104. package/packages/tools/lib/model/native-project.js.map +1 -1
  105. package/packages/tools/lib/model/ontology-loader.d.ts.map +1 -1
  106. package/packages/tools/lib/model/ontology-loader.js +3 -0
  107. package/packages/tools/lib/model/ontology-loader.js.map +1 -1
  108. package/packages/tools/lib/model/relationship-legality.d.ts +17 -0
  109. package/packages/tools/lib/model/relationship-legality.d.ts.map +1 -1
  110. package/packages/tools/lib/model/relationship-legality.js.map +1 -1
  111. package/packages/tools/lib/model/relationship-registry.d.ts +77 -0
  112. package/packages/tools/lib/model/relationship-registry.d.ts.map +1 -1
  113. package/packages/tools/lib/model/relationship-registry.js +217 -2
  114. package/packages/tools/lib/model/relationship-registry.js.map +1 -1
  115. package/packages/tools/lib/model/semantic.d.ts +46 -0
  116. package/packages/tools/lib/model/semantic.d.ts.map +1 -1
  117. package/packages/tools/lib/model/semantic.js +3 -0
  118. package/packages/tools/lib/model/semantic.js.map +1 -1
  119. package/packages/tools/lib/model/short-id.d.ts.map +1 -1
  120. package/packages/tools/lib/model/short-id.js +1 -3
  121. package/packages/tools/lib/model/short-id.js.map +1 -1
  122. package/packages/tools/lib/model/view-deriver.d.ts +10 -1
  123. package/packages/tools/lib/model/view-deriver.d.ts.map +1 -1
  124. package/packages/tools/lib/model/view-deriver.js +103 -5
  125. package/packages/tools/lib/model/view-deriver.js.map +1 -1
  126. package/packages/tools/lib/protocol/messages.d.ts +85 -3
  127. package/packages/tools/lib/protocol/messages.d.ts.map +1 -1
  128. package/packages/tools/lib/server/dev-server.d.ts.map +1 -1
  129. package/packages/tools/lib/server/dev-server.js +158 -5
  130. package/packages/tools/lib/server/dev-server.js.map +1 -1
  131. package/packages/tools/lib/server/package-source.d.ts +26 -0
  132. package/packages/tools/lib/server/package-source.d.ts.map +1 -0
  133. package/packages/tools/lib/server/package-source.js +81 -0
  134. package/packages/tools/lib/server/package-source.js.map +1 -0
  135. package/packages/tools/lib/server/package-writer.d.ts +94 -0
  136. package/packages/tools/lib/server/package-writer.d.ts.map +1 -0
  137. package/packages/tools/lib/server/package-writer.js +317 -0
  138. package/packages/tools/lib/server/package-writer.js.map +1 -0
  139. package/packages/tools/lib/server/persistor.d.ts +20 -0
  140. package/packages/tools/lib/server/persistor.d.ts.map +1 -1
  141. package/packages/tools/lib/server/persistor.js +29 -8
  142. package/packages/tools/lib/server/persistor.js.map +1 -1
  143. package/packages/tools/lib/server/relationship-writer.d.ts +13 -1
  144. package/packages/tools/lib/server/relationship-writer.d.ts.map +1 -1
  145. package/packages/tools/lib/server/relationship-writer.js +59 -0
  146. package/packages/tools/lib/server/relationship-writer.js.map +1 -1
  147. package/packages/tools/lib/server/sysml-notation.d.ts +1 -1
  148. package/packages/tools/lib/server/sysml-notation.d.ts.map +1 -1
  149. package/packages/tools/lib/server/sysml-notation.js +17 -0
  150. package/packages/tools/lib/server/sysml-notation.js.map +1 -1
  151. package/packages/tools/lib/server/view-layout-store.d.ts.map +1 -1
  152. package/packages/tools/lib/server/view-layout-store.js +1 -0
  153. package/packages/tools/lib/server/view-layout-store.js.map +1 -1
  154. package/packages/tools/lib/validator/behavior-validator.d.ts +1 -1
  155. package/packages/tools/lib/validator/behavior-validator.js +1 -1
  156. package/packages/tools/lib/validator/constraint-eval.d.ts +16 -0
  157. package/packages/tools/lib/validator/constraint-eval.d.ts.map +1 -1
  158. package/packages/tools/lib/validator/constraint-eval.js +102 -0
  159. package/packages/tools/lib/validator/constraint-eval.js.map +1 -1
  160. package/packages/tools/src/grammar/memo-sysml.langium +415 -25
@@ -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
  }
@@ -552,6 +749,25 @@ export const RequirementUsage = {
552
749
  export function isRequirementUsage(item) {
553
750
  return reflection.isInstance(item, RequirementUsage.$type);
554
751
  }
752
+ export const RequirementVerificationMember = {
753
+ $type: 'RequirementVerificationMember',
754
+ body: 'body',
755
+ requirement: 'requirement'
756
+ };
757
+ export function isRequirementVerificationMember(item) {
758
+ return reflection.isInstance(item, RequirementVerificationMember.$type);
759
+ }
760
+ export const SatisfyRequirementUsage = {
761
+ $type: 'SatisfyRequirementUsage',
762
+ body: 'body',
763
+ isAsserted: 'isAsserted',
764
+ isNegated: 'isNegated',
765
+ requirement: 'requirement',
766
+ satisfyingFeature: 'satisfyingFeature'
767
+ };
768
+ export function isSatisfyRequirementUsage(item) {
769
+ return reflection.isInstance(item, SatisfyRequirementUsage.$type);
770
+ }
555
771
  export const SendActionUsage = {
556
772
  $type: 'SendActionUsage',
557
773
  followsPrevious: 'followsPrevious',
@@ -584,6 +800,18 @@ export const Specialization = {
584
800
  export function isSpecialization(item) {
585
801
  return reflection.isInstance(item, Specialization.$type);
586
802
  }
803
+ export const StakeholderMember = {
804
+ $type: 'StakeholderMember',
805
+ bindingOp: 'bindingOp',
806
+ body: 'body',
807
+ boundRef: 'boundRef',
808
+ multiplicity: 'multiplicity',
809
+ name: 'name',
810
+ type: 'type'
811
+ };
812
+ export function isStakeholderMember(item) {
813
+ return reflection.isInstance(item, StakeholderMember.$type);
814
+ }
587
815
  export const StateDefinition = {
588
816
  $type: 'StateDefinition',
589
817
  additionalSpecializations: 'additionalSpecializations',
@@ -611,6 +839,18 @@ export const StringValue = {
611
839
  export function isStringValue(item) {
612
840
  return reflection.isInstance(item, StringValue.$type);
613
841
  }
842
+ export const SubjectMember = {
843
+ $type: 'SubjectMember',
844
+ bindingOp: 'bindingOp',
845
+ body: 'body',
846
+ boundRefs: 'boundRefs',
847
+ multiplicity: 'multiplicity',
848
+ name: 'name',
849
+ type: 'type'
850
+ };
851
+ export function isSubjectMember(item) {
852
+ return reflection.isInstance(item, SubjectMember.$type);
853
+ }
614
854
  export function isSuccessionRef(item) {
615
855
  return item === 'start' || item === 'done' || (typeof item === 'string' && (/[a-zA-Z_][a-zA-Z0-9_]*/.test(item)));
616
856
  }
@@ -637,6 +877,20 @@ export const TerminateUsage = {
637
877
  export function isTerminateUsage(item) {
638
878
  return reflection.isInstance(item, TerminateUsage.$type);
639
879
  }
880
+ export const TransitionUsage = {
881
+ $type: 'TransitionUsage',
882
+ body: 'body',
883
+ effect: 'effect',
884
+ guard: 'guard',
885
+ name: 'name',
886
+ source: 'source',
887
+ target: 'target',
888
+ trigger: 'trigger',
889
+ type: 'type'
890
+ };
891
+ export function isTransitionUsage(item) {
892
+ return reflection.isInstance(item, TransitionUsage.$type);
893
+ }
640
894
  export const UnaryExpr = {
641
895
  $type: 'UnaryExpr',
642
896
  op: 'op',
@@ -671,6 +925,18 @@ export const UseCaseDeclaration = {
671
925
  export function isUseCaseDeclaration(item) {
672
926
  return reflection.isInstance(item, UseCaseDeclaration.$type);
673
927
  }
928
+ export const VariantMember = {
929
+ $type: 'VariantMember',
930
+ body: 'body',
931
+ multiplicity: 'multiplicity',
932
+ name: 'name',
933
+ type: 'type',
934
+ usageKind: 'usageKind',
935
+ value: 'value'
936
+ };
937
+ export function isVariantMember(item) {
938
+ return reflection.isInstance(item, VariantMember.$type);
939
+ }
674
940
  export const VerificationDefinition = {
675
941
  $type: 'VerificationDefinition',
676
942
  additionalSpecializations: 'additionalSpecializations',
@@ -730,6 +996,26 @@ export function isViewUsage(item) {
730
996
  }
731
997
  export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
732
998
  types = {
999
+ AbstractConnectionUsage: {
1000
+ name: AbstractConnectionUsage.$type,
1001
+ properties: {
1002
+ isAbstract: {
1003
+ name: AbstractConnectionUsage.isAbstract,
1004
+ defaultValue: false
1005
+ },
1006
+ multiplicity: {
1007
+ name: AbstractConnectionUsage.multiplicity,
1008
+ optional: true
1009
+ },
1010
+ name: {
1011
+ name: AbstractConnectionUsage.name
1012
+ },
1013
+ type: {
1014
+ name: AbstractConnectionUsage.type
1015
+ }
1016
+ },
1017
+ superTypes: [PackageMember.$type]
1018
+ },
733
1019
  AcceptActionUsage: {
734
1020
  name: AcceptActionUsage.$type,
735
1021
  properties: {
@@ -822,6 +1108,36 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
822
1108
  properties: {},
823
1109
  superTypes: []
824
1110
  },
1111
+ ActorMember: {
1112
+ name: ActorMember.$type,
1113
+ properties: {
1114
+ bindingOp: {
1115
+ name: ActorMember.bindingOp,
1116
+ optional: true
1117
+ },
1118
+ body: {
1119
+ name: ActorMember.body,
1120
+ defaultValue: [],
1121
+ optional: true
1122
+ },
1123
+ boundRef: {
1124
+ name: ActorMember.boundRef,
1125
+ optional: true
1126
+ },
1127
+ multiplicity: {
1128
+ name: ActorMember.multiplicity,
1129
+ optional: true
1130
+ },
1131
+ name: {
1132
+ name: ActorMember.name
1133
+ },
1134
+ type: {
1135
+ name: ActorMember.type,
1136
+ optional: true
1137
+ }
1138
+ },
1139
+ superTypes: [ArcadiaMember.$type]
1140
+ },
825
1141
  AliasDeclaration: {
826
1142
  name: AliasDeclaration.$type,
827
1143
  properties: {
@@ -837,14 +1153,60 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
837
1153
  AllocateUsage: {
838
1154
  name: AllocateUsage.$type,
839
1155
  properties: {
1156
+ body: {
1157
+ name: AllocateUsage.body,
1158
+ defaultValue: [],
1159
+ optional: true
1160
+ },
1161
+ name: {
1162
+ name: AllocateUsage.name,
1163
+ optional: true
1164
+ },
840
1165
  source: {
841
1166
  name: AllocateUsage.source
842
1167
  },
843
1168
  target: {
844
1169
  name: AllocateUsage.target
1170
+ },
1171
+ type: {
1172
+ name: AllocateUsage.type,
1173
+ optional: true
845
1174
  }
846
1175
  },
847
- superTypes: [PackageMember.$type]
1176
+ superTypes: [ArcadiaMember.$type]
1177
+ },
1178
+ AllocationDefinition: {
1179
+ name: AllocationDefinition.$type,
1180
+ properties: {
1181
+ additionalSpecializations: {
1182
+ name: AllocationDefinition.additionalSpecializations,
1183
+ defaultValue: [],
1184
+ optional: true
1185
+ },
1186
+ body: {
1187
+ name: AllocationDefinition.body,
1188
+ defaultValue: [],
1189
+ optional: true
1190
+ },
1191
+ isAbstract: {
1192
+ name: AllocationDefinition.isAbstract,
1193
+ defaultValue: false,
1194
+ optional: true
1195
+ },
1196
+ name: {
1197
+ name: AllocationDefinition.name
1198
+ },
1199
+ specialization: {
1200
+ name: AllocationDefinition.specialization,
1201
+ optional: true
1202
+ }
1203
+ },
1204
+ superTypes: [DefinitionMember.$type]
1205
+ },
1206
+ ArcadiaMember: {
1207
+ name: ArcadiaMember.$type,
1208
+ properties: {},
1209
+ superTypes: [DefinitionBodyMember.$type, PackageMember.$type, UsageBodyMember.$type]
848
1210
  },
849
1211
  AttributeDefinition: {
850
1212
  name: AttributeDefinition.$type,
@@ -864,6 +1226,11 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
864
1226
  defaultValue: false,
865
1227
  optional: true
866
1228
  },
1229
+ isVariation: {
1230
+ name: AttributeDefinition.isVariation,
1231
+ defaultValue: false,
1232
+ optional: true
1233
+ },
867
1234
  name: {
868
1235
  name: AttributeDefinition.name
869
1236
  },
@@ -882,6 +1249,16 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
882
1249
  defaultValue: [],
883
1250
  optional: true
884
1251
  },
1252
+ isDefault: {
1253
+ name: AttributeMember.isDefault,
1254
+ defaultValue: false,
1255
+ optional: true
1256
+ },
1257
+ isVariation: {
1258
+ name: AttributeMember.isVariation,
1259
+ defaultValue: false,
1260
+ optional: true
1261
+ },
885
1262
  multiplicity: {
886
1263
  name: AttributeMember.multiplicity,
887
1264
  optional: true
@@ -925,6 +1302,18 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
925
1302
  },
926
1303
  superTypes: [ConstraintExpr.$type]
927
1304
  },
1305
+ BindingUsage: {
1306
+ name: BindingUsage.$type,
1307
+ properties: {
1308
+ source: {
1309
+ name: BindingUsage.source
1310
+ },
1311
+ target: {
1312
+ name: BindingUsage.target
1313
+ }
1314
+ },
1315
+ superTypes: [PackageMember.$type]
1316
+ },
928
1317
  BooleanValue: {
929
1318
  name: BooleanValue.$type,
930
1319
  properties: {
@@ -950,6 +1339,52 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
950
1339
  },
951
1340
  superTypes: [ConstraintExpr.$type]
952
1341
  },
1342
+ ConcernDefinition: {
1343
+ name: ConcernDefinition.$type,
1344
+ properties: {
1345
+ additionalSpecializations: {
1346
+ name: ConcernDefinition.additionalSpecializations,
1347
+ defaultValue: [],
1348
+ optional: true
1349
+ },
1350
+ body: {
1351
+ name: ConcernDefinition.body,
1352
+ defaultValue: [],
1353
+ optional: true
1354
+ },
1355
+ isAbstract: {
1356
+ name: ConcernDefinition.isAbstract,
1357
+ defaultValue: false,
1358
+ optional: true
1359
+ },
1360
+ name: {
1361
+ name: ConcernDefinition.name
1362
+ },
1363
+ specialization: {
1364
+ name: ConcernDefinition.specialization,
1365
+ optional: true
1366
+ }
1367
+ },
1368
+ superTypes: [DefinitionMember.$type]
1369
+ },
1370
+ ConcernUsage: {
1371
+ name: ConcernUsage.$type,
1372
+ properties: {
1373
+ body: {
1374
+ name: ConcernUsage.body,
1375
+ defaultValue: [],
1376
+ optional: true
1377
+ },
1378
+ name: {
1379
+ name: ConcernUsage.name
1380
+ },
1381
+ type: {
1382
+ name: ConcernUsage.type,
1383
+ optional: true
1384
+ }
1385
+ },
1386
+ superTypes: [ArcadiaMember.$type]
1387
+ },
953
1388
  ConnectionBodyMember: {
954
1389
  name: ConnectionBodyMember.$type,
955
1390
  properties: {},
@@ -1075,6 +1510,34 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1075
1510
  properties: {},
1076
1511
  superTypes: [NamespaceMember.$type, PackageMember.$type]
1077
1512
  },
1513
+ Dependency: {
1514
+ name: Dependency.$type,
1515
+ properties: {
1516
+ body: {
1517
+ name: Dependency.body,
1518
+ defaultValue: [],
1519
+ optional: true
1520
+ },
1521
+ clients: {
1522
+ name: Dependency.clients,
1523
+ defaultValue: []
1524
+ },
1525
+ name: {
1526
+ name: Dependency.name,
1527
+ optional: true
1528
+ },
1529
+ prefixMetadata: {
1530
+ name: Dependency.prefixMetadata,
1531
+ defaultValue: [],
1532
+ optional: true
1533
+ },
1534
+ suppliers: {
1535
+ name: Dependency.suppliers,
1536
+ defaultValue: []
1537
+ }
1538
+ },
1539
+ superTypes: [NamespaceMember.$type, PackageMember.$type, UsageBodyMember.$type]
1540
+ },
1078
1541
  DocComment: {
1079
1542
  name: DocComment.$type,
1080
1543
  properties: {
@@ -1099,6 +1562,15 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1099
1562
  name: {
1100
1563
  name: EndDeclaration.name
1101
1564
  },
1565
+ redefinedEnd: {
1566
+ name: EndDeclaration.redefinedEnd,
1567
+ optional: true
1568
+ },
1569
+ redefines: {
1570
+ name: EndDeclaration.redefines,
1571
+ defaultValue: false,
1572
+ optional: true
1573
+ },
1102
1574
  type: {
1103
1575
  name: EndDeclaration.type,
1104
1576
  optional: true
@@ -1109,6 +1581,11 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1109
1581
  EnumDefinition: {
1110
1582
  name: EnumDefinition.$type,
1111
1583
  properties: {
1584
+ docs: {
1585
+ name: EnumDefinition.docs,
1586
+ defaultValue: [],
1587
+ optional: true
1588
+ },
1112
1589
  literals: {
1113
1590
  name: EnumDefinition.literals,
1114
1591
  defaultValue: [],
@@ -1134,10 +1611,47 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1134
1611
  properties: {
1135
1612
  enumRef: {
1136
1613
  name: EnumValue.enumRef
1614
+ },
1615
+ metaclass: {
1616
+ name: EnumValue.metaclass,
1617
+ optional: true
1618
+ },
1619
+ tail: {
1620
+ name: EnumValue.tail,
1621
+ defaultValue: [],
1622
+ optional: true
1137
1623
  }
1138
1624
  },
1139
1625
  superTypes: [AttributeValue.$type]
1140
1626
  },
1627
+ ExhibitStateUsage: {
1628
+ name: ExhibitStateUsage.$type,
1629
+ properties: {
1630
+ body: {
1631
+ name: ExhibitStateUsage.body,
1632
+ defaultValue: [],
1633
+ optional: true
1634
+ },
1635
+ exhibited: {
1636
+ name: ExhibitStateUsage.exhibited,
1637
+ optional: true
1638
+ },
1639
+ isState: {
1640
+ name: ExhibitStateUsage.isState,
1641
+ defaultValue: false,
1642
+ optional: true
1643
+ },
1644
+ name: {
1645
+ name: ExhibitStateUsage.name,
1646
+ optional: true
1647
+ },
1648
+ type: {
1649
+ name: ExhibitStateUsage.type,
1650
+ optional: true
1651
+ }
1652
+ },
1653
+ superTypes: [ArcadiaMember.$type]
1654
+ },
1141
1655
  ExposeMember: {
1142
1656
  name: ExposeMember.$type,
1143
1657
  properties: {
@@ -1157,6 +1671,32 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1157
1671
  },
1158
1672
  superTypes: [ConstraintExpr.$type]
1159
1673
  },
1674
+ FeatureMembershipMember: {
1675
+ name: FeatureMembershipMember.$type,
1676
+ properties: {
1677
+ feature: {
1678
+ name: FeatureMembershipMember.feature
1679
+ },
1680
+ isRedefinition: {
1681
+ name: FeatureMembershipMember.isRedefinition,
1682
+ defaultValue: false,
1683
+ optional: true
1684
+ },
1685
+ multiplicity: {
1686
+ name: FeatureMembershipMember.multiplicity,
1687
+ optional: true
1688
+ },
1689
+ type: {
1690
+ name: FeatureMembershipMember.type,
1691
+ optional: true
1692
+ },
1693
+ value: {
1694
+ name: FeatureMembershipMember.value,
1695
+ optional: true
1696
+ }
1697
+ },
1698
+ superTypes: [DefinitionBodyMember.$type]
1699
+ },
1160
1700
  FeatureReference: {
1161
1701
  name: FeatureReference.$type,
1162
1702
  properties: {
@@ -1170,8 +1710,18 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1170
1710
  FlowConnectionUsage: {
1171
1711
  name: FlowConnectionUsage.$type,
1172
1712
  properties: {
1713
+ body: {
1714
+ name: FlowConnectionUsage.body,
1715
+ defaultValue: [],
1716
+ optional: true
1717
+ },
1173
1718
  itemType: {
1174
- name: FlowConnectionUsage.itemType
1719
+ name: FlowConnectionUsage.itemType,
1720
+ optional: true
1721
+ },
1722
+ name: {
1723
+ name: FlowConnectionUsage.name,
1724
+ optional: true
1175
1725
  },
1176
1726
  source: {
1177
1727
  name: FlowConnectionUsage.source
@@ -1180,7 +1730,7 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1180
1730
  name: FlowConnectionUsage.target
1181
1731
  }
1182
1732
  },
1183
- superTypes: [PackageMember.$type, UsageBodyMember.$type]
1733
+ superTypes: [ConnectionBodyMember.$type, PackageMember.$type, UsageBodyMember.$type]
1184
1734
  },
1185
1735
  FlowEnd: {
1186
1736
  name: FlowEnd.$type,
@@ -1191,6 +1741,34 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1191
1741
  },
1192
1742
  superTypes: []
1193
1743
  },
1744
+ FramedConcernMember: {
1745
+ name: FramedConcernMember.$type,
1746
+ properties: {
1747
+ body: {
1748
+ name: FramedConcernMember.body,
1749
+ defaultValue: [],
1750
+ optional: true
1751
+ },
1752
+ framed: {
1753
+ name: FramedConcernMember.framed,
1754
+ optional: true
1755
+ },
1756
+ isConcern: {
1757
+ name: FramedConcernMember.isConcern,
1758
+ defaultValue: false,
1759
+ optional: true
1760
+ },
1761
+ name: {
1762
+ name: FramedConcernMember.name,
1763
+ optional: true
1764
+ },
1765
+ type: {
1766
+ name: FramedConcernMember.type,
1767
+ optional: true
1768
+ }
1769
+ },
1770
+ superTypes: [ArcadiaMember.$type]
1771
+ },
1194
1772
  ImportDeclaration: {
1195
1773
  name: ImportDeclaration.$type,
1196
1774
  properties: {
@@ -1204,6 +1782,34 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1204
1782
  },
1205
1783
  superTypes: [NamespaceMember.$type, PackageMember.$type]
1206
1784
  },
1785
+ IncludeUseCaseUsage: {
1786
+ name: IncludeUseCaseUsage.$type,
1787
+ properties: {
1788
+ body: {
1789
+ name: IncludeUseCaseUsage.body,
1790
+ defaultValue: [],
1791
+ optional: true
1792
+ },
1793
+ included: {
1794
+ name: IncludeUseCaseUsage.included,
1795
+ optional: true
1796
+ },
1797
+ isUseCase: {
1798
+ name: IncludeUseCaseUsage.isUseCase,
1799
+ defaultValue: false,
1800
+ optional: true
1801
+ },
1802
+ name: {
1803
+ name: IncludeUseCaseUsage.name,
1804
+ optional: true
1805
+ },
1806
+ type: {
1807
+ name: IncludeUseCaseUsage.type,
1808
+ optional: true
1809
+ }
1810
+ },
1811
+ superTypes: [ArcadiaMember.$type]
1812
+ },
1207
1813
  IntValue: {
1208
1814
  name: IntValue.$type,
1209
1815
  properties: {
@@ -1252,8 +1858,17 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1252
1858
  name: {
1253
1859
  name: InterfaceUsage.name
1254
1860
  },
1861
+ source: {
1862
+ name: InterfaceUsage.source,
1863
+ optional: true
1864
+ },
1865
+ target: {
1866
+ name: InterfaceUsage.target,
1867
+ optional: true
1868
+ },
1255
1869
  type: {
1256
- name: InterfaceUsage.type
1870
+ name: InterfaceUsage.type,
1871
+ optional: true
1257
1872
  }
1258
1873
  },
1259
1874
  superTypes: [UsageMember.$type]
@@ -1276,6 +1891,11 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1276
1891
  defaultValue: false,
1277
1892
  optional: true
1278
1893
  },
1894
+ isVariation: {
1895
+ name: ItemDefinition.isVariation,
1896
+ defaultValue: false,
1897
+ optional: true
1898
+ },
1279
1899
  name: {
1280
1900
  name: ItemDefinition.name
1281
1901
  },
@@ -1338,6 +1958,30 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1338
1958
  },
1339
1959
  superTypes: [ConstraintExpr.$type]
1340
1960
  },
1961
+ MessageUsage: {
1962
+ name: MessageUsage.$type,
1963
+ properties: {
1964
+ body: {
1965
+ name: MessageUsage.body,
1966
+ defaultValue: [],
1967
+ optional: true
1968
+ },
1969
+ itemType: {
1970
+ name: MessageUsage.itemType
1971
+ },
1972
+ name: {
1973
+ name: MessageUsage.name,
1974
+ optional: true
1975
+ },
1976
+ source: {
1977
+ name: MessageUsage.source
1978
+ },
1979
+ target: {
1980
+ name: MessageUsage.target
1981
+ }
1982
+ },
1983
+ superTypes: [UsageBodyMember.$type, UsageMember.$type]
1984
+ },
1341
1985
  MetadataApplication: {
1342
1986
  name: MetadataApplication.$type,
1343
1987
  properties: {
@@ -1352,6 +1996,11 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1352
1996
  },
1353
1997
  superTypes: [DefinitionBodyMember.$type, PackageMember.$type, UsageBodyMember.$type]
1354
1998
  },
1999
+ MetadataBodyMember: {
2000
+ name: MetadataBodyMember.$type,
2001
+ properties: {},
2002
+ superTypes: []
2003
+ },
1355
2004
  MetadataDefinition: {
1356
2005
  name: MetadataDefinition.$type,
1357
2006
  properties: {
@@ -1363,6 +2012,10 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1363
2012
  name: {
1364
2013
  name: MetadataDefinition.name
1365
2014
  },
2015
+ shortName: {
2016
+ name: MetadataDefinition.shortName,
2017
+ optional: true
2018
+ },
1366
2019
  specialization: {
1367
2020
  name: MetadataDefinition.specialization,
1368
2021
  optional: true
@@ -1370,6 +2023,22 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1370
2023
  },
1371
2024
  superTypes: [DefinitionMember.$type]
1372
2025
  },
2026
+ MetadataFeatureMember: {
2027
+ name: MetadataFeatureMember.$type,
2028
+ properties: {
2029
+ name: {
2030
+ name: MetadataFeatureMember.name
2031
+ },
2032
+ redefines: {
2033
+ name: MetadataFeatureMember.redefines,
2034
+ defaultValue: false
2035
+ },
2036
+ value: {
2037
+ name: MetadataFeatureMember.value
2038
+ }
2039
+ },
2040
+ superTypes: [MetadataBodyMember.$type]
2041
+ },
1373
2042
  Model: {
1374
2043
  name: Model.$type,
1375
2044
  properties: {
@@ -1409,6 +2078,25 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1409
2078
  properties: {},
1410
2079
  superTypes: []
1411
2080
  },
2081
+ ObjectiveMember: {
2082
+ name: ObjectiveMember.$type,
2083
+ properties: {
2084
+ body: {
2085
+ name: ObjectiveMember.body,
2086
+ defaultValue: [],
2087
+ optional: true
2088
+ },
2089
+ name: {
2090
+ name: ObjectiveMember.name,
2091
+ optional: true
2092
+ },
2093
+ type: {
2094
+ name: ObjectiveMember.type,
2095
+ optional: true
2096
+ }
2097
+ },
2098
+ superTypes: [ArcadiaMember.$type]
2099
+ },
1412
2100
  PackageDeclaration: {
1413
2101
  name: PackageDeclaration.$type,
1414
2102
  properties: {
@@ -1456,6 +2144,11 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1456
2144
  defaultValue: false,
1457
2145
  optional: true
1458
2146
  },
2147
+ isVariation: {
2148
+ name: PartDefinition.isVariation,
2149
+ defaultValue: false,
2150
+ optional: true
2151
+ },
1459
2152
  name: {
1460
2153
  name: PartDefinition.name
1461
2154
  },
@@ -1481,6 +2174,11 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1481
2174
  name: PartMember.boundRef,
1482
2175
  optional: true
1483
2176
  },
2177
+ isVariation: {
2178
+ name: PartMember.isVariation,
2179
+ defaultValue: false,
2180
+ optional: true
2181
+ },
1484
2182
  multiplicity: {
1485
2183
  name: PartMember.multiplicity,
1486
2184
  optional: true
@@ -1507,6 +2205,15 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1507
2205
  defaultValue: [],
1508
2206
  optional: true
1509
2207
  },
2208
+ isVariation: {
2209
+ name: PartUsage.isVariation,
2210
+ defaultValue: false,
2211
+ optional: true
2212
+ },
2213
+ multiplicity: {
2214
+ name: PartUsage.multiplicity,
2215
+ optional: true
2216
+ },
1510
2217
  name: {
1511
2218
  name: PartUsage.name
1512
2219
  },
@@ -1517,6 +2224,33 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1517
2224
  },
1518
2225
  superTypes: [UsageMember.$type]
1519
2226
  },
2227
+ PerformActionUsage: {
2228
+ name: PerformActionUsage.$type,
2229
+ properties: {
2230
+ body: {
2231
+ name: PerformActionUsage.body,
2232
+ defaultValue: [],
2233
+ optional: true
2234
+ },
2235
+ isAction: {
2236
+ name: PerformActionUsage.isAction,
2237
+ defaultValue: false,
2238
+ optional: true
2239
+ },
2240
+ name: {
2241
+ name: PerformActionUsage.name,
2242
+ optional: true
2243
+ },
2244
+ performed: {
2245
+ name: PerformActionUsage.performed
2246
+ },
2247
+ type: {
2248
+ name: PerformActionUsage.type,
2249
+ optional: true
2250
+ }
2251
+ },
2252
+ superTypes: [ArcadiaMember.$type]
2253
+ },
1520
2254
  PortDefinition: {
1521
2255
  name: PortDefinition.$type,
1522
2256
  properties: {
@@ -1571,6 +2305,15 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1571
2305
  },
1572
2306
  superTypes: [DefinitionBodyMember.$type, UsageBodyMember.$type, UsageMember.$type]
1573
2307
  },
2308
+ PrefixMetadataAnnotation: {
2309
+ name: PrefixMetadataAnnotation.$type,
2310
+ properties: {
2311
+ type: {
2312
+ name: PrefixMetadataAnnotation.type
2313
+ }
2314
+ },
2315
+ superTypes: []
2316
+ },
1574
2317
  RealValue: {
1575
2318
  name: RealValue.$type,
1576
2319
  properties: {
@@ -1674,6 +2417,48 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1674
2417
  },
1675
2418
  superTypes: [UsageMember.$type]
1676
2419
  },
2420
+ RequirementVerificationMember: {
2421
+ name: RequirementVerificationMember.$type,
2422
+ properties: {
2423
+ body: {
2424
+ name: RequirementVerificationMember.body,
2425
+ defaultValue: [],
2426
+ optional: true
2427
+ },
2428
+ requirement: {
2429
+ name: RequirementVerificationMember.requirement
2430
+ }
2431
+ },
2432
+ superTypes: [DefinitionBodyMember.$type, UsageBodyMember.$type]
2433
+ },
2434
+ SatisfyRequirementUsage: {
2435
+ name: SatisfyRequirementUsage.$type,
2436
+ properties: {
2437
+ body: {
2438
+ name: SatisfyRequirementUsage.body,
2439
+ defaultValue: [],
2440
+ optional: true
2441
+ },
2442
+ isAsserted: {
2443
+ name: SatisfyRequirementUsage.isAsserted,
2444
+ defaultValue: false,
2445
+ optional: true
2446
+ },
2447
+ isNegated: {
2448
+ name: SatisfyRequirementUsage.isNegated,
2449
+ defaultValue: false,
2450
+ optional: true
2451
+ },
2452
+ requirement: {
2453
+ name: SatisfyRequirementUsage.requirement
2454
+ },
2455
+ satisfyingFeature: {
2456
+ name: SatisfyRequirementUsage.satisfyingFeature,
2457
+ optional: true
2458
+ }
2459
+ },
2460
+ superTypes: [PackageMember.$type, UsageBodyMember.$type]
2461
+ },
1677
2462
  SendActionUsage: {
1678
2463
  name: SendActionUsage.$type,
1679
2464
  properties: {
@@ -1727,6 +2512,36 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1727
2512
  },
1728
2513
  superTypes: []
1729
2514
  },
2515
+ StakeholderMember: {
2516
+ name: StakeholderMember.$type,
2517
+ properties: {
2518
+ bindingOp: {
2519
+ name: StakeholderMember.bindingOp,
2520
+ optional: true
2521
+ },
2522
+ body: {
2523
+ name: StakeholderMember.body,
2524
+ defaultValue: [],
2525
+ optional: true
2526
+ },
2527
+ boundRef: {
2528
+ name: StakeholderMember.boundRef,
2529
+ optional: true
2530
+ },
2531
+ multiplicity: {
2532
+ name: StakeholderMember.multiplicity,
2533
+ optional: true
2534
+ },
2535
+ name: {
2536
+ name: StakeholderMember.name
2537
+ },
2538
+ type: {
2539
+ name: StakeholderMember.type,
2540
+ optional: true
2541
+ }
2542
+ },
2543
+ superTypes: [ArcadiaMember.$type]
2544
+ },
1730
2545
  StateDefinition: {
1731
2546
  name: StateDefinition.$type,
1732
2547
  properties: {
@@ -1770,7 +2585,7 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1770
2585
  name: StateUsage.type
1771
2586
  }
1772
2587
  },
1773
- superTypes: [UsageMember.$type]
2588
+ superTypes: [UsageBodyMember.$type, UsageMember.$type]
1774
2589
  },
1775
2590
  StringValue: {
1776
2591
  name: StringValue.$type,
@@ -1781,6 +2596,37 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1781
2596
  },
1782
2597
  superTypes: [AttributeValue.$type]
1783
2598
  },
2599
+ SubjectMember: {
2600
+ name: SubjectMember.$type,
2601
+ properties: {
2602
+ bindingOp: {
2603
+ name: SubjectMember.bindingOp,
2604
+ optional: true
2605
+ },
2606
+ body: {
2607
+ name: SubjectMember.body,
2608
+ defaultValue: [],
2609
+ optional: true
2610
+ },
2611
+ boundRefs: {
2612
+ name: SubjectMember.boundRefs,
2613
+ defaultValue: [],
2614
+ optional: true
2615
+ },
2616
+ multiplicity: {
2617
+ name: SubjectMember.multiplicity,
2618
+ optional: true
2619
+ },
2620
+ name: {
2621
+ name: SubjectMember.name
2622
+ },
2623
+ type: {
2624
+ name: SubjectMember.type,
2625
+ optional: true
2626
+ }
2627
+ },
2628
+ superTypes: [ArcadiaMember.$type]
2629
+ },
1784
2630
  SuccessionStep: {
1785
2631
  name: SuccessionStep.$type,
1786
2632
  properties: {
@@ -1819,6 +2665,43 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1819
2665
  },
1820
2666
  superTypes: [ActionDefBodyMember.$type, ActionUsageBodyMember.$type]
1821
2667
  },
2668
+ TransitionUsage: {
2669
+ name: TransitionUsage.$type,
2670
+ properties: {
2671
+ body: {
2672
+ name: TransitionUsage.body,
2673
+ defaultValue: [],
2674
+ optional: true
2675
+ },
2676
+ effect: {
2677
+ name: TransitionUsage.effect,
2678
+ optional: true
2679
+ },
2680
+ guard: {
2681
+ name: TransitionUsage.guard,
2682
+ optional: true
2683
+ },
2684
+ name: {
2685
+ name: TransitionUsage.name,
2686
+ optional: true
2687
+ },
2688
+ source: {
2689
+ name: TransitionUsage.source
2690
+ },
2691
+ target: {
2692
+ name: TransitionUsage.target
2693
+ },
2694
+ trigger: {
2695
+ name: TransitionUsage.trigger,
2696
+ optional: true
2697
+ },
2698
+ type: {
2699
+ name: TransitionUsage.type,
2700
+ optional: true
2701
+ }
2702
+ },
2703
+ superTypes: [ArcadiaMember.$type]
2704
+ },
1822
2705
  UnaryExpr: {
1823
2706
  name: UnaryExpr.$type,
1824
2707
  properties: {
@@ -1834,7 +2717,7 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1834
2717
  UsageBodyMember: {
1835
2718
  name: UsageBodyMember.$type,
1836
2719
  properties: {},
1837
- superTypes: [ActionDefBodyMember.$type, ActionUsageBodyMember.$type, ViewBodyMember.$type]
2720
+ superTypes: [ActionDefBodyMember.$type, ActionUsageBodyMember.$type, MetadataBodyMember.$type, ViewBodyMember.$type]
1838
2721
  },
1839
2722
  UsageMember: {
1840
2723
  name: UsageMember.$type,
@@ -1883,6 +2766,36 @@ export class MemoSysMLAstReflection extends langium.AbstractAstReflection {
1883
2766
  },
1884
2767
  superTypes: [NamespaceMember.$type, PackageMember.$type]
1885
2768
  },
2769
+ VariantMember: {
2770
+ name: VariantMember.$type,
2771
+ properties: {
2772
+ body: {
2773
+ name: VariantMember.body,
2774
+ defaultValue: [],
2775
+ optional: true
2776
+ },
2777
+ multiplicity: {
2778
+ name: VariantMember.multiplicity,
2779
+ optional: true
2780
+ },
2781
+ name: {
2782
+ name: VariantMember.name
2783
+ },
2784
+ type: {
2785
+ name: VariantMember.type,
2786
+ optional: true
2787
+ },
2788
+ usageKind: {
2789
+ name: VariantMember.usageKind,
2790
+ optional: true
2791
+ },
2792
+ value: {
2793
+ name: VariantMember.value,
2794
+ optional: true
2795
+ }
2796
+ },
2797
+ superTypes: [ArcadiaMember.$type]
2798
+ },
1886
2799
  VerificationDefinition: {
1887
2800
  name: VerificationDefinition.$type,
1888
2801
  properties: {