@memoarchitect/tools 0.4.6 → 0.6.1

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 (121) hide show
  1. package/README.md +8 -5
  2. package/package.json +3 -3
  3. package/packages/tools/lib/bin/memo.js +3 -5
  4. package/packages/tools/lib/bin/memo.js.map +1 -1
  5. package/packages/tools/lib/browser/index.d.ts +2 -0
  6. package/packages/tools/lib/browser/index.d.ts.map +1 -1
  7. package/packages/tools/lib/browser/index.js +2 -0
  8. package/packages/tools/lib/browser/index.js.map +1 -1
  9. package/packages/tools/lib/commands/create-package.js +1 -1
  10. package/packages/tools/lib/commands/dev.d.ts.map +1 -1
  11. package/packages/tools/lib/commands/dev.js +40 -5
  12. package/packages/tools/lib/commands/dev.js.map +1 -1
  13. package/packages/tools/lib/commands/init.d.ts +7 -4
  14. package/packages/tools/lib/commands/init.d.ts.map +1 -1
  15. package/packages/tools/lib/commands/init.js +30 -37
  16. package/packages/tools/lib/commands/init.js.map +1 -1
  17. package/packages/tools/lib/commands/install.js +1 -1
  18. package/packages/tools/lib/commands/ontology.js +1 -1
  19. package/packages/tools/lib/commands/ontology.js.map +1 -1
  20. package/packages/tools/lib/dhf/document-registry.js +5 -5
  21. package/packages/tools/lib/dhf/document-registry.js.map +1 -1
  22. package/packages/tools/lib/dhf/template-engine.js +3 -3
  23. package/packages/tools/lib/dhf/template-engine.js.map +1 -1
  24. package/packages/tools/lib/importer/cameo-importer.d.ts.map +1 -1
  25. package/packages/tools/lib/importer/cameo-importer.js +5 -2
  26. package/packages/tools/lib/importer/cameo-importer.js.map +1 -1
  27. package/packages/tools/lib/importer/ea-importer.d.ts +1 -1
  28. package/packages/tools/lib/importer/ea-importer.d.ts.map +1 -1
  29. package/packages/tools/lib/importer/ea-importer.js +6 -4
  30. package/packages/tools/lib/importer/ea-importer.js.map +1 -1
  31. package/packages/tools/lib/index.d.ts +2 -0
  32. package/packages/tools/lib/index.d.ts.map +1 -1
  33. package/packages/tools/lib/index.js +2 -0
  34. package/packages/tools/lib/index.js.map +1 -1
  35. package/packages/tools/lib/language/generated/ast.d.ts +409 -42
  36. package/packages/tools/lib/language/generated/ast.d.ts.map +1 -1
  37. package/packages/tools/lib/language/generated/ast.js +318 -12
  38. package/packages/tools/lib/language/generated/ast.js.map +1 -1
  39. package/packages/tools/lib/language/generated/grammar.d.ts.map +1 -1
  40. package/packages/tools/lib/language/generated/grammar.js +1732 -513
  41. package/packages/tools/lib/language/generated/grammar.js.map +1 -1
  42. package/packages/tools/lib/model/builder.d.ts.map +1 -1
  43. package/packages/tools/lib/model/builder.js +38 -14
  44. package/packages/tools/lib/model/builder.js.map +1 -1
  45. package/packages/tools/lib/model/config.d.ts +11 -1
  46. package/packages/tools/lib/model/config.d.ts.map +1 -1
  47. package/packages/tools/lib/model/kind-registry.d.ts +11 -0
  48. package/packages/tools/lib/model/kind-registry.d.ts.map +1 -1
  49. package/packages/tools/lib/model/kind-registry.js +33 -7
  50. package/packages/tools/lib/model/kind-registry.js.map +1 -1
  51. package/packages/tools/lib/model/layer-resolver.d.ts +10 -0
  52. package/packages/tools/lib/model/layer-resolver.d.ts.map +1 -1
  53. package/packages/tools/lib/model/layer-resolver.js +49 -0
  54. package/packages/tools/lib/model/layer-resolver.js.map +1 -1
  55. package/packages/tools/lib/model/manifest.d.ts +2 -2
  56. package/packages/tools/lib/model/manifest.d.ts.map +1 -1
  57. package/packages/tools/lib/model/manifest.js +3 -2
  58. package/packages/tools/lib/model/manifest.js.map +1 -1
  59. package/packages/tools/lib/model/ontology-loader.d.ts +2 -0
  60. package/packages/tools/lib/model/ontology-loader.d.ts.map +1 -1
  61. package/packages/tools/lib/model/ontology-loader.js +92 -28
  62. package/packages/tools/lib/model/ontology-loader.js.map +1 -1
  63. package/packages/tools/lib/model/parser-utils.d.ts +9 -0
  64. package/packages/tools/lib/model/parser-utils.d.ts.map +1 -1
  65. package/packages/tools/lib/model/parser-utils.js +24 -0
  66. package/packages/tools/lib/model/parser-utils.js.map +1 -1
  67. package/packages/tools/lib/model/paths.d.ts +0 -2
  68. package/packages/tools/lib/model/paths.d.ts.map +1 -1
  69. package/packages/tools/lib/model/paths.js +0 -2
  70. package/packages/tools/lib/model/paths.js.map +1 -1
  71. package/packages/tools/lib/model/relationship-legality.d.ts +266 -0
  72. package/packages/tools/lib/model/relationship-legality.d.ts.map +1 -0
  73. package/packages/tools/lib/model/relationship-legality.js +391 -0
  74. package/packages/tools/lib/model/relationship-legality.js.map +1 -0
  75. package/packages/tools/lib/model/relationship-registry.d.ts +38 -4
  76. package/packages/tools/lib/model/relationship-registry.d.ts.map +1 -1
  77. package/packages/tools/lib/model/relationship-registry.js +109 -1
  78. package/packages/tools/lib/model/relationship-registry.js.map +1 -1
  79. package/packages/tools/lib/model/semantic.d.ts +42 -0
  80. package/packages/tools/lib/model/semantic.d.ts.map +1 -1
  81. package/packages/tools/lib/model/semantic.js +3 -0
  82. package/packages/tools/lib/model/semantic.js.map +1 -1
  83. package/packages/tools/lib/model/short-id.js +1 -1
  84. package/packages/tools/lib/model/short-id.js.map +1 -1
  85. package/packages/tools/lib/model/source-affinity.d.ts +21 -0
  86. package/packages/tools/lib/model/source-affinity.d.ts.map +1 -0
  87. package/packages/tools/lib/model/source-affinity.js +42 -0
  88. package/packages/tools/lib/model/source-affinity.js.map +1 -0
  89. package/packages/tools/lib/model/source-graph.d.ts +30 -0
  90. package/packages/tools/lib/model/source-graph.d.ts.map +1 -0
  91. package/packages/tools/lib/model/source-graph.js +154 -0
  92. package/packages/tools/lib/model/source-graph.js.map +1 -0
  93. package/packages/tools/lib/model/view-kinds.d.ts.map +1 -1
  94. package/packages/tools/lib/model/view-kinds.js +1 -0
  95. package/packages/tools/lib/model/view-kinds.js.map +1 -1
  96. package/packages/tools/lib/operations/project-snapshot.d.ts.map +1 -1
  97. package/packages/tools/lib/operations/project-snapshot.js +2 -15
  98. package/packages/tools/lib/operations/project-snapshot.js.map +1 -1
  99. package/packages/tools/lib/protocol/messages.d.ts +92 -8
  100. package/packages/tools/lib/protocol/messages.d.ts.map +1 -1
  101. package/packages/tools/lib/server/dev-server.d.ts +16 -0
  102. package/packages/tools/lib/server/dev-server.d.ts.map +1 -1
  103. package/packages/tools/lib/server/dev-server.js +190 -16
  104. package/packages/tools/lib/server/dev-server.js.map +1 -1
  105. package/packages/tools/lib/server/file-watcher.d.ts +21 -2
  106. package/packages/tools/lib/server/file-watcher.d.ts.map +1 -1
  107. package/packages/tools/lib/server/file-watcher.js +55 -23
  108. package/packages/tools/lib/server/file-watcher.js.map +1 -1
  109. package/packages/tools/lib/server/persistor.d.ts +0 -13
  110. package/packages/tools/lib/server/persistor.d.ts.map +1 -1
  111. package/packages/tools/lib/server/persistor.js +3 -31
  112. package/packages/tools/lib/server/persistor.js.map +1 -1
  113. package/packages/tools/lib/server/relationship-writer.d.ts +104 -0
  114. package/packages/tools/lib/server/relationship-writer.d.ts.map +1 -0
  115. package/packages/tools/lib/server/relationship-writer.js +402 -0
  116. package/packages/tools/lib/server/relationship-writer.js.map +1 -0
  117. package/packages/tools/lib/server/view-layout-store.d.ts +14 -1
  118. package/packages/tools/lib/server/view-layout-store.d.ts.map +1 -1
  119. package/packages/tools/lib/server/view-layout-store.js +63 -11
  120. package/packages/tools/lib/server/view-layout-store.js.map +1 -1
  121. package/packages/tools/src/grammar/memo-sysml.langium +102 -18
@@ -45,7 +45,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
45
45
  {
46
46
  "$type": "RuleCall",
47
47
  "rule": {
48
- "$ref": "#/rules@5"
48
+ "$ref": "#/rules@6"
49
49
  },
50
50
  "arguments": []
51
51
  }
@@ -82,7 +82,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
82
82
  "terminal": {
83
83
  "$type": "RuleCall",
84
84
  "rule": {
85
- "$ref": "#/rules@83"
85
+ "$ref": "#/rules@91"
86
86
  },
87
87
  "arguments": []
88
88
  }
@@ -137,49 +137,70 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
137
137
  {
138
138
  "$type": "RuleCall",
139
139
  "rule": {
140
- "$ref": "#/rules@5"
140
+ "$ref": "#/rules@6"
141
141
  },
142
142
  "arguments": []
143
143
  },
144
144
  {
145
145
  "$type": "RuleCall",
146
146
  "rule": {
147
- "$ref": "#/rules@7"
147
+ "$ref": "#/rules@8"
148
148
  },
149
149
  "arguments": []
150
150
  },
151
151
  {
152
152
  "$type": "RuleCall",
153
153
  "rule": {
154
- "$ref": "#/rules@27"
154
+ "$ref": "#/rules@30"
155
155
  },
156
156
  "arguments": []
157
157
  },
158
158
  {
159
159
  "$type": "RuleCall",
160
160
  "rule": {
161
- "$ref": "#/rules@36"
161
+ "$ref": "#/rules@33"
162
162
  },
163
163
  "arguments": []
164
164
  },
165
165
  {
166
166
  "$type": "RuleCall",
167
167
  "rule": {
168
- "$ref": "#/rules@48"
168
+ "$ref": "#/rules@69"
169
169
  },
170
170
  "arguments": []
171
171
  },
172
172
  {
173
173
  "$type": "RuleCall",
174
174
  "rule": {
175
- "$ref": "#/rules@9"
175
+ "$ref": "#/rules@32"
176
176
  },
177
177
  "arguments": []
178
178
  },
179
179
  {
180
180
  "$type": "RuleCall",
181
181
  "rule": {
182
- "$ref": "#/rules@72"
182
+ "$ref": "#/rules@44"
183
+ },
184
+ "arguments": []
185
+ },
186
+ {
187
+ "$type": "RuleCall",
188
+ "rule": {
189
+ "$ref": "#/rules@56"
190
+ },
191
+ "arguments": []
192
+ },
193
+ {
194
+ "$type": "RuleCall",
195
+ "rule": {
196
+ "$ref": "#/rules@10"
197
+ },
198
+ "arguments": []
199
+ },
200
+ {
201
+ "$type": "RuleCall",
202
+ "rule": {
203
+ "$ref": "#/rules@80"
183
204
  },
184
205
  "arguments": []
185
206
  }
@@ -206,7 +227,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
206
227
  "terminal": {
207
228
  "$type": "RuleCall",
208
229
  "rule": {
209
- "$ref": "#/rules@83"
230
+ "$ref": "#/rules@5"
210
231
  },
211
232
  "arguments": []
212
233
  }
@@ -222,7 +243,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
222
243
  "terminal": {
223
244
  "$type": "RuleCall",
224
245
  "rule": {
225
- "$ref": "#/rules@74"
246
+ "$ref": "#/rules@82"
226
247
  },
227
248
  "arguments": []
228
249
  }
@@ -237,6 +258,30 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
237
258
  "fragment": false,
238
259
  "parameters": []
239
260
  },
261
+ {
262
+ "$type": "ParserRule",
263
+ "name": "AliasName",
264
+ "dataType": "string",
265
+ "definition": {
266
+ "$type": "Alternatives",
267
+ "elements": [
268
+ {
269
+ "$type": "RuleCall",
270
+ "rule": {
271
+ "$ref": "#/rules@91"
272
+ },
273
+ "arguments": []
274
+ },
275
+ {
276
+ "$type": "Keyword",
277
+ "value": "verification"
278
+ }
279
+ ]
280
+ },
281
+ "entry": false,
282
+ "fragment": false,
283
+ "parameters": []
284
+ },
240
285
  {
241
286
  "$type": "ParserRule",
242
287
  "name": "ImportDeclaration",
@@ -273,7 +318,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
273
318
  "terminal": {
274
319
  "$type": "RuleCall",
275
320
  "rule": {
276
- "$ref": "#/rules@6"
321
+ "$ref": "#/rules@7"
277
322
  },
278
323
  "arguments": []
279
324
  }
@@ -298,7 +343,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
298
343
  {
299
344
  "$type": "RuleCall",
300
345
  "rule": {
301
- "$ref": "#/rules@83"
346
+ "$ref": "#/rules@91"
302
347
  },
303
348
  "arguments": []
304
349
  },
@@ -315,7 +360,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
315
360
  {
316
361
  "$type": "RuleCall",
317
362
  "rule": {
318
- "$ref": "#/rules@83"
363
+ "$ref": "#/rules@91"
319
364
  },
320
365
  "arguments": []
321
366
  },
@@ -340,13 +385,6 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
340
385
  "definition": {
341
386
  "$type": "Alternatives",
342
387
  "elements": [
343
- {
344
- "$type": "RuleCall",
345
- "rule": {
346
- "$ref": "#/rules@10"
347
- },
348
- "arguments": []
349
- },
350
388
  {
351
389
  "$type": "RuleCall",
352
390
  "rule": {
@@ -427,7 +465,28 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
427
465
  {
428
466
  "$type": "RuleCall",
429
467
  "rule": {
430
- "$ref": "#/rules@8"
468
+ "$ref": "#/rules@22"
469
+ },
470
+ "arguments": []
471
+ },
472
+ {
473
+ "$type": "RuleCall",
474
+ "rule": {
475
+ "$ref": "#/rules@23"
476
+ },
477
+ "arguments": []
478
+ },
479
+ {
480
+ "$type": "RuleCall",
481
+ "rule": {
482
+ "$ref": "#/rules@24"
483
+ },
484
+ "arguments": []
485
+ },
486
+ {
487
+ "$type": "RuleCall",
488
+ "rule": {
489
+ "$ref": "#/rules@9"
431
490
  },
432
491
  "arguments": []
433
492
  }
@@ -458,7 +517,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
458
517
  "terminal": {
459
518
  "$type": "RuleCall",
460
519
  "rule": {
461
- "$ref": "#/rules@83"
520
+ "$ref": "#/rules@91"
462
521
  },
463
522
  "arguments": []
464
523
  }
@@ -470,7 +529,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
470
529
  "terminal": {
471
530
  "$type": "RuleCall",
472
531
  "rule": {
473
- "$ref": "#/rules@73"
532
+ "$ref": "#/rules@81"
474
533
  },
475
534
  "arguments": []
476
535
  },
@@ -493,7 +552,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
493
552
  "terminal": {
494
553
  "$type": "RuleCall",
495
554
  "rule": {
496
- "$ref": "#/rules@50"
555
+ "$ref": "#/rules@58"
497
556
  },
498
557
  "arguments": []
499
558
  },
@@ -534,7 +593,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
534
593
  "terminal": {
535
594
  "$type": "RuleCall",
536
595
  "rule": {
537
- "$ref": "#/rules@74"
596
+ "$ref": "#/rules@82"
538
597
  },
539
598
  "arguments": []
540
599
  }
@@ -556,7 +615,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
556
615
  "terminal": {
557
616
  "$type": "RuleCall",
558
617
  "rule": {
559
- "$ref": "#/rules@60"
618
+ "$ref": "#/rules@68"
560
619
  },
561
620
  "arguments": []
562
621
  },
@@ -611,7 +670,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
611
670
  "terminal": {
612
671
  "$type": "RuleCall",
613
672
  "rule": {
614
- "$ref": "#/rules@83"
673
+ "$ref": "#/rules@91"
615
674
  },
616
675
  "arguments": []
617
676
  }
@@ -623,7 +682,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
623
682
  "terminal": {
624
683
  "$type": "RuleCall",
625
684
  "rule": {
626
- "$ref": "#/rules@73"
685
+ "$ref": "#/rules@81"
627
686
  },
628
687
  "arguments": []
629
688
  },
@@ -643,7 +702,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
643
702
  "terminal": {
644
703
  "$type": "RuleCall",
645
704
  "rule": {
646
- "$ref": "#/rules@74"
705
+ "$ref": "#/rules@82"
647
706
  },
648
707
  "arguments": []
649
708
  }
@@ -668,7 +727,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
668
727
  "terminal": {
669
728
  "$type": "RuleCall",
670
729
  "rule": {
671
- "$ref": "#/rules@50"
730
+ "$ref": "#/rules@58"
672
731
  },
673
732
  "arguments": []
674
733
  },
@@ -723,7 +782,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
723
782
  "terminal": {
724
783
  "$type": "RuleCall",
725
784
  "rule": {
726
- "$ref": "#/rules@83"
785
+ "$ref": "#/rules@91"
727
786
  },
728
787
  "arguments": []
729
788
  }
@@ -735,7 +794,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
735
794
  "terminal": {
736
795
  "$type": "RuleCall",
737
796
  "rule": {
738
- "$ref": "#/rules@73"
797
+ "$ref": "#/rules@81"
739
798
  },
740
799
  "arguments": []
741
800
  },
@@ -755,7 +814,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
755
814
  "terminal": {
756
815
  "$type": "RuleCall",
757
816
  "rule": {
758
- "$ref": "#/rules@74"
817
+ "$ref": "#/rules@82"
759
818
  },
760
819
  "arguments": []
761
820
  }
@@ -780,7 +839,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
780
839
  "terminal": {
781
840
  "$type": "RuleCall",
782
841
  "rule": {
783
- "$ref": "#/rules@50"
842
+ "$ref": "#/rules@58"
784
843
  },
785
844
  "arguments": []
786
845
  },
@@ -806,7 +865,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
806
865
  },
807
866
  {
808
867
  "$type": "ParserRule",
809
- "name": "ActionDefinition",
868
+ "name": "VerificationDefinition",
810
869
  "definition": {
811
870
  "$type": "Group",
812
871
  "elements": [
@@ -821,26 +880,8 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
821
880
  "cardinality": "?"
822
881
  },
823
882
  {
824
- "$type": "Assignment",
825
- "feature": "behaviorKind",
826
- "operator": "=",
827
- "terminal": {
828
- "$type": "Alternatives",
829
- "elements": [
830
- {
831
- "$type": "Keyword",
832
- "value": "action"
833
- },
834
- {
835
- "$type": "Keyword",
836
- "value": "operator"
837
- },
838
- {
839
- "$type": "Keyword",
840
- "value": "function"
841
- }
842
- ]
843
- }
883
+ "$type": "Keyword",
884
+ "value": "verification"
844
885
  },
845
886
  {
846
887
  "$type": "Keyword",
@@ -853,7 +894,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
853
894
  "terminal": {
854
895
  "$type": "RuleCall",
855
896
  "rule": {
856
- "$ref": "#/rules@83"
897
+ "$ref": "#/rules@91"
857
898
  },
858
899
  "arguments": []
859
900
  }
@@ -865,7 +906,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
865
906
  "terminal": {
866
907
  "$type": "RuleCall",
867
908
  "rule": {
868
- "$ref": "#/rules@73"
909
+ "$ref": "#/rules@81"
869
910
  },
870
911
  "arguments": []
871
912
  },
@@ -885,7 +926,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
885
926
  "terminal": {
886
927
  "$type": "RuleCall",
887
928
  "rule": {
888
- "$ref": "#/rules@74"
929
+ "$ref": "#/rules@82"
889
930
  },
890
931
  "arguments": []
891
932
  }
@@ -910,7 +951,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
910
951
  "terminal": {
911
952
  "$type": "RuleCall",
912
953
  "rule": {
913
- "$ref": "#/rules@38"
954
+ "$ref": "#/rules@58"
914
955
  },
915
956
  "arguments": []
916
957
  },
@@ -936,7 +977,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
936
977
  },
937
978
  {
938
979
  "$type": "ParserRule",
939
- "name": "ItemDefinition",
980
+ "name": "StateDefinition",
940
981
  "definition": {
941
982
  "$type": "Group",
942
983
  "elements": [
@@ -952,7 +993,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
952
993
  },
953
994
  {
954
995
  "$type": "Keyword",
955
- "value": "item"
996
+ "value": "state"
956
997
  },
957
998
  {
958
999
  "$type": "Keyword",
@@ -965,7 +1006,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
965
1006
  "terminal": {
966
1007
  "$type": "RuleCall",
967
1008
  "rule": {
968
- "$ref": "#/rules@83"
1009
+ "$ref": "#/rules@91"
969
1010
  },
970
1011
  "arguments": []
971
1012
  }
@@ -977,7 +1018,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
977
1018
  "terminal": {
978
1019
  "$type": "RuleCall",
979
1020
  "rule": {
980
- "$ref": "#/rules@73"
1021
+ "$ref": "#/rules@81"
981
1022
  },
982
1023
  "arguments": []
983
1024
  },
@@ -997,7 +1038,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
997
1038
  "terminal": {
998
1039
  "$type": "RuleCall",
999
1040
  "rule": {
1000
- "$ref": "#/rules@74"
1041
+ "$ref": "#/rules@82"
1001
1042
  },
1002
1043
  "arguments": []
1003
1044
  }
@@ -1022,7 +1063,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1022
1063
  "terminal": {
1023
1064
  "$type": "RuleCall",
1024
1065
  "rule": {
1025
- "$ref": "#/rules@50"
1066
+ "$ref": "#/rules@58"
1026
1067
  },
1027
1068
  "arguments": []
1028
1069
  },
@@ -1048,7 +1089,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1048
1089
  },
1049
1090
  {
1050
1091
  "$type": "ParserRule",
1051
- "name": "PortDefinition",
1092
+ "name": "ActionDefinition",
1052
1093
  "definition": {
1053
1094
  "$type": "Group",
1054
1095
  "elements": [
@@ -1063,8 +1104,26 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1063
1104
  "cardinality": "?"
1064
1105
  },
1065
1106
  {
1066
- "$type": "Keyword",
1067
- "value": "port"
1107
+ "$type": "Assignment",
1108
+ "feature": "behaviorKind",
1109
+ "operator": "=",
1110
+ "terminal": {
1111
+ "$type": "Alternatives",
1112
+ "elements": [
1113
+ {
1114
+ "$type": "Keyword",
1115
+ "value": "action"
1116
+ },
1117
+ {
1118
+ "$type": "Keyword",
1119
+ "value": "operator"
1120
+ },
1121
+ {
1122
+ "$type": "Keyword",
1123
+ "value": "function"
1124
+ }
1125
+ ]
1126
+ }
1068
1127
  },
1069
1128
  {
1070
1129
  "$type": "Keyword",
@@ -1077,7 +1136,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1077
1136
  "terminal": {
1078
1137
  "$type": "RuleCall",
1079
1138
  "rule": {
1080
- "$ref": "#/rules@83"
1139
+ "$ref": "#/rules@91"
1081
1140
  },
1082
1141
  "arguments": []
1083
1142
  }
@@ -1089,7 +1148,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1089
1148
  "terminal": {
1090
1149
  "$type": "RuleCall",
1091
1150
  "rule": {
1092
- "$ref": "#/rules@73"
1151
+ "$ref": "#/rules@81"
1093
1152
  },
1094
1153
  "arguments": []
1095
1154
  },
@@ -1109,7 +1168,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1109
1168
  "terminal": {
1110
1169
  "$type": "RuleCall",
1111
1170
  "rule": {
1112
- "$ref": "#/rules@74"
1171
+ "$ref": "#/rules@82"
1113
1172
  },
1114
1173
  "arguments": []
1115
1174
  }
@@ -1134,7 +1193,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1134
1193
  "terminal": {
1135
1194
  "$type": "RuleCall",
1136
1195
  "rule": {
1137
- "$ref": "#/rules@50"
1196
+ "$ref": "#/rules@46"
1138
1197
  },
1139
1198
  "arguments": []
1140
1199
  },
@@ -1160,7 +1219,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1160
1219
  },
1161
1220
  {
1162
1221
  "$type": "ParserRule",
1163
- "name": "InterfaceDefinition",
1222
+ "name": "ItemDefinition",
1164
1223
  "definition": {
1165
1224
  "$type": "Group",
1166
1225
  "elements": [
@@ -1176,7 +1235,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1176
1235
  },
1177
1236
  {
1178
1237
  "$type": "Keyword",
1179
- "value": "interface"
1238
+ "value": "item"
1180
1239
  },
1181
1240
  {
1182
1241
  "$type": "Keyword",
@@ -1189,7 +1248,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1189
1248
  "terminal": {
1190
1249
  "$type": "RuleCall",
1191
1250
  "rule": {
1192
- "$ref": "#/rules@83"
1251
+ "$ref": "#/rules@91"
1193
1252
  },
1194
1253
  "arguments": []
1195
1254
  }
@@ -1201,7 +1260,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1201
1260
  "terminal": {
1202
1261
  "$type": "RuleCall",
1203
1262
  "rule": {
1204
- "$ref": "#/rules@73"
1263
+ "$ref": "#/rules@81"
1205
1264
  },
1206
1265
  "arguments": []
1207
1266
  },
@@ -1221,7 +1280,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1221
1280
  "terminal": {
1222
1281
  "$type": "RuleCall",
1223
1282
  "rule": {
1224
- "$ref": "#/rules@74"
1283
+ "$ref": "#/rules@82"
1225
1284
  },
1226
1285
  "arguments": []
1227
1286
  }
@@ -1246,7 +1305,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1246
1305
  "terminal": {
1247
1306
  "$type": "RuleCall",
1248
1307
  "rule": {
1249
- "$ref": "#/rules@50"
1308
+ "$ref": "#/rules@58"
1250
1309
  },
1251
1310
  "arguments": []
1252
1311
  },
@@ -1272,7 +1331,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1272
1331
  },
1273
1332
  {
1274
1333
  "$type": "ParserRule",
1275
- "name": "ConnectionDefinition",
1334
+ "name": "PortDefinition",
1276
1335
  "definition": {
1277
1336
  "$type": "Group",
1278
1337
  "elements": [
@@ -1288,7 +1347,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1288
1347
  },
1289
1348
  {
1290
1349
  "$type": "Keyword",
1291
- "value": "connection"
1350
+ "value": "port"
1292
1351
  },
1293
1352
  {
1294
1353
  "$type": "Keyword",
@@ -1301,7 +1360,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1301
1360
  "terminal": {
1302
1361
  "$type": "RuleCall",
1303
1362
  "rule": {
1304
- "$ref": "#/rules@83"
1363
+ "$ref": "#/rules@91"
1305
1364
  },
1306
1365
  "arguments": []
1307
1366
  }
@@ -1313,7 +1372,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1313
1372
  "terminal": {
1314
1373
  "$type": "RuleCall",
1315
1374
  "rule": {
1316
- "$ref": "#/rules@73"
1375
+ "$ref": "#/rules@81"
1317
1376
  },
1318
1377
  "arguments": []
1319
1378
  },
@@ -1333,7 +1392,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1333
1392
  "terminal": {
1334
1393
  "$type": "RuleCall",
1335
1394
  "rule": {
1336
- "$ref": "#/rules@74"
1395
+ "$ref": "#/rules@82"
1337
1396
  },
1338
1397
  "arguments": []
1339
1398
  }
@@ -1358,7 +1417,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1358
1417
  "terminal": {
1359
1418
  "$type": "RuleCall",
1360
1419
  "rule": {
1361
- "$ref": "#/rules@22"
1420
+ "$ref": "#/rules@58"
1362
1421
  },
1363
1422
  "arguments": []
1364
1423
  },
@@ -1384,7 +1443,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1384
1443
  },
1385
1444
  {
1386
1445
  "$type": "ParserRule",
1387
- "name": "AttributeDefinition",
1446
+ "name": "InterfaceDefinition",
1388
1447
  "definition": {
1389
1448
  "$type": "Group",
1390
1449
  "elements": [
@@ -1400,7 +1459,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1400
1459
  },
1401
1460
  {
1402
1461
  "$type": "Keyword",
1403
- "value": "attribute"
1462
+ "value": "interface"
1404
1463
  },
1405
1464
  {
1406
1465
  "$type": "Keyword",
@@ -1413,7 +1472,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1413
1472
  "terminal": {
1414
1473
  "$type": "RuleCall",
1415
1474
  "rule": {
1416
- "$ref": "#/rules@83"
1475
+ "$ref": "#/rules@91"
1417
1476
  },
1418
1477
  "arguments": []
1419
1478
  }
@@ -1425,7 +1484,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1425
1484
  "terminal": {
1426
1485
  "$type": "RuleCall",
1427
1486
  "rule": {
1428
- "$ref": "#/rules@73"
1487
+ "$ref": "#/rules@81"
1429
1488
  },
1430
1489
  "arguments": []
1431
1490
  },
@@ -1445,7 +1504,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1445
1504
  "terminal": {
1446
1505
  "$type": "RuleCall",
1447
1506
  "rule": {
1448
- "$ref": "#/rules@74"
1507
+ "$ref": "#/rules@82"
1449
1508
  },
1450
1509
  "arguments": []
1451
1510
  }
@@ -1470,7 +1529,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1470
1529
  "terminal": {
1471
1530
  "$type": "RuleCall",
1472
1531
  "rule": {
1473
- "$ref": "#/rules@50"
1532
+ "$ref": "#/rules@25"
1474
1533
  },
1475
1534
  "arguments": []
1476
1535
  },
@@ -1496,7 +1555,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1496
1555
  },
1497
1556
  {
1498
1557
  "$type": "ParserRule",
1499
- "name": "ConstraintDefinition",
1558
+ "name": "ConnectionDefinition",
1500
1559
  "definition": {
1501
1560
  "$type": "Group",
1502
1561
  "elements": [
@@ -1512,7 +1571,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1512
1571
  },
1513
1572
  {
1514
1573
  "$type": "Keyword",
1515
- "value": "constraint"
1574
+ "value": "connection"
1516
1575
  },
1517
1576
  {
1518
1577
  "$type": "Keyword",
@@ -1525,7 +1584,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1525
1584
  "terminal": {
1526
1585
  "$type": "RuleCall",
1527
1586
  "rule": {
1528
- "$ref": "#/rules@83"
1587
+ "$ref": "#/rules@91"
1529
1588
  },
1530
1589
  "arguments": []
1531
1590
  }
@@ -1537,7 +1596,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1537
1596
  "terminal": {
1538
1597
  "$type": "RuleCall",
1539
1598
  "rule": {
1540
- "$ref": "#/rules@73"
1599
+ "$ref": "#/rules@81"
1541
1600
  },
1542
1601
  "arguments": []
1543
1602
  },
@@ -1557,7 +1616,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1557
1616
  "terminal": {
1558
1617
  "$type": "RuleCall",
1559
1618
  "rule": {
1560
- "$ref": "#/rules@74"
1619
+ "$ref": "#/rules@82"
1561
1620
  },
1562
1621
  "arguments": []
1563
1622
  }
@@ -1582,7 +1641,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1582
1641
  "terminal": {
1583
1642
  "$type": "RuleCall",
1584
1643
  "rule": {
1585
- "$ref": "#/rules@50"
1644
+ "$ref": "#/rules@25"
1586
1645
  },
1587
1646
  "arguments": []
1588
1647
  },
@@ -1608,60 +1667,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1608
1667
  },
1609
1668
  {
1610
1669
  "$type": "ParserRule",
1611
- "name": "EnumDefinition",
1612
- "definition": {
1613
- "$type": "Group",
1614
- "elements": [
1615
- {
1616
- "$type": "Keyword",
1617
- "value": "enum"
1618
- },
1619
- {
1620
- "$type": "Keyword",
1621
- "value": "def"
1622
- },
1623
- {
1624
- "$type": "Assignment",
1625
- "feature": "name",
1626
- "operator": "=",
1627
- "terminal": {
1628
- "$type": "RuleCall",
1629
- "rule": {
1630
- "$ref": "#/rules@83"
1631
- },
1632
- "arguments": []
1633
- }
1634
- },
1635
- {
1636
- "$type": "Keyword",
1637
- "value": "{"
1638
- },
1639
- {
1640
- "$type": "Assignment",
1641
- "feature": "literals",
1642
- "operator": "+=",
1643
- "terminal": {
1644
- "$type": "RuleCall",
1645
- "rule": {
1646
- "$ref": "#/rules@25"
1647
- },
1648
- "arguments": []
1649
- },
1650
- "cardinality": "*"
1651
- },
1652
- {
1653
- "$type": "Keyword",
1654
- "value": "}"
1655
- }
1656
- ]
1657
- },
1658
- "entry": false,
1659
- "fragment": false,
1660
- "parameters": []
1661
- },
1662
- {
1663
- "$type": "ParserRule",
1664
- "name": "ViewpointDefinition",
1670
+ "name": "AttributeDefinition",
1665
1671
  "definition": {
1666
1672
  "$type": "Group",
1667
1673
  "elements": [
@@ -1677,7 +1683,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1677
1683
  },
1678
1684
  {
1679
1685
  "$type": "Keyword",
1680
- "value": "viewpoint"
1686
+ "value": "attribute"
1681
1687
  },
1682
1688
  {
1683
1689
  "$type": "Keyword",
@@ -1690,7 +1696,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1690
1696
  "terminal": {
1691
1697
  "$type": "RuleCall",
1692
1698
  "rule": {
1693
- "$ref": "#/rules@83"
1699
+ "$ref": "#/rules@91"
1694
1700
  },
1695
1701
  "arguments": []
1696
1702
  }
@@ -1702,7 +1708,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1702
1708
  "terminal": {
1703
1709
  "$type": "RuleCall",
1704
1710
  "rule": {
1705
- "$ref": "#/rules@73"
1711
+ "$ref": "#/rules@81"
1706
1712
  },
1707
1713
  "arguments": []
1708
1714
  },
@@ -1722,7 +1728,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1722
1728
  "terminal": {
1723
1729
  "$type": "RuleCall",
1724
1730
  "rule": {
1725
- "$ref": "#/rules@74"
1731
+ "$ref": "#/rules@82"
1726
1732
  },
1727
1733
  "arguments": []
1728
1734
  }
@@ -1747,7 +1753,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1747
1753
  "terminal": {
1748
1754
  "$type": "RuleCall",
1749
1755
  "rule": {
1750
- "$ref": "#/rules@50"
1756
+ "$ref": "#/rules@58"
1751
1757
  },
1752
1758
  "arguments": []
1753
1759
  },
@@ -1773,7 +1779,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1773
1779
  },
1774
1780
  {
1775
1781
  "$type": "ParserRule",
1776
- "name": "ViewDefinition",
1782
+ "name": "ConstraintDefinition",
1777
1783
  "definition": {
1778
1784
  "$type": "Group",
1779
1785
  "elements": [
@@ -1789,7 +1795,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1789
1795
  },
1790
1796
  {
1791
1797
  "$type": "Keyword",
1792
- "value": "view"
1798
+ "value": "constraint"
1793
1799
  },
1794
1800
  {
1795
1801
  "$type": "Keyword",
@@ -1802,7 +1808,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1802
1808
  "terminal": {
1803
1809
  "$type": "RuleCall",
1804
1810
  "rule": {
1805
- "$ref": "#/rules@83"
1811
+ "$ref": "#/rules@91"
1806
1812
  },
1807
1813
  "arguments": []
1808
1814
  }
@@ -1814,7 +1820,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1814
1820
  "terminal": {
1815
1821
  "$type": "RuleCall",
1816
1822
  "rule": {
1817
- "$ref": "#/rules@73"
1823
+ "$ref": "#/rules@81"
1818
1824
  },
1819
1825
  "arguments": []
1820
1826
  },
@@ -1834,7 +1840,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1834
1840
  "terminal": {
1835
1841
  "$type": "RuleCall",
1836
1842
  "rule": {
1837
- "$ref": "#/rules@74"
1843
+ "$ref": "#/rules@82"
1838
1844
  },
1839
1845
  "arguments": []
1840
1846
  }
@@ -1859,7 +1865,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1859
1865
  "terminal": {
1860
1866
  "$type": "RuleCall",
1861
1867
  "rule": {
1862
- "$ref": "#/rules@50"
1868
+ "$ref": "#/rules@58"
1863
1869
  },
1864
1870
  "arguments": []
1865
1871
  },
@@ -1885,39 +1891,17 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1885
1891
  },
1886
1892
  {
1887
1893
  "$type": "ParserRule",
1888
- "name": "ConnectionBodyMember",
1894
+ "name": "EnumDefinition",
1889
1895
  "definition": {
1890
- "$type": "Alternatives",
1896
+ "$type": "Group",
1891
1897
  "elements": [
1892
1898
  {
1893
- "$type": "RuleCall",
1894
- "rule": {
1895
- "$ref": "#/rules@23"
1896
- },
1897
- "arguments": []
1899
+ "$type": "Keyword",
1900
+ "value": "enum"
1898
1901
  },
1899
- {
1900
- "$type": "RuleCall",
1901
- "rule": {
1902
- "$ref": "#/rules@50"
1903
- },
1904
- "arguments": []
1905
- }
1906
- ]
1907
- },
1908
- "entry": false,
1909
- "fragment": false,
1910
- "parameters": []
1911
- },
1912
- {
1913
- "$type": "ParserRule",
1914
- "name": "EndDeclaration",
1915
- "definition": {
1916
- "$type": "Group",
1917
- "elements": [
1918
1902
  {
1919
1903
  "$type": "Keyword",
1920
- "value": "end"
1904
+ "value": "def"
1921
1905
  },
1922
1906
  {
1923
1907
  "$type": "Assignment",
@@ -1926,49 +1910,31 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1926
1910
  "terminal": {
1927
1911
  "$type": "RuleCall",
1928
1912
  "rule": {
1929
- "$ref": "#/rules@78"
1913
+ "$ref": "#/rules@91"
1930
1914
  },
1931
1915
  "arguments": []
1932
1916
  }
1933
1917
  },
1934
1918
  {
1935
- "$type": "Group",
1936
- "elements": [
1937
- {
1938
- "$type": "Keyword",
1939
- "value": ":"
1940
- },
1941
- {
1942
- "$type": "Assignment",
1943
- "feature": "type",
1944
- "operator": "=",
1945
- "terminal": {
1946
- "$type": "RuleCall",
1947
- "rule": {
1948
- "$ref": "#/rules@74"
1949
- },
1950
- "arguments": []
1951
- }
1952
- }
1953
- ],
1954
- "cardinality": "?"
1919
+ "$type": "Keyword",
1920
+ "value": "{"
1955
1921
  },
1956
1922
  {
1957
1923
  "$type": "Assignment",
1958
- "feature": "multiplicity",
1959
- "operator": "=",
1924
+ "feature": "literals",
1925
+ "operator": "+=",
1960
1926
  "terminal": {
1961
1927
  "$type": "RuleCall",
1962
1928
  "rule": {
1963
- "$ref": "#/rules@24"
1929
+ "$ref": "#/rules@28"
1964
1930
  },
1965
1931
  "arguments": []
1966
1932
  },
1967
- "cardinality": "?"
1933
+ "cardinality": "*"
1968
1934
  },
1969
1935
  {
1970
1936
  "$type": "Keyword",
1971
- "value": ";"
1937
+ "value": "}"
1972
1938
  }
1973
1939
  ]
1974
1940
  },
@@ -1978,109 +1944,219 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
1978
1944
  },
1979
1945
  {
1980
1946
  "$type": "ParserRule",
1981
- "name": "Multiplicity",
1947
+ "name": "ViewpointDefinition",
1982
1948
  "definition": {
1983
- "$type": "Alternatives",
1949
+ "$type": "Group",
1984
1950
  "elements": [
1951
+ {
1952
+ "$type": "Assignment",
1953
+ "feature": "isAbstract",
1954
+ "operator": "?=",
1955
+ "terminal": {
1956
+ "$type": "Keyword",
1957
+ "value": "abstract"
1958
+ },
1959
+ "cardinality": "?"
1960
+ },
1961
+ {
1962
+ "$type": "Keyword",
1963
+ "value": "viewpoint"
1964
+ },
1965
+ {
1966
+ "$type": "Keyword",
1967
+ "value": "def"
1968
+ },
1969
+ {
1970
+ "$type": "Assignment",
1971
+ "feature": "name",
1972
+ "operator": "=",
1973
+ "terminal": {
1974
+ "$type": "RuleCall",
1975
+ "rule": {
1976
+ "$ref": "#/rules@91"
1977
+ },
1978
+ "arguments": []
1979
+ }
1980
+ },
1981
+ {
1982
+ "$type": "Assignment",
1983
+ "feature": "specialization",
1984
+ "operator": "=",
1985
+ "terminal": {
1986
+ "$type": "RuleCall",
1987
+ "rule": {
1988
+ "$ref": "#/rules@81"
1989
+ },
1990
+ "arguments": []
1991
+ },
1992
+ "cardinality": "?"
1993
+ },
1985
1994
  {
1986
1995
  "$type": "Group",
1987
1996
  "elements": [
1988
1997
  {
1989
1998
  "$type": "Keyword",
1990
- "value": "["
1999
+ "value": ","
1991
2000
  },
1992
2001
  {
1993
2002
  "$type": "Assignment",
1994
- "feature": "lower",
1995
- "operator": "=",
2003
+ "feature": "additionalSpecializations",
2004
+ "operator": "+=",
1996
2005
  "terminal": {
1997
2006
  "$type": "RuleCall",
1998
2007
  "rule": {
1999
- "$ref": "#/rules@86"
2008
+ "$ref": "#/rules@82"
2000
2009
  },
2001
2010
  "arguments": []
2002
2011
  }
2003
- },
2004
- {
2005
- "$type": "Keyword",
2006
- "value": ".."
2007
- },
2012
+ }
2013
+ ],
2014
+ "cardinality": "*"
2015
+ },
2016
+ {
2017
+ "$type": "Alternatives",
2018
+ "elements": [
2008
2019
  {
2009
- "$type": "Alternatives",
2020
+ "$type": "Group",
2010
2021
  "elements": [
2022
+ {
2023
+ "$type": "Keyword",
2024
+ "value": "{"
2025
+ },
2011
2026
  {
2012
2027
  "$type": "Assignment",
2013
- "feature": "upper",
2014
- "operator": "=",
2028
+ "feature": "body",
2029
+ "operator": "+=",
2015
2030
  "terminal": {
2016
2031
  "$type": "RuleCall",
2017
2032
  "rule": {
2018
- "$ref": "#/rules@86"
2033
+ "$ref": "#/rules@58"
2019
2034
  },
2020
2035
  "arguments": []
2021
- }
2036
+ },
2037
+ "cardinality": "*"
2022
2038
  },
2023
2039
  {
2024
- "$type": "Assignment",
2025
- "feature": "unbounded",
2026
- "operator": "?=",
2027
- "terminal": {
2028
- "$type": "Keyword",
2029
- "value": "*"
2030
- }
2040
+ "$type": "Keyword",
2041
+ "value": "}"
2031
2042
  }
2032
2043
  ]
2033
2044
  },
2034
2045
  {
2035
2046
  "$type": "Keyword",
2036
- "value": "]"
2047
+ "value": ";"
2037
2048
  }
2038
2049
  ]
2050
+ }
2051
+ ]
2052
+ },
2053
+ "entry": false,
2054
+ "fragment": false,
2055
+ "parameters": []
2056
+ },
2057
+ {
2058
+ "$type": "ParserRule",
2059
+ "name": "ViewDefinition",
2060
+ "definition": {
2061
+ "$type": "Group",
2062
+ "elements": [
2063
+ {
2064
+ "$type": "Assignment",
2065
+ "feature": "isAbstract",
2066
+ "operator": "?=",
2067
+ "terminal": {
2068
+ "$type": "Keyword",
2069
+ "value": "abstract"
2070
+ },
2071
+ "cardinality": "?"
2039
2072
  },
2040
2073
  {
2041
- "$type": "Group",
2042
- "elements": [
2043
- {
2044
- "$type": "Keyword",
2045
- "value": "["
2074
+ "$type": "Keyword",
2075
+ "value": "view"
2076
+ },
2077
+ {
2078
+ "$type": "Keyword",
2079
+ "value": "def"
2080
+ },
2081
+ {
2082
+ "$type": "Assignment",
2083
+ "feature": "name",
2084
+ "operator": "=",
2085
+ "terminal": {
2086
+ "$type": "RuleCall",
2087
+ "rule": {
2088
+ "$ref": "#/rules@91"
2046
2089
  },
2047
- {
2048
- "$type": "Assignment",
2049
- "feature": "unbounded",
2050
- "operator": "?=",
2051
- "terminal": {
2052
- "$type": "Keyword",
2053
- "value": "*"
2054
- }
2090
+ "arguments": []
2091
+ }
2092
+ },
2093
+ {
2094
+ "$type": "Assignment",
2095
+ "feature": "specialization",
2096
+ "operator": "=",
2097
+ "terminal": {
2098
+ "$type": "RuleCall",
2099
+ "rule": {
2100
+ "$ref": "#/rules@81"
2055
2101
  },
2056
- {
2057
- "$type": "Keyword",
2058
- "value": "]"
2059
- }
2060
- ]
2102
+ "arguments": []
2103
+ },
2104
+ "cardinality": "?"
2061
2105
  },
2062
2106
  {
2063
2107
  "$type": "Group",
2064
2108
  "elements": [
2065
2109
  {
2066
2110
  "$type": "Keyword",
2067
- "value": "["
2111
+ "value": ","
2068
2112
  },
2069
2113
  {
2070
2114
  "$type": "Assignment",
2071
- "feature": "exact",
2072
- "operator": "=",
2115
+ "feature": "additionalSpecializations",
2116
+ "operator": "+=",
2073
2117
  "terminal": {
2074
2118
  "$type": "RuleCall",
2075
2119
  "rule": {
2076
- "$ref": "#/rules@86"
2120
+ "$ref": "#/rules@82"
2077
2121
  },
2078
2122
  "arguments": []
2079
2123
  }
2124
+ }
2125
+ ],
2126
+ "cardinality": "*"
2127
+ },
2128
+ {
2129
+ "$type": "Alternatives",
2130
+ "elements": [
2131
+ {
2132
+ "$type": "Group",
2133
+ "elements": [
2134
+ {
2135
+ "$type": "Keyword",
2136
+ "value": "{"
2137
+ },
2138
+ {
2139
+ "$type": "Assignment",
2140
+ "feature": "body",
2141
+ "operator": "+=",
2142
+ "terminal": {
2143
+ "$type": "RuleCall",
2144
+ "rule": {
2145
+ "$ref": "#/rules@58"
2146
+ },
2147
+ "arguments": []
2148
+ },
2149
+ "cardinality": "*"
2150
+ },
2151
+ {
2152
+ "$type": "Keyword",
2153
+ "value": "}"
2154
+ }
2155
+ ]
2080
2156
  },
2081
2157
  {
2082
2158
  "$type": "Keyword",
2083
- "value": "]"
2159
+ "value": ";"
2084
2160
  }
2085
2161
  ]
2086
2162
  }
@@ -2092,29 +2168,23 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
2092
2168
  },
2093
2169
  {
2094
2170
  "$type": "ParserRule",
2095
- "name": "EnumLiteral",
2171
+ "name": "ConnectionBodyMember",
2096
2172
  "definition": {
2097
- "$type": "Group",
2173
+ "$type": "Alternatives",
2098
2174
  "elements": [
2099
2175
  {
2100
- "$type": "Keyword",
2101
- "value": "enum"
2102
- },
2103
- {
2104
- "$type": "Assignment",
2105
- "feature": "name",
2106
- "operator": "=",
2107
- "terminal": {
2108
- "$type": "RuleCall",
2109
- "rule": {
2110
- "$ref": "#/rules@26"
2111
- },
2112
- "arguments": []
2113
- }
2176
+ "$type": "RuleCall",
2177
+ "rule": {
2178
+ "$ref": "#/rules@26"
2179
+ },
2180
+ "arguments": []
2114
2181
  },
2115
2182
  {
2116
- "$type": "Keyword",
2117
- "value": ";"
2183
+ "$type": "RuleCall",
2184
+ "rule": {
2185
+ "$ref": "#/rules@58"
2186
+ },
2187
+ "arguments": []
2118
2188
  }
2119
2189
  ]
2120
2190
  },
@@ -2124,29 +2194,259 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
2124
2194
  },
2125
2195
  {
2126
2196
  "$type": "ParserRule",
2127
- "name": "EnumLiteralName",
2128
- "dataType": "string",
2197
+ "name": "EndDeclaration",
2129
2198
  "definition": {
2130
- "$type": "Alternatives",
2199
+ "$type": "Group",
2131
2200
  "elements": [
2132
- {
2133
- "$type": "RuleCall",
2134
- "rule": {
2135
- "$ref": "#/rules@83"
2136
- },
2137
- "arguments": []
2138
- },
2139
- {
2140
- "$type": "Keyword",
2141
- "value": "in"
2142
- },
2143
2201
  {
2144
2202
  "$type": "Keyword",
2145
- "value": "out"
2203
+ "value": "end"
2146
2204
  },
2147
2205
  {
2148
- "$type": "Keyword",
2149
- "value": "inout"
2206
+ "$type": "Assignment",
2207
+ "feature": "name",
2208
+ "operator": "=",
2209
+ "terminal": {
2210
+ "$type": "RuleCall",
2211
+ "rule": {
2212
+ "$ref": "#/rules@86"
2213
+ },
2214
+ "arguments": []
2215
+ }
2216
+ },
2217
+ {
2218
+ "$type": "Group",
2219
+ "elements": [
2220
+ {
2221
+ "$type": "Keyword",
2222
+ "value": ":"
2223
+ },
2224
+ {
2225
+ "$type": "Assignment",
2226
+ "feature": "isConjugated",
2227
+ "operator": "?=",
2228
+ "terminal": {
2229
+ "$type": "Keyword",
2230
+ "value": "~"
2231
+ },
2232
+ "cardinality": "?"
2233
+ },
2234
+ {
2235
+ "$type": "Assignment",
2236
+ "feature": "type",
2237
+ "operator": "=",
2238
+ "terminal": {
2239
+ "$type": "RuleCall",
2240
+ "rule": {
2241
+ "$ref": "#/rules@82"
2242
+ },
2243
+ "arguments": []
2244
+ }
2245
+ }
2246
+ ],
2247
+ "cardinality": "?"
2248
+ },
2249
+ {
2250
+ "$type": "Assignment",
2251
+ "feature": "multiplicity",
2252
+ "operator": "=",
2253
+ "terminal": {
2254
+ "$type": "RuleCall",
2255
+ "rule": {
2256
+ "$ref": "#/rules@27"
2257
+ },
2258
+ "arguments": []
2259
+ },
2260
+ "cardinality": "?"
2261
+ },
2262
+ {
2263
+ "$type": "Keyword",
2264
+ "value": ";"
2265
+ }
2266
+ ]
2267
+ },
2268
+ "entry": false,
2269
+ "fragment": false,
2270
+ "parameters": []
2271
+ },
2272
+ {
2273
+ "$type": "ParserRule",
2274
+ "name": "Multiplicity",
2275
+ "definition": {
2276
+ "$type": "Alternatives",
2277
+ "elements": [
2278
+ {
2279
+ "$type": "Group",
2280
+ "elements": [
2281
+ {
2282
+ "$type": "Keyword",
2283
+ "value": "["
2284
+ },
2285
+ {
2286
+ "$type": "Assignment",
2287
+ "feature": "lower",
2288
+ "operator": "=",
2289
+ "terminal": {
2290
+ "$type": "RuleCall",
2291
+ "rule": {
2292
+ "$ref": "#/rules@95"
2293
+ },
2294
+ "arguments": []
2295
+ }
2296
+ },
2297
+ {
2298
+ "$type": "Keyword",
2299
+ "value": ".."
2300
+ },
2301
+ {
2302
+ "$type": "Alternatives",
2303
+ "elements": [
2304
+ {
2305
+ "$type": "Assignment",
2306
+ "feature": "upper",
2307
+ "operator": "=",
2308
+ "terminal": {
2309
+ "$type": "RuleCall",
2310
+ "rule": {
2311
+ "$ref": "#/rules@95"
2312
+ },
2313
+ "arguments": []
2314
+ }
2315
+ },
2316
+ {
2317
+ "$type": "Assignment",
2318
+ "feature": "unbounded",
2319
+ "operator": "?=",
2320
+ "terminal": {
2321
+ "$type": "Keyword",
2322
+ "value": "*"
2323
+ }
2324
+ }
2325
+ ]
2326
+ },
2327
+ {
2328
+ "$type": "Keyword",
2329
+ "value": "]"
2330
+ }
2331
+ ]
2332
+ },
2333
+ {
2334
+ "$type": "Group",
2335
+ "elements": [
2336
+ {
2337
+ "$type": "Keyword",
2338
+ "value": "["
2339
+ },
2340
+ {
2341
+ "$type": "Assignment",
2342
+ "feature": "unbounded",
2343
+ "operator": "?=",
2344
+ "terminal": {
2345
+ "$type": "Keyword",
2346
+ "value": "*"
2347
+ }
2348
+ },
2349
+ {
2350
+ "$type": "Keyword",
2351
+ "value": "]"
2352
+ }
2353
+ ]
2354
+ },
2355
+ {
2356
+ "$type": "Group",
2357
+ "elements": [
2358
+ {
2359
+ "$type": "Keyword",
2360
+ "value": "["
2361
+ },
2362
+ {
2363
+ "$type": "Assignment",
2364
+ "feature": "exact",
2365
+ "operator": "=",
2366
+ "terminal": {
2367
+ "$type": "RuleCall",
2368
+ "rule": {
2369
+ "$ref": "#/rules@95"
2370
+ },
2371
+ "arguments": []
2372
+ }
2373
+ },
2374
+ {
2375
+ "$type": "Keyword",
2376
+ "value": "]"
2377
+ }
2378
+ ]
2379
+ }
2380
+ ]
2381
+ },
2382
+ "entry": false,
2383
+ "fragment": false,
2384
+ "parameters": []
2385
+ },
2386
+ {
2387
+ "$type": "ParserRule",
2388
+ "name": "EnumLiteral",
2389
+ "definition": {
2390
+ "$type": "Group",
2391
+ "elements": [
2392
+ {
2393
+ "$type": "Keyword",
2394
+ "value": "enum"
2395
+ },
2396
+ {
2397
+ "$type": "Assignment",
2398
+ "feature": "name",
2399
+ "operator": "=",
2400
+ "terminal": {
2401
+ "$type": "RuleCall",
2402
+ "rule": {
2403
+ "$ref": "#/rules@29"
2404
+ },
2405
+ "arguments": []
2406
+ }
2407
+ },
2408
+ {
2409
+ "$type": "Keyword",
2410
+ "value": ";"
2411
+ }
2412
+ ]
2413
+ },
2414
+ "entry": false,
2415
+ "fragment": false,
2416
+ "parameters": []
2417
+ },
2418
+ {
2419
+ "$type": "ParserRule",
2420
+ "name": "EnumLiteralName",
2421
+ "dataType": "string",
2422
+ "definition": {
2423
+ "$type": "Alternatives",
2424
+ "elements": [
2425
+ {
2426
+ "$type": "RuleCall",
2427
+ "rule": {
2428
+ "$ref": "#/rules@91"
2429
+ },
2430
+ "arguments": []
2431
+ },
2432
+ {
2433
+ "$type": "RuleCall",
2434
+ "rule": {
2435
+ "$ref": "#/rules@92"
2436
+ },
2437
+ "arguments": []
2438
+ },
2439
+ {
2440
+ "$type": "Keyword",
2441
+ "value": "in"
2442
+ },
2443
+ {
2444
+ "$type": "Keyword",
2445
+ "value": "out"
2446
+ },
2447
+ {
2448
+ "$type": "Keyword",
2449
+ "value": "inout"
2150
2450
  },
2151
2451
  {
2152
2452
  "$type": "Keyword",
@@ -2231,6 +2531,606 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
2231
2531
  {
2232
2532
  "$type": "Keyword",
2233
2533
  "value": "public"
2534
+ },
2535
+ {
2536
+ "$type": "Keyword",
2537
+ "value": "state"
2538
+ },
2539
+ {
2540
+ "$type": "Keyword",
2541
+ "value": "verification"
2542
+ },
2543
+ {
2544
+ "$type": "Keyword",
2545
+ "value": "use"
2546
+ },
2547
+ {
2548
+ "$type": "Keyword",
2549
+ "value": "fork"
2550
+ },
2551
+ {
2552
+ "$type": "Keyword",
2553
+ "value": "join"
2554
+ }
2555
+ ]
2556
+ },
2557
+ "entry": false,
2558
+ "fragment": false,
2559
+ "parameters": []
2560
+ },
2561
+ {
2562
+ "$type": "ParserRule",
2563
+ "name": "UsageMember",
2564
+ "definition": {
2565
+ "$type": "Alternatives",
2566
+ "elements": [
2567
+ {
2568
+ "$type": "RuleCall",
2569
+ "rule": {
2570
+ "$ref": "#/rules@31"
2571
+ },
2572
+ "arguments": []
2573
+ },
2574
+ {
2575
+ "$type": "RuleCall",
2576
+ "rule": {
2577
+ "$ref": "#/rules@34"
2578
+ },
2579
+ "arguments": []
2580
+ },
2581
+ {
2582
+ "$type": "RuleCall",
2583
+ "rule": {
2584
+ "$ref": "#/rules@35"
2585
+ },
2586
+ "arguments": []
2587
+ },
2588
+ {
2589
+ "$type": "RuleCall",
2590
+ "rule": {
2591
+ "$ref": "#/rules@36"
2592
+ },
2593
+ "arguments": []
2594
+ },
2595
+ {
2596
+ "$type": "RuleCall",
2597
+ "rule": {
2598
+ "$ref": "#/rules@37"
2599
+ },
2600
+ "arguments": []
2601
+ },
2602
+ {
2603
+ "$type": "RuleCall",
2604
+ "rule": {
2605
+ "$ref": "#/rules@38"
2606
+ },
2607
+ "arguments": []
2608
+ },
2609
+ {
2610
+ "$type": "RuleCall",
2611
+ "rule": {
2612
+ "$ref": "#/rules@39"
2613
+ },
2614
+ "arguments": []
2615
+ },
2616
+ {
2617
+ "$type": "RuleCall",
2618
+ "rule": {
2619
+ "$ref": "#/rules@40"
2620
+ },
2621
+ "arguments": []
2622
+ }
2623
+ ]
2624
+ },
2625
+ "entry": false,
2626
+ "fragment": false,
2627
+ "parameters": []
2628
+ },
2629
+ {
2630
+ "$type": "ParserRule",
2631
+ "name": "PartUsage",
2632
+ "definition": {
2633
+ "$type": "Group",
2634
+ "elements": [
2635
+ {
2636
+ "$type": "Keyword",
2637
+ "value": "part"
2638
+ },
2639
+ {
2640
+ "$type": "Assignment",
2641
+ "feature": "name",
2642
+ "operator": "=",
2643
+ "terminal": {
2644
+ "$type": "RuleCall",
2645
+ "rule": {
2646
+ "$ref": "#/rules@91"
2647
+ },
2648
+ "arguments": []
2649
+ }
2650
+ },
2651
+ {
2652
+ "$type": "Group",
2653
+ "elements": [
2654
+ {
2655
+ "$type": "Keyword",
2656
+ "value": ":"
2657
+ },
2658
+ {
2659
+ "$type": "Assignment",
2660
+ "feature": "type",
2661
+ "operator": "=",
2662
+ "terminal": {
2663
+ "$type": "RuleCall",
2664
+ "rule": {
2665
+ "$ref": "#/rules@82"
2666
+ },
2667
+ "arguments": []
2668
+ }
2669
+ }
2670
+ ],
2671
+ "cardinality": "?"
2672
+ },
2673
+ {
2674
+ "$type": "Alternatives",
2675
+ "elements": [
2676
+ {
2677
+ "$type": "Group",
2678
+ "elements": [
2679
+ {
2680
+ "$type": "Keyword",
2681
+ "value": "{"
2682
+ },
2683
+ {
2684
+ "$type": "Assignment",
2685
+ "feature": "body",
2686
+ "operator": "+=",
2687
+ "terminal": {
2688
+ "$type": "RuleCall",
2689
+ "rule": {
2690
+ "$ref": "#/rules@68"
2691
+ },
2692
+ "arguments": []
2693
+ },
2694
+ "cardinality": "*"
2695
+ },
2696
+ {
2697
+ "$type": "Keyword",
2698
+ "value": "}"
2699
+ }
2700
+ ]
2701
+ },
2702
+ {
2703
+ "$type": "Keyword",
2704
+ "value": ";"
2705
+ }
2706
+ ]
2707
+ }
2708
+ ]
2709
+ },
2710
+ "entry": false,
2711
+ "fragment": false,
2712
+ "parameters": []
2713
+ },
2714
+ {
2715
+ "$type": "ParserRule",
2716
+ "name": "UseCaseDeclaration",
2717
+ "definition": {
2718
+ "$type": "Group",
2719
+ "elements": [
2720
+ {
2721
+ "$type": "Assignment",
2722
+ "feature": "isAbstract",
2723
+ "operator": "?=",
2724
+ "terminal": {
2725
+ "$type": "Keyword",
2726
+ "value": "abstract"
2727
+ },
2728
+ "cardinality": "?"
2729
+ },
2730
+ {
2731
+ "$type": "Keyword",
2732
+ "value": "use"
2733
+ },
2734
+ {
2735
+ "$type": "Keyword",
2736
+ "value": "case"
2737
+ },
2738
+ {
2739
+ "$type": "Alternatives",
2740
+ "elements": [
2741
+ {
2742
+ "$type": "Group",
2743
+ "elements": [
2744
+ {
2745
+ "$type": "Assignment",
2746
+ "feature": "isDefinition",
2747
+ "operator": "?=",
2748
+ "terminal": {
2749
+ "$type": "Keyword",
2750
+ "value": "def"
2751
+ }
2752
+ },
2753
+ {
2754
+ "$type": "Assignment",
2755
+ "feature": "name",
2756
+ "operator": "=",
2757
+ "terminal": {
2758
+ "$type": "RuleCall",
2759
+ "rule": {
2760
+ "$ref": "#/rules@91"
2761
+ },
2762
+ "arguments": []
2763
+ }
2764
+ },
2765
+ {
2766
+ "$type": "Assignment",
2767
+ "feature": "specialization",
2768
+ "operator": "=",
2769
+ "terminal": {
2770
+ "$type": "RuleCall",
2771
+ "rule": {
2772
+ "$ref": "#/rules@81"
2773
+ },
2774
+ "arguments": []
2775
+ },
2776
+ "cardinality": "?"
2777
+ },
2778
+ {
2779
+ "$type": "Group",
2780
+ "elements": [
2781
+ {
2782
+ "$type": "Keyword",
2783
+ "value": ","
2784
+ },
2785
+ {
2786
+ "$type": "Assignment",
2787
+ "feature": "additionalSpecializations",
2788
+ "operator": "+=",
2789
+ "terminal": {
2790
+ "$type": "RuleCall",
2791
+ "rule": {
2792
+ "$ref": "#/rules@82"
2793
+ },
2794
+ "arguments": []
2795
+ }
2796
+ }
2797
+ ],
2798
+ "cardinality": "*"
2799
+ },
2800
+ {
2801
+ "$type": "Alternatives",
2802
+ "elements": [
2803
+ {
2804
+ "$type": "Group",
2805
+ "elements": [
2806
+ {
2807
+ "$type": "Keyword",
2808
+ "value": "{"
2809
+ },
2810
+ {
2811
+ "$type": "Assignment",
2812
+ "feature": "body",
2813
+ "operator": "+=",
2814
+ "terminal": {
2815
+ "$type": "RuleCall",
2816
+ "rule": {
2817
+ "$ref": "#/rules@58"
2818
+ },
2819
+ "arguments": []
2820
+ },
2821
+ "cardinality": "*"
2822
+ },
2823
+ {
2824
+ "$type": "Keyword",
2825
+ "value": "}"
2826
+ }
2827
+ ]
2828
+ },
2829
+ {
2830
+ "$type": "Keyword",
2831
+ "value": ";"
2832
+ }
2833
+ ]
2834
+ }
2835
+ ]
2836
+ },
2837
+ {
2838
+ "$type": "Group",
2839
+ "elements": [
2840
+ {
2841
+ "$type": "Assignment",
2842
+ "feature": "name",
2843
+ "operator": "=",
2844
+ "terminal": {
2845
+ "$type": "RuleCall",
2846
+ "rule": {
2847
+ "$ref": "#/rules@91"
2848
+ },
2849
+ "arguments": []
2850
+ }
2851
+ },
2852
+ {
2853
+ "$type": "Group",
2854
+ "elements": [
2855
+ {
2856
+ "$type": "Keyword",
2857
+ "value": ":"
2858
+ },
2859
+ {
2860
+ "$type": "Assignment",
2861
+ "feature": "type",
2862
+ "operator": "=",
2863
+ "terminal": {
2864
+ "$type": "RuleCall",
2865
+ "rule": {
2866
+ "$ref": "#/rules@82"
2867
+ },
2868
+ "arguments": []
2869
+ }
2870
+ }
2871
+ ],
2872
+ "cardinality": "?"
2873
+ },
2874
+ {
2875
+ "$type": "Alternatives",
2876
+ "elements": [
2877
+ {
2878
+ "$type": "Group",
2879
+ "elements": [
2880
+ {
2881
+ "$type": "Keyword",
2882
+ "value": "{"
2883
+ },
2884
+ {
2885
+ "$type": "Assignment",
2886
+ "feature": "usageBody",
2887
+ "operator": "+=",
2888
+ "terminal": {
2889
+ "$type": "RuleCall",
2890
+ "rule": {
2891
+ "$ref": "#/rules@68"
2892
+ },
2893
+ "arguments": []
2894
+ },
2895
+ "cardinality": "*"
2896
+ },
2897
+ {
2898
+ "$type": "Keyword",
2899
+ "value": "}"
2900
+ }
2901
+ ]
2902
+ },
2903
+ {
2904
+ "$type": "Keyword",
2905
+ "value": ";"
2906
+ }
2907
+ ]
2908
+ }
2909
+ ]
2910
+ }
2911
+ ]
2912
+ }
2913
+ ]
2914
+ },
2915
+ "entry": false,
2916
+ "fragment": false,
2917
+ "parameters": []
2918
+ },
2919
+ {
2920
+ "$type": "ParserRule",
2921
+ "name": "ItemUsage",
2922
+ "definition": {
2923
+ "$type": "Group",
2924
+ "elements": [
2925
+ {
2926
+ "$type": "Assignment",
2927
+ "feature": "direction",
2928
+ "operator": "=",
2929
+ "terminal": {
2930
+ "$type": "Alternatives",
2931
+ "elements": [
2932
+ {
2933
+ "$type": "Keyword",
2934
+ "value": "in"
2935
+ },
2936
+ {
2937
+ "$type": "Keyword",
2938
+ "value": "out"
2939
+ },
2940
+ {
2941
+ "$type": "Keyword",
2942
+ "value": "inout"
2943
+ }
2944
+ ]
2945
+ },
2946
+ "cardinality": "?"
2947
+ },
2948
+ {
2949
+ "$type": "Keyword",
2950
+ "value": "item"
2951
+ },
2952
+ {
2953
+ "$type": "Assignment",
2954
+ "feature": "name",
2955
+ "operator": "=",
2956
+ "terminal": {
2957
+ "$type": "RuleCall",
2958
+ "rule": {
2959
+ "$ref": "#/rules@85"
2960
+ },
2961
+ "arguments": []
2962
+ }
2963
+ },
2964
+ {
2965
+ "$type": "Group",
2966
+ "elements": [
2967
+ {
2968
+ "$type": "Keyword",
2969
+ "value": ":"
2970
+ },
2971
+ {
2972
+ "$type": "Assignment",
2973
+ "feature": "type",
2974
+ "operator": "=",
2975
+ "terminal": {
2976
+ "$type": "RuleCall",
2977
+ "rule": {
2978
+ "$ref": "#/rules@82"
2979
+ },
2980
+ "arguments": []
2981
+ }
2982
+ },
2983
+ {
2984
+ "$type": "Assignment",
2985
+ "feature": "multiplicity",
2986
+ "operator": "=",
2987
+ "terminal": {
2988
+ "$type": "RuleCall",
2989
+ "rule": {
2990
+ "$ref": "#/rules@27"
2991
+ },
2992
+ "arguments": []
2993
+ },
2994
+ "cardinality": "?"
2995
+ }
2996
+ ],
2997
+ "cardinality": "?"
2998
+ },
2999
+ {
3000
+ "$type": "Group",
3001
+ "elements": [
3002
+ {
3003
+ "$type": "Keyword",
3004
+ "value": "="
3005
+ },
3006
+ {
3007
+ "$type": "Assignment",
3008
+ "feature": "boundRef",
3009
+ "operator": "=",
3010
+ "terminal": {
3011
+ "$type": "RuleCall",
3012
+ "rule": {
3013
+ "$ref": "#/rules@82"
3014
+ },
3015
+ "arguments": []
3016
+ }
3017
+ }
3018
+ ],
3019
+ "cardinality": "?"
3020
+ },
3021
+ {
3022
+ "$type": "Alternatives",
3023
+ "elements": [
3024
+ {
3025
+ "$type": "Group",
3026
+ "elements": [
3027
+ {
3028
+ "$type": "Keyword",
3029
+ "value": "{"
3030
+ },
3031
+ {
3032
+ "$type": "Assignment",
3033
+ "feature": "body",
3034
+ "operator": "+=",
3035
+ "terminal": {
3036
+ "$type": "RuleCall",
3037
+ "rule": {
3038
+ "$ref": "#/rules@68"
3039
+ },
3040
+ "arguments": []
3041
+ },
3042
+ "cardinality": "*"
3043
+ },
3044
+ {
3045
+ "$type": "Keyword",
3046
+ "value": "}"
3047
+ }
3048
+ ]
3049
+ },
3050
+ {
3051
+ "$type": "Keyword",
3052
+ "value": ";"
3053
+ }
3054
+ ]
3055
+ }
3056
+ ]
3057
+ },
3058
+ "entry": false,
3059
+ "fragment": false,
3060
+ "parameters": []
3061
+ },
3062
+ {
3063
+ "$type": "ParserRule",
3064
+ "name": "RequirementUsage",
3065
+ "definition": {
3066
+ "$type": "Group",
3067
+ "elements": [
3068
+ {
3069
+ "$type": "Keyword",
3070
+ "value": "requirement"
3071
+ },
3072
+ {
3073
+ "$type": "Assignment",
3074
+ "feature": "name",
3075
+ "operator": "=",
3076
+ "terminal": {
3077
+ "$type": "RuleCall",
3078
+ "rule": {
3079
+ "$ref": "#/rules@91"
3080
+ },
3081
+ "arguments": []
3082
+ }
3083
+ },
3084
+ {
3085
+ "$type": "Keyword",
3086
+ "value": ":"
3087
+ },
3088
+ {
3089
+ "$type": "Assignment",
3090
+ "feature": "type",
3091
+ "operator": "=",
3092
+ "terminal": {
3093
+ "$type": "RuleCall",
3094
+ "rule": {
3095
+ "$ref": "#/rules@82"
3096
+ },
3097
+ "arguments": []
3098
+ }
3099
+ },
3100
+ {
3101
+ "$type": "Alternatives",
3102
+ "elements": [
3103
+ {
3104
+ "$type": "Group",
3105
+ "elements": [
3106
+ {
3107
+ "$type": "Keyword",
3108
+ "value": "{"
3109
+ },
3110
+ {
3111
+ "$type": "Assignment",
3112
+ "feature": "body",
3113
+ "operator": "+=",
3114
+ "terminal": {
3115
+ "$type": "RuleCall",
3116
+ "rule": {
3117
+ "$ref": "#/rules@68"
3118
+ },
3119
+ "arguments": []
3120
+ },
3121
+ "cardinality": "*"
3122
+ },
3123
+ {
3124
+ "$type": "Keyword",
3125
+ "value": "}"
3126
+ }
3127
+ ]
3128
+ },
3129
+ {
3130
+ "$type": "Keyword",
3131
+ "value": ";"
3132
+ }
3133
+ ]
2234
3134
  }
2235
3135
  ]
2236
3136
  },
@@ -2240,44 +3140,76 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
2240
3140
  },
2241
3141
  {
2242
3142
  "$type": "ParserRule",
2243
- "name": "UsageMember",
3143
+ "name": "VerificationUsage",
2244
3144
  "definition": {
2245
- "$type": "Alternatives",
3145
+ "$type": "Group",
2246
3146
  "elements": [
2247
3147
  {
2248
- "$type": "RuleCall",
2249
- "rule": {
2250
- "$ref": "#/rules@28"
2251
- },
2252
- "arguments": []
3148
+ "$type": "Keyword",
3149
+ "value": "verification"
2253
3150
  },
2254
3151
  {
2255
- "$type": "RuleCall",
2256
- "rule": {
2257
- "$ref": "#/rules@29"
2258
- },
2259
- "arguments": []
3152
+ "$type": "Assignment",
3153
+ "feature": "name",
3154
+ "operator": "=",
3155
+ "terminal": {
3156
+ "$type": "RuleCall",
3157
+ "rule": {
3158
+ "$ref": "#/rules@91"
3159
+ },
3160
+ "arguments": []
3161
+ }
2260
3162
  },
2261
3163
  {
2262
- "$type": "RuleCall",
2263
- "rule": {
2264
- "$ref": "#/rules@30"
2265
- },
2266
- "arguments": []
3164
+ "$type": "Keyword",
3165
+ "value": ":"
2267
3166
  },
2268
3167
  {
2269
- "$type": "RuleCall",
2270
- "rule": {
2271
- "$ref": "#/rules@31"
2272
- },
2273
- "arguments": []
3168
+ "$type": "Assignment",
3169
+ "feature": "type",
3170
+ "operator": "=",
3171
+ "terminal": {
3172
+ "$type": "RuleCall",
3173
+ "rule": {
3174
+ "$ref": "#/rules@82"
3175
+ },
3176
+ "arguments": []
3177
+ }
2274
3178
  },
2275
3179
  {
2276
- "$type": "RuleCall",
2277
- "rule": {
2278
- "$ref": "#/rules@32"
2279
- },
2280
- "arguments": []
3180
+ "$type": "Alternatives",
3181
+ "elements": [
3182
+ {
3183
+ "$type": "Group",
3184
+ "elements": [
3185
+ {
3186
+ "$type": "Keyword",
3187
+ "value": "{"
3188
+ },
3189
+ {
3190
+ "$type": "Assignment",
3191
+ "feature": "body",
3192
+ "operator": "+=",
3193
+ "terminal": {
3194
+ "$type": "RuleCall",
3195
+ "rule": {
3196
+ "$ref": "#/rules@68"
3197
+ },
3198
+ "arguments": []
3199
+ },
3200
+ "cardinality": "*"
3201
+ },
3202
+ {
3203
+ "$type": "Keyword",
3204
+ "value": "}"
3205
+ }
3206
+ ]
3207
+ },
3208
+ {
3209
+ "$type": "Keyword",
3210
+ "value": ";"
3211
+ }
3212
+ ]
2281
3213
  }
2282
3214
  ]
2283
3215
  },
@@ -2287,13 +3219,13 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
2287
3219
  },
2288
3220
  {
2289
3221
  "$type": "ParserRule",
2290
- "name": "PartUsage",
3222
+ "name": "StateUsage",
2291
3223
  "definition": {
2292
3224
  "$type": "Group",
2293
3225
  "elements": [
2294
3226
  {
2295
3227
  "$type": "Keyword",
2296
- "value": "part"
3228
+ "value": "state"
2297
3229
  },
2298
3230
  {
2299
3231
  "$type": "Assignment",
@@ -2302,7 +3234,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
2302
3234
  "terminal": {
2303
3235
  "$type": "RuleCall",
2304
3236
  "rule": {
2305
- "$ref": "#/rules@83"
3237
+ "$ref": "#/rules@91"
2306
3238
  },
2307
3239
  "arguments": []
2308
3240
  }
@@ -2318,7 +3250,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
2318
3250
  "terminal": {
2319
3251
  "$type": "RuleCall",
2320
3252
  "rule": {
2321
- "$ref": "#/rules@74"
3253
+ "$ref": "#/rules@82"
2322
3254
  },
2323
3255
  "arguments": []
2324
3256
  }
@@ -2340,7 +3272,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
2340
3272
  "terminal": {
2341
3273
  "$type": "RuleCall",
2342
3274
  "rule": {
2343
- "$ref": "#/rules@60"
3275
+ "$ref": "#/rules@68"
2344
3276
  },
2345
3277
  "arguments": []
2346
3278
  },
@@ -2366,13 +3298,13 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
2366
3298
  },
2367
3299
  {
2368
3300
  "$type": "ParserRule",
2369
- "name": "RequirementUsage",
3301
+ "name": "InterfaceUsage",
2370
3302
  "definition": {
2371
3303
  "$type": "Group",
2372
3304
  "elements": [
2373
3305
  {
2374
3306
  "$type": "Keyword",
2375
- "value": "requirement"
3307
+ "value": "interface"
2376
3308
  },
2377
3309
  {
2378
3310
  "$type": "Assignment",
@@ -2381,7 +3313,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
2381
3313
  "terminal": {
2382
3314
  "$type": "RuleCall",
2383
3315
  "rule": {
2384
- "$ref": "#/rules@83"
3316
+ "$ref": "#/rules@91"
2385
3317
  },
2386
3318
  "arguments": []
2387
3319
  }
@@ -2397,7 +3329,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
2397
3329
  "terminal": {
2398
3330
  "$type": "RuleCall",
2399
3331
  "rule": {
2400
- "$ref": "#/rules@74"
3332
+ "$ref": "#/rules@82"
2401
3333
  },
2402
3334
  "arguments": []
2403
3335
  }
@@ -2419,7 +3351,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
2419
3351
  "terminal": {
2420
3352
  "$type": "RuleCall",
2421
3353
  "rule": {
2422
- "$ref": "#/rules@60"
3354
+ "$ref": "#/rules@68"
2423
3355
  },
2424
3356
  "arguments": []
2425
3357
  },
@@ -2478,7 +3410,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
2478
3410
  "terminal": {
2479
3411
  "$type": "RuleCall",
2480
3412
  "rule": {
2481
- "$ref": "#/rules@83"
3413
+ "$ref": "#/rules@91"
2482
3414
  },
2483
3415
  "arguments": []
2484
3416
  }
@@ -2497,7 +3429,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
2497
3429
  "terminal": {
2498
3430
  "$type": "RuleCall",
2499
3431
  "rule": {
2500
- "$ref": "#/rules@74"
3432
+ "$ref": "#/rules@82"
2501
3433
  },
2502
3434
  "arguments": []
2503
3435
  }
@@ -2522,7 +3454,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
2522
3454
  "terminal": {
2523
3455
  "$type": "RuleCall",
2524
3456
  "rule": {
2525
- "$ref": "#/rules@40"
3457
+ "$ref": "#/rules@48"
2526
3458
  },
2527
3459
  "arguments": []
2528
3460
  },
@@ -2596,7 +3528,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
2596
3528
  "terminal": {
2597
3529
  "$type": "RuleCall",
2598
3530
  "rule": {
2599
- "$ref": "#/rules@83"
3531
+ "$ref": "#/rules@91"
2600
3532
  },
2601
3533
  "arguments": []
2602
3534
  }
@@ -2612,7 +3544,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
2612
3544
  "terminal": {
2613
3545
  "$type": "RuleCall",
2614
3546
  "rule": {
2615
- "$ref": "#/rules@74"
3547
+ "$ref": "#/rules@82"
2616
3548
  },
2617
3549
  "arguments": []
2618
3550
  }
@@ -2634,7 +3566,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
2634
3566
  "terminal": {
2635
3567
  "$type": "RuleCall",
2636
3568
  "rule": {
2637
- "$ref": "#/rules@60"
3569
+ "$ref": "#/rules@68"
2638
3570
  },
2639
3571
  "arguments": []
2640
3572
  },
@@ -2675,7 +3607,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
2675
3607
  "terminal": {
2676
3608
  "$type": "RuleCall",
2677
3609
  "rule": {
2678
- "$ref": "#/rules@83"
3610
+ "$ref": "#/rules@91"
2679
3611
  },
2680
3612
  "arguments": []
2681
3613
  }
@@ -2694,7 +3626,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
2694
3626
  "terminal": {
2695
3627
  "$type": "RuleCall",
2696
3628
  "rule": {
2697
- "$ref": "#/rules@74"
3629
+ "$ref": "#/rules@82"
2698
3630
  },
2699
3631
  "arguments": []
2700
3632
  }
@@ -2719,7 +3651,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
2719
3651
  "terminal": {
2720
3652
  "$type": "RuleCall",
2721
3653
  "rule": {
2722
- "$ref": "#/rules@33"
3654
+ "$ref": "#/rules@41"
2723
3655
  },
2724
3656
  "arguments": []
2725
3657
  },
@@ -2752,14 +3684,14 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
2752
3684
  {
2753
3685
  "$type": "RuleCall",
2754
3686
  "rule": {
2755
- "$ref": "#/rules@60"
3687
+ "$ref": "#/rules@68"
2756
3688
  },
2757
3689
  "arguments": []
2758
3690
  },
2759
3691
  {
2760
3692
  "$type": "RuleCall",
2761
3693
  "rule": {
2762
- "$ref": "#/rules@34"
3694
+ "$ref": "#/rules@42"
2763
3695
  },
2764
3696
  "arguments": []
2765
3697
  }
@@ -2786,7 +3718,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
2786
3718
  "terminal": {
2787
3719
  "$type": "RuleCall",
2788
3720
  "rule": {
2789
- "$ref": "#/rules@35"
3721
+ "$ref": "#/rules@43"
2790
3722
  },
2791
3723
  "arguments": []
2792
3724
  }
@@ -2811,7 +3743,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
2811
3743
  {
2812
3744
  "$type": "RuleCall",
2813
3745
  "rule": {
2814
- "$ref": "#/rules@83"
3746
+ "$ref": "#/rules@91"
2815
3747
  },
2816
3748
  "arguments": []
2817
3749
  },
@@ -2834,7 +3766,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
2834
3766
  {
2835
3767
  "$type": "RuleCall",
2836
3768
  "rule": {
2837
- "$ref": "#/rules@83"
3769
+ "$ref": "#/rules@91"
2838
3770
  },
2839
3771
  "arguments": []
2840
3772
  }
@@ -2880,6 +3812,19 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
2880
3812
  "$type": "Keyword",
2881
3813
  "value": "connection"
2882
3814
  },
3815
+ {
3816
+ "$type": "Assignment",
3817
+ "feature": "name",
3818
+ "operator": "=",
3819
+ "terminal": {
3820
+ "$type": "RuleCall",
3821
+ "rule": {
3822
+ "$ref": "#/rules@91"
3823
+ },
3824
+ "arguments": []
3825
+ },
3826
+ "cardinality": "?"
3827
+ },
2883
3828
  {
2884
3829
  "$type": "Group",
2885
3830
  "elements": [
@@ -2894,7 +3839,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
2894
3839
  "terminal": {
2895
3840
  "$type": "RuleCall",
2896
3841
  "rule": {
2897
- "$ref": "#/rules@74"
3842
+ "$ref": "#/rules@82"
2898
3843
  },
2899
3844
  "arguments": []
2900
3845
  }
@@ -2903,40 +3848,143 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
2903
3848
  "cardinality": "?"
2904
3849
  },
2905
3850
  {
2906
- "$type": "Keyword",
2907
- "value": "connect"
2908
- },
2909
- {
2910
- "$type": "Assignment",
2911
- "feature": "source",
2912
- "operator": "=",
2913
- "terminal": {
2914
- "$type": "RuleCall",
2915
- "rule": {
2916
- "$ref": "#/rules@37"
2917
- },
2918
- "arguments": []
2919
- }
2920
- },
2921
- {
2922
- "$type": "Keyword",
2923
- "value": "to"
2924
- },
2925
- {
2926
- "$type": "Assignment",
2927
- "feature": "target",
2928
- "operator": "=",
2929
- "terminal": {
2930
- "$type": "RuleCall",
2931
- "rule": {
2932
- "$ref": "#/rules@37"
3851
+ "$type": "Alternatives",
3852
+ "elements": [
3853
+ {
3854
+ "$type": "Group",
3855
+ "elements": [
3856
+ {
3857
+ "$type": "Keyword",
3858
+ "value": "connect"
3859
+ },
3860
+ {
3861
+ "$type": "Assignment",
3862
+ "feature": "source",
3863
+ "operator": "=",
3864
+ "terminal": {
3865
+ "$type": "RuleCall",
3866
+ "rule": {
3867
+ "$ref": "#/rules@45"
3868
+ },
3869
+ "arguments": []
3870
+ }
3871
+ },
3872
+ {
3873
+ "$type": "Keyword",
3874
+ "value": "to"
3875
+ },
3876
+ {
3877
+ "$type": "Assignment",
3878
+ "feature": "target",
3879
+ "operator": "=",
3880
+ "terminal": {
3881
+ "$type": "RuleCall",
3882
+ "rule": {
3883
+ "$ref": "#/rules@45"
3884
+ },
3885
+ "arguments": []
3886
+ }
3887
+ },
3888
+ {
3889
+ "$type": "Alternatives",
3890
+ "elements": [
3891
+ {
3892
+ "$type": "Group",
3893
+ "elements": [
3894
+ {
3895
+ "$type": "Keyword",
3896
+ "value": "{"
3897
+ },
3898
+ {
3899
+ "$type": "Assignment",
3900
+ "feature": "body",
3901
+ "operator": "+=",
3902
+ "terminal": {
3903
+ "$type": "RuleCall",
3904
+ "rule": {
3905
+ "$ref": "#/rules@68"
3906
+ },
3907
+ "arguments": []
3908
+ },
3909
+ "cardinality": "*"
3910
+ },
3911
+ {
3912
+ "$type": "Keyword",
3913
+ "value": "}"
3914
+ }
3915
+ ]
3916
+ },
3917
+ {
3918
+ "$type": "Keyword",
3919
+ "value": ";"
3920
+ }
3921
+ ]
3922
+ }
3923
+ ]
2933
3924
  },
2934
- "arguments": []
2935
- }
2936
- },
2937
- {
2938
- "$type": "Keyword",
2939
- "value": ";"
3925
+ {
3926
+ "$type": "Group",
3927
+ "elements": [
3928
+ {
3929
+ "$type": "Keyword",
3930
+ "value": "{"
3931
+ },
3932
+ {
3933
+ "$type": "Assignment",
3934
+ "feature": "body",
3935
+ "operator": "+=",
3936
+ "terminal": {
3937
+ "$type": "RuleCall",
3938
+ "rule": {
3939
+ "$ref": "#/rules@68"
3940
+ },
3941
+ "arguments": []
3942
+ },
3943
+ "cardinality": "*"
3944
+ },
3945
+ {
3946
+ "$type": "Keyword",
3947
+ "value": "connect"
3948
+ },
3949
+ {
3950
+ "$type": "Assignment",
3951
+ "feature": "source",
3952
+ "operator": "=",
3953
+ "terminal": {
3954
+ "$type": "RuleCall",
3955
+ "rule": {
3956
+ "$ref": "#/rules@45"
3957
+ },
3958
+ "arguments": []
3959
+ }
3960
+ },
3961
+ {
3962
+ "$type": "Keyword",
3963
+ "value": "to"
3964
+ },
3965
+ {
3966
+ "$type": "Assignment",
3967
+ "feature": "target",
3968
+ "operator": "=",
3969
+ "terminal": {
3970
+ "$type": "RuleCall",
3971
+ "rule": {
3972
+ "$ref": "#/rules@45"
3973
+ },
3974
+ "arguments": []
3975
+ }
3976
+ },
3977
+ {
3978
+ "$type": "Keyword",
3979
+ "value": ";"
3980
+ },
3981
+ {
3982
+ "$type": "Keyword",
3983
+ "value": "}"
3984
+ }
3985
+ ]
3986
+ }
3987
+ ]
2940
3988
  }
2941
3989
  ]
2942
3990
  },
@@ -2957,7 +4005,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
2957
4005
  "terminal": {
2958
4006
  "$type": "RuleCall",
2959
4007
  "rule": {
2960
- "$ref": "#/rules@78"
4008
+ "$ref": "#/rules@86"
2961
4009
  },
2962
4010
  "arguments": []
2963
4011
  }
@@ -2973,7 +4021,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
2973
4021
  "terminal": {
2974
4022
  "$type": "RuleCall",
2975
4023
  "rule": {
2976
- "$ref": "#/rules@49"
4024
+ "$ref": "#/rules@57"
2977
4025
  },
2978
4026
  "arguments": []
2979
4027
  }
@@ -2993,14 +4041,14 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
2993
4041
  {
2994
4042
  "$type": "RuleCall",
2995
4043
  "rule": {
2996
- "$ref": "#/rules@39"
4044
+ "$ref": "#/rules@47"
2997
4045
  },
2998
4046
  "arguments": []
2999
4047
  },
3000
4048
  {
3001
4049
  "$type": "RuleCall",
3002
4050
  "rule": {
3003
- "$ref": "#/rules@50"
4051
+ "$ref": "#/rules@58"
3004
4052
  },
3005
4053
  "arguments": []
3006
4054
  }
@@ -3045,7 +4093,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
3045
4093
  "terminal": {
3046
4094
  "$type": "RuleCall",
3047
4095
  "rule": {
3048
- "$ref": "#/rules@83"
4096
+ "$ref": "#/rules@91"
3049
4097
  },
3050
4098
  "arguments": []
3051
4099
  }
@@ -3061,7 +4109,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
3061
4109
  "terminal": {
3062
4110
  "$type": "RuleCall",
3063
4111
  "rule": {
3064
- "$ref": "#/rules@74"
4112
+ "$ref": "#/rules@82"
3065
4113
  },
3066
4114
  "arguments": []
3067
4115
  }
@@ -3085,35 +4133,21 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
3085
4133
  {
3086
4134
  "$type": "RuleCall",
3087
4135
  "rule": {
3088
- "$ref": "#/rules@30"
3089
- },
3090
- "arguments": []
3091
- },
3092
- {
3093
- "$type": "RuleCall",
3094
- "rule": {
3095
- "$ref": "#/rules@41"
3096
- },
3097
- "arguments": []
3098
- },
3099
- {
3100
- "$type": "RuleCall",
3101
- "rule": {
3102
- "$ref": "#/rules@42"
4136
+ "$ref": "#/rules@38"
3103
4137
  },
3104
4138
  "arguments": []
3105
4139
  },
3106
4140
  {
3107
4141
  "$type": "RuleCall",
3108
4142
  "rule": {
3109
- "$ref": "#/rules@45"
4143
+ "$ref": "#/rules@49"
3110
4144
  },
3111
4145
  "arguments": []
3112
4146
  },
3113
4147
  {
3114
4148
  "$type": "RuleCall",
3115
4149
  "rule": {
3116
- "$ref": "#/rules@60"
4150
+ "$ref": "#/rules@68"
3117
4151
  },
3118
4152
  "arguments": []
3119
4153
  }
@@ -3154,7 +4188,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
3154
4188
  "terminal": {
3155
4189
  "$type": "RuleCall",
3156
4190
  "rule": {
3157
- "$ref": "#/rules@83"
4191
+ "$ref": "#/rules@91"
3158
4192
  },
3159
4193
  "arguments": []
3160
4194
  }
@@ -3190,7 +4224,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
3190
4224
  "terminal": {
3191
4225
  "$type": "RuleCall",
3192
4226
  "rule": {
3193
- "$ref": "#/rules@74"
4227
+ "$ref": "#/rules@82"
3194
4228
  },
3195
4229
  "arguments": []
3196
4230
  }
@@ -3206,7 +4240,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
3206
4240
  "terminal": {
3207
4241
  "$type": "RuleCall",
3208
4242
  "rule": {
3209
- "$ref": "#/rules@43"
4243
+ "$ref": "#/rules@51"
3210
4244
  },
3211
4245
  "arguments": []
3212
4246
  }
@@ -3222,7 +4256,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
3222
4256
  "terminal": {
3223
4257
  "$type": "RuleCall",
3224
4258
  "rule": {
3225
- "$ref": "#/rules@43"
4259
+ "$ref": "#/rules@51"
3226
4260
  },
3227
4261
  "arguments": []
3228
4262
  }
@@ -3247,7 +4281,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
3247
4281
  "terminal": {
3248
4282
  "$type": "RuleCall",
3249
4283
  "rule": {
3250
- "$ref": "#/rules@44"
4284
+ "$ref": "#/rules@52"
3251
4285
  },
3252
4286
  "arguments": []
3253
4287
  }
@@ -3266,7 +4300,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
3266
4300
  {
3267
4301
  "$type": "RuleCall",
3268
4302
  "rule": {
3269
- "$ref": "#/rules@83"
4303
+ "$ref": "#/rules@91"
3270
4304
  },
3271
4305
  "arguments": []
3272
4306
  },
@@ -3280,7 +4314,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
3280
4314
  {
3281
4315
  "$type": "RuleCall",
3282
4316
  "rule": {
3283
- "$ref": "#/rules@83"
4317
+ "$ref": "#/rules@91"
3284
4318
  },
3285
4319
  "arguments": []
3286
4320
  }
@@ -3310,7 +4344,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
3310
4344
  "terminal": {
3311
4345
  "$type": "RuleCall",
3312
4346
  "rule": {
3313
- "$ref": "#/rules@46"
4347
+ "$ref": "#/rules@54"
3314
4348
  },
3315
4349
  "arguments": []
3316
4350
  }
@@ -3329,7 +4363,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
3329
4363
  "terminal": {
3330
4364
  "$type": "RuleCall",
3331
4365
  "rule": {
3332
- "$ref": "#/rules@46"
4366
+ "$ref": "#/rules@54"
3333
4367
  },
3334
4368
  "arguments": []
3335
4369
  }
@@ -3357,7 +4391,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
3357
4391
  "terminal": {
3358
4392
  "$type": "RuleCall",
3359
4393
  "rule": {
3360
- "$ref": "#/rules@47"
4394
+ "$ref": "#/rules@55"
3361
4395
  },
3362
4396
  "arguments": []
3363
4397
  }
@@ -3384,7 +4418,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
3384
4418
  {
3385
4419
  "$type": "RuleCall",
3386
4420
  "rule": {
3387
- "$ref": "#/rules@83"
4421
+ "$ref": "#/rules@91"
3388
4422
  },
3389
4423
  "arguments": []
3390
4424
  }
@@ -3411,7 +4445,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
3411
4445
  "terminal": {
3412
4446
  "$type": "RuleCall",
3413
4447
  "rule": {
3414
- "$ref": "#/rules@49"
4448
+ "$ref": "#/rules@57"
3415
4449
  },
3416
4450
  "arguments": []
3417
4451
  }
@@ -3427,7 +4461,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
3427
4461
  "terminal": {
3428
4462
  "$type": "RuleCall",
3429
4463
  "rule": {
3430
- "$ref": "#/rules@49"
4464
+ "$ref": "#/rules@57"
3431
4465
  },
3432
4466
  "arguments": []
3433
4467
  }
@@ -3452,7 +4486,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
3452
4486
  {
3453
4487
  "$type": "RuleCall",
3454
4488
  "rule": {
3455
- "$ref": "#/rules@83"
4489
+ "$ref": "#/rules@91"
3456
4490
  },
3457
4491
  "arguments": []
3458
4492
  },
@@ -3475,7 +4509,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
3475
4509
  {
3476
4510
  "$type": "RuleCall",
3477
4511
  "rule": {
3478
- "$ref": "#/rules@83"
4512
+ "$ref": "#/rules@91"
3479
4513
  },
3480
4514
  "arguments": []
3481
4515
  }
@@ -3497,56 +4531,63 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
3497
4531
  {
3498
4532
  "$type": "RuleCall",
3499
4533
  "rule": {
3500
- "$ref": "#/rules@61"
4534
+ "$ref": "#/rules@69"
3501
4535
  },
3502
4536
  "arguments": []
3503
4537
  },
3504
4538
  {
3505
4539
  "$type": "RuleCall",
3506
4540
  "rule": {
3507
- "$ref": "#/rules@70"
4541
+ "$ref": "#/rules@78"
3508
4542
  },
3509
4543
  "arguments": []
3510
4544
  },
3511
4545
  {
3512
4546
  "$type": "RuleCall",
3513
4547
  "rule": {
3514
- "$ref": "#/rules@31"
4548
+ "$ref": "#/rules@39"
3515
4549
  },
3516
4550
  "arguments": []
3517
4551
  },
3518
4552
  {
3519
4553
  "$type": "RuleCall",
3520
4554
  "rule": {
3521
- "$ref": "#/rules@32"
4555
+ "$ref": "#/rules@33"
3522
4556
  },
3523
4557
  "arguments": []
3524
4558
  },
3525
4559
  {
3526
4560
  "$type": "RuleCall",
3527
4561
  "rule": {
3528
- "$ref": "#/rules@71"
4562
+ "$ref": "#/rules@40"
3529
4563
  },
3530
4564
  "arguments": []
3531
4565
  },
3532
4566
  {
3533
4567
  "$type": "RuleCall",
3534
4568
  "rule": {
3535
- "$ref": "#/rules@51"
4569
+ "$ref": "#/rules@79"
3536
4570
  },
3537
4571
  "arguments": []
3538
4572
  },
3539
4573
  {
3540
4574
  "$type": "RuleCall",
3541
4575
  "rule": {
3542
- "$ref": "#/rules@9"
4576
+ "$ref": "#/rules@59"
3543
4577
  },
3544
4578
  "arguments": []
3545
4579
  },
3546
4580
  {
3547
4581
  "$type": "RuleCall",
3548
4582
  "rule": {
3549
- "$ref": "#/rules@72"
4583
+ "$ref": "#/rules@10"
4584
+ },
4585
+ "arguments": []
4586
+ },
4587
+ {
4588
+ "$type": "RuleCall",
4589
+ "rule": {
4590
+ "$ref": "#/rules@80"
3550
4591
  },
3551
4592
  "arguments": []
3552
4593
  }
@@ -3596,7 +4637,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
3596
4637
  "terminal": {
3597
4638
  "$type": "RuleCall",
3598
4639
  "rule": {
3599
- "$ref": "#/rules@52"
4640
+ "$ref": "#/rules@60"
3600
4641
  },
3601
4642
  "arguments": []
3602
4643
  }
@@ -3624,7 +4665,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
3624
4665
  {
3625
4666
  "$type": "RuleCall",
3626
4667
  "rule": {
3627
- "$ref": "#/rules@53"
4668
+ "$ref": "#/rules@61"
3628
4669
  },
3629
4670
  "arguments": []
3630
4671
  },
@@ -3656,7 +4697,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
3656
4697
  "terminal": {
3657
4698
  "$type": "RuleCall",
3658
4699
  "rule": {
3659
- "$ref": "#/rules@53"
4700
+ "$ref": "#/rules@61"
3660
4701
  },
3661
4702
  "arguments": []
3662
4703
  }
@@ -3683,7 +4724,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
3683
4724
  {
3684
4725
  "$type": "RuleCall",
3685
4726
  "rule": {
3686
- "$ref": "#/rules@54"
4727
+ "$ref": "#/rules@62"
3687
4728
  },
3688
4729
  "arguments": []
3689
4730
  },
@@ -3715,7 +4756,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
3715
4756
  "terminal": {
3716
4757
  "$type": "RuleCall",
3717
4758
  "rule": {
3718
- "$ref": "#/rules@54"
4759
+ "$ref": "#/rules@62"
3719
4760
  },
3720
4761
  "arguments": []
3721
4762
  }
@@ -3742,7 +4783,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
3742
4783
  {
3743
4784
  "$type": "RuleCall",
3744
4785
  "rule": {
3745
- "$ref": "#/rules@55"
4786
+ "$ref": "#/rules@63"
3746
4787
  },
3747
4788
  "arguments": []
3748
4789
  },
@@ -3799,7 +4840,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
3799
4840
  "terminal": {
3800
4841
  "$type": "RuleCall",
3801
4842
  "rule": {
3802
- "$ref": "#/rules@55"
4843
+ "$ref": "#/rules@63"
3803
4844
  },
3804
4845
  "arguments": []
3805
4846
  }
@@ -3826,7 +4867,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
3826
4867
  {
3827
4868
  "$type": "RuleCall",
3828
4869
  "rule": {
3829
- "$ref": "#/rules@56"
4870
+ "$ref": "#/rules@64"
3830
4871
  },
3831
4872
  "arguments": []
3832
4873
  },
@@ -3867,7 +4908,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
3867
4908
  "terminal": {
3868
4909
  "$type": "RuleCall",
3869
4910
  "rule": {
3870
- "$ref": "#/rules@56"
4911
+ "$ref": "#/rules@64"
3871
4912
  },
3872
4913
  "arguments": []
3873
4914
  }
@@ -3894,7 +4935,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
3894
4935
  {
3895
4936
  "$type": "RuleCall",
3896
4937
  "rule": {
3897
- "$ref": "#/rules@57"
4938
+ "$ref": "#/rules@65"
3898
4939
  },
3899
4940
  "arguments": []
3900
4941
  },
@@ -3935,7 +4976,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
3935
4976
  "terminal": {
3936
4977
  "$type": "RuleCall",
3937
4978
  "rule": {
3938
- "$ref": "#/rules@57"
4979
+ "$ref": "#/rules@65"
3939
4980
  },
3940
4981
  "arguments": []
3941
4982
  }
@@ -3985,7 +5026,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
3985
5026
  "terminal": {
3986
5027
  "$type": "RuleCall",
3987
5028
  "rule": {
3988
- "$ref": "#/rules@57"
5029
+ "$ref": "#/rules@65"
3989
5030
  },
3990
5031
  "arguments": []
3991
5032
  }
@@ -3995,7 +5036,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
3995
5036
  {
3996
5037
  "$type": "RuleCall",
3997
5038
  "rule": {
3998
- "$ref": "#/rules@58"
5039
+ "$ref": "#/rules@66"
3999
5040
  },
4000
5041
  "arguments": []
4001
5042
  }
@@ -4018,7 +5059,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
4018
5059
  {
4019
5060
  "$type": "RuleCall",
4020
5061
  "rule": {
4021
- "$ref": "#/rules@59"
5062
+ "$ref": "#/rules@67"
4022
5063
  },
4023
5064
  "arguments": []
4024
5065
  },
@@ -4045,7 +5086,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
4045
5086
  "terminal": {
4046
5087
  "$type": "RuleCall",
4047
5088
  "rule": {
4048
- "$ref": "#/rules@83"
5089
+ "$ref": "#/rules@91"
4049
5090
  },
4050
5091
  "arguments": []
4051
5092
  }
@@ -4061,7 +5102,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
4061
5102
  "terminal": {
4062
5103
  "$type": "RuleCall",
4063
5104
  "rule": {
4064
- "$ref": "#/rules@52"
5105
+ "$ref": "#/rules@60"
4065
5106
  },
4066
5107
  "arguments": []
4067
5108
  },
@@ -4107,7 +5148,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
4107
5148
  "terminal": {
4108
5149
  "$type": "RuleCall",
4109
5150
  "rule": {
4110
- "$ref": "#/rules@86"
5151
+ "$ref": "#/rules@95"
4111
5152
  },
4112
5153
  "arguments": []
4113
5154
  }
@@ -4131,7 +5172,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
4131
5172
  "terminal": {
4132
5173
  "$type": "RuleCall",
4133
5174
  "rule": {
4134
- "$ref": "#/rules@84"
5175
+ "$ref": "#/rules@93"
4135
5176
  },
4136
5177
  "arguments": []
4137
5178
  }
@@ -4185,7 +5226,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
4185
5226
  "terminal": {
4186
5227
  "$type": "RuleCall",
4187
5228
  "rule": {
4188
- "$ref": "#/rules@83"
5229
+ "$ref": "#/rules@91"
4189
5230
  },
4190
5231
  "arguments": []
4191
5232
  }
@@ -4204,7 +5245,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
4204
5245
  "terminal": {
4205
5246
  "$type": "RuleCall",
4206
5247
  "rule": {
4207
- "$ref": "#/rules@83"
5248
+ "$ref": "#/rules@91"
4208
5249
  },
4209
5250
  "arguments": []
4210
5251
  }
@@ -4224,7 +5265,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
4224
5265
  {
4225
5266
  "$type": "RuleCall",
4226
5267
  "rule": {
4227
- "$ref": "#/rules@52"
5268
+ "$ref": "#/rules@60"
4228
5269
  },
4229
5270
  "arguments": []
4230
5271
  },
@@ -4249,42 +5290,77 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
4249
5290
  {
4250
5291
  "$type": "RuleCall",
4251
5292
  "rule": {
4252
- "$ref": "#/rules@61"
5293
+ "$ref": "#/rules@69"
4253
5294
  },
4254
5295
  "arguments": []
4255
5296
  },
4256
5297
  {
4257
5298
  "$type": "RuleCall",
4258
5299
  "rule": {
4259
- "$ref": "#/rules@70"
5300
+ "$ref": "#/rules@78"
4260
5301
  },
4261
5302
  "arguments": []
4262
5303
  },
4263
5304
  {
4264
5305
  "$type": "RuleCall",
4265
5306
  "rule": {
4266
- "$ref": "#/rules@31"
5307
+ "$ref": "#/rules@39"
4267
5308
  },
4268
5309
  "arguments": []
4269
5310
  },
4270
5311
  {
4271
5312
  "$type": "RuleCall",
4272
5313
  "rule": {
4273
- "$ref": "#/rules@32"
5314
+ "$ref": "#/rules@33"
4274
5315
  },
4275
5316
  "arguments": []
4276
5317
  },
4277
5318
  {
4278
5319
  "$type": "RuleCall",
4279
5320
  "rule": {
4280
- "$ref": "#/rules@9"
5321
+ "$ref": "#/rules@79"
4281
5322
  },
4282
5323
  "arguments": []
4283
5324
  },
4284
5325
  {
4285
5326
  "$type": "RuleCall",
4286
5327
  "rule": {
4287
- "$ref": "#/rules@72"
5328
+ "$ref": "#/rules@40"
5329
+ },
5330
+ "arguments": []
5331
+ },
5332
+ {
5333
+ "$type": "RuleCall",
5334
+ "rule": {
5335
+ "$ref": "#/rules@50"
5336
+ },
5337
+ "arguments": []
5338
+ },
5339
+ {
5340
+ "$type": "RuleCall",
5341
+ "rule": {
5342
+ "$ref": "#/rules@53"
5343
+ },
5344
+ "arguments": []
5345
+ },
5346
+ {
5347
+ "$type": "RuleCall",
5348
+ "rule": {
5349
+ "$ref": "#/rules@44"
5350
+ },
5351
+ "arguments": []
5352
+ },
5353
+ {
5354
+ "$type": "RuleCall",
5355
+ "rule": {
5356
+ "$ref": "#/rules@10"
5357
+ },
5358
+ "arguments": []
5359
+ },
5360
+ {
5361
+ "$type": "RuleCall",
5362
+ "rule": {
5363
+ "$ref": "#/rules@80"
4288
5364
  },
4289
5365
  "arguments": []
4290
5366
  }
@@ -4330,7 +5406,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
4330
5406
  "terminal": {
4331
5407
  "$type": "RuleCall",
4332
5408
  "rule": {
4333
- "$ref": "#/rules@83"
5409
+ "$ref": "#/rules@85"
4334
5410
  },
4335
5411
  "arguments": []
4336
5412
  }
@@ -4352,7 +5428,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
4352
5428
  "terminal": {
4353
5429
  "$type": "RuleCall",
4354
5430
  "rule": {
4355
- "$ref": "#/rules@74"
5431
+ "$ref": "#/rules@82"
4356
5432
  },
4357
5433
  "arguments": []
4358
5434
  }
@@ -4364,15 +5440,46 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
4364
5440
  "terminal": {
4365
5441
  "$type": "RuleCall",
4366
5442
  "rule": {
4367
- "$ref": "#/rules@24"
5443
+ "$ref": "#/rules@27"
4368
5444
  },
4369
5445
  "arguments": []
4370
5446
  },
4371
5447
  "cardinality": "?"
4372
5448
  },
4373
5449
  {
4374
- "$type": "Keyword",
4375
- "value": ";"
5450
+ "$type": "Alternatives",
5451
+ "elements": [
5452
+ {
5453
+ "$type": "Group",
5454
+ "elements": [
5455
+ {
5456
+ "$type": "Keyword",
5457
+ "value": "{"
5458
+ },
5459
+ {
5460
+ "$type": "Assignment",
5461
+ "feature": "body",
5462
+ "operator": "+=",
5463
+ "terminal": {
5464
+ "$type": "RuleCall",
5465
+ "rule": {
5466
+ "$ref": "#/rules@68"
5467
+ },
5468
+ "arguments": []
5469
+ },
5470
+ "cardinality": "*"
5471
+ },
5472
+ {
5473
+ "$type": "Keyword",
5474
+ "value": "}"
5475
+ }
5476
+ ]
5477
+ },
5478
+ {
5479
+ "$type": "Keyword",
5480
+ "value": ";"
5481
+ }
5482
+ ]
4376
5483
  }
4377
5484
  ]
4378
5485
  },
@@ -4390,7 +5497,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
4390
5497
  "terminal": {
4391
5498
  "$type": "RuleCall",
4392
5499
  "rule": {
4393
- "$ref": "#/rules@62"
5500
+ "$ref": "#/rules@70"
4394
5501
  },
4395
5502
  "arguments": []
4396
5503
  }
@@ -4418,42 +5525,42 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
4418
5525
  {
4419
5526
  "$type": "RuleCall",
4420
5527
  "rule": {
4421
- "$ref": "#/rules@63"
5528
+ "$ref": "#/rules@71"
4422
5529
  },
4423
5530
  "arguments": []
4424
5531
  },
4425
5532
  {
4426
5533
  "$type": "RuleCall",
4427
5534
  "rule": {
4428
- "$ref": "#/rules@64"
5535
+ "$ref": "#/rules@72"
4429
5536
  },
4430
5537
  "arguments": []
4431
5538
  },
4432
5539
  {
4433
5540
  "$type": "RuleCall",
4434
5541
  "rule": {
4435
- "$ref": "#/rules@65"
5542
+ "$ref": "#/rules@73"
4436
5543
  },
4437
5544
  "arguments": []
4438
5545
  },
4439
5546
  {
4440
5547
  "$type": "RuleCall",
4441
5548
  "rule": {
4442
- "$ref": "#/rules@66"
5549
+ "$ref": "#/rules@74"
4443
5550
  },
4444
5551
  "arguments": []
4445
5552
  },
4446
5553
  {
4447
5554
  "$type": "RuleCall",
4448
5555
  "rule": {
4449
- "$ref": "#/rules@67"
5556
+ "$ref": "#/rules@75"
4450
5557
  },
4451
5558
  "arguments": []
4452
5559
  },
4453
5560
  {
4454
5561
  "$type": "RuleCall",
4455
5562
  "rule": {
4456
- "$ref": "#/rules@69"
5563
+ "$ref": "#/rules@77"
4457
5564
  },
4458
5565
  "arguments": []
4459
5566
  }
@@ -4473,7 +5580,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
4473
5580
  "terminal": {
4474
5581
  "$type": "RuleCall",
4475
5582
  "rule": {
4476
- "$ref": "#/rules@84"
5583
+ "$ref": "#/rules@93"
4477
5584
  },
4478
5585
  "arguments": []
4479
5586
  }
@@ -4492,7 +5599,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
4492
5599
  "terminal": {
4493
5600
  "$type": "RuleCall",
4494
5601
  "rule": {
4495
- "$ref": "#/rules@85"
5602
+ "$ref": "#/rules@94"
4496
5603
  },
4497
5604
  "arguments": []
4498
5605
  }
@@ -4511,7 +5618,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
4511
5618
  "terminal": {
4512
5619
  "$type": "RuleCall",
4513
5620
  "rule": {
4514
- "$ref": "#/rules@86"
5621
+ "$ref": "#/rules@95"
4515
5622
  },
4516
5623
  "arguments": []
4517
5624
  }
@@ -4565,7 +5672,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
4565
5672
  "terminal": {
4566
5673
  "$type": "RuleCall",
4567
5674
  "rule": {
4568
- "$ref": "#/rules@68"
5675
+ "$ref": "#/rules@76"
4569
5676
  },
4570
5677
  "arguments": []
4571
5678
  }
@@ -4584,7 +5691,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
4584
5691
  "terminal": {
4585
5692
  "$type": "RuleCall",
4586
5693
  "rule": {
4587
- "$ref": "#/rules@68"
5694
+ "$ref": "#/rules@76"
4588
5695
  },
4589
5696
  "arguments": []
4590
5697
  }
@@ -4612,7 +5719,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
4612
5719
  "terminal": {
4613
5720
  "$type": "RuleCall",
4614
5721
  "rule": {
4615
- "$ref": "#/rules@68"
5722
+ "$ref": "#/rules@76"
4616
5723
  },
4617
5724
  "arguments": []
4618
5725
  }
@@ -4631,7 +5738,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
4631
5738
  "terminal": {
4632
5739
  "$type": "RuleCall",
4633
5740
  "rule": {
4634
- "$ref": "#/rules@68"
5741
+ "$ref": "#/rules@76"
4635
5742
  },
4636
5743
  "arguments": []
4637
5744
  }
@@ -4664,7 +5771,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
4664
5771
  "terminal": {
4665
5772
  "$type": "RuleCall",
4666
5773
  "rule": {
4667
- "$ref": "#/rules@74"
5774
+ "$ref": "#/rules@82"
4668
5775
  },
4669
5776
  "arguments": []
4670
5777
  }
@@ -4676,7 +5783,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
4676
5783
  "terminal": {
4677
5784
  "$type": "RuleCall",
4678
5785
  "rule": {
4679
- "$ref": "#/rules@84"
5786
+ "$ref": "#/rules@93"
4680
5787
  },
4681
5788
  "arguments": []
4682
5789
  }
@@ -4697,7 +5804,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
4697
5804
  "terminal": {
4698
5805
  "$type": "RuleCall",
4699
5806
  "rule": {
4700
- "$ref": "#/rules@74"
5807
+ "$ref": "#/rules@82"
4701
5808
  },
4702
5809
  "arguments": []
4703
5810
  }
@@ -4738,7 +5845,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
4738
5845
  "terminal": {
4739
5846
  "$type": "RuleCall",
4740
5847
  "rule": {
4741
- "$ref": "#/rules@77"
5848
+ "$ref": "#/rules@85"
4742
5849
  },
4743
5850
  "arguments": []
4744
5851
  }
@@ -4757,7 +5864,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
4757
5864
  "terminal": {
4758
5865
  "$type": "RuleCall",
4759
5866
  "rule": {
4760
- "$ref": "#/rules@74"
5867
+ "$ref": "#/rules@82"
4761
5868
  },
4762
5869
  "arguments": []
4763
5870
  }
@@ -4777,7 +5884,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
4777
5884
  "terminal": {
4778
5885
  "$type": "RuleCall",
4779
5886
  "rule": {
4780
- "$ref": "#/rules@77"
5887
+ "$ref": "#/rules@85"
4781
5888
  },
4782
5889
  "arguments": []
4783
5890
  }
@@ -4796,7 +5903,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
4796
5903
  "terminal": {
4797
5904
  "$type": "RuleCall",
4798
5905
  "rule": {
4799
- "$ref": "#/rules@74"
5906
+ "$ref": "#/rules@82"
4800
5907
  },
4801
5908
  "arguments": []
4802
5909
  }
@@ -4808,7 +5915,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
4808
5915
  "terminal": {
4809
5916
  "$type": "RuleCall",
4810
5917
  "rule": {
4811
- "$ref": "#/rules@24"
5918
+ "$ref": "#/rules@27"
4812
5919
  },
4813
5920
  "arguments": []
4814
5921
  },
@@ -4845,7 +5952,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
4845
5952
  "terminal": {
4846
5953
  "$type": "RuleCall",
4847
5954
  "rule": {
4848
- "$ref": "#/rules@74"
5955
+ "$ref": "#/rules@82"
4849
5956
  },
4850
5957
  "arguments": []
4851
5958
  }
@@ -4874,7 +5981,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
4874
5981
  "terminal": {
4875
5982
  "$type": "RuleCall",
4876
5983
  "rule": {
4877
- "$ref": "#/rules@60"
5984
+ "$ref": "#/rules@68"
4878
5985
  },
4879
5986
  "arguments": []
4880
5987
  },
@@ -4910,43 +6017,101 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
4910
6017
  },
4911
6018
  {
4912
6019
  "$type": "Assignment",
4913
- "feature": "name",
4914
- "operator": "=",
6020
+ "feature": "isItem",
6021
+ "operator": "?=",
4915
6022
  "terminal": {
4916
- "$type": "RuleCall",
4917
- "rule": {
4918
- "$ref": "#/rules@83"
4919
- },
4920
- "arguments": []
4921
- }
6023
+ "$type": "Keyword",
6024
+ "value": "item"
6025
+ },
6026
+ "cardinality": "?"
4922
6027
  },
4923
6028
  {
4924
- "$type": "Keyword",
4925
- "value": ":"
6029
+ "$type": "Assignment",
6030
+ "feature": "redefines",
6031
+ "operator": "?=",
6032
+ "terminal": {
6033
+ "$type": "Keyword",
6034
+ "value": ":>>"
6035
+ },
6036
+ "cardinality": "?"
4926
6037
  },
4927
6038
  {
4928
6039
  "$type": "Assignment",
4929
- "feature": "type",
6040
+ "feature": "name",
4930
6041
  "operator": "=",
4931
6042
  "terminal": {
4932
6043
  "$type": "RuleCall",
4933
6044
  "rule": {
4934
- "$ref": "#/rules@74"
6045
+ "$ref": "#/rules@86"
4935
6046
  },
4936
6047
  "arguments": []
4937
6048
  }
4938
6049
  },
4939
6050
  {
4940
- "$type": "Assignment",
4941
- "feature": "multiplicity",
4942
- "operator": "=",
4943
- "terminal": {
4944
- "$type": "RuleCall",
4945
- "rule": {
4946
- "$ref": "#/rules@24"
6051
+ "$type": "Group",
6052
+ "elements": [
6053
+ {
6054
+ "$type": "Keyword",
6055
+ "value": ":"
4947
6056
  },
4948
- "arguments": []
4949
- },
6057
+ {
6058
+ "$type": "Assignment",
6059
+ "feature": "isConjugated",
6060
+ "operator": "?=",
6061
+ "terminal": {
6062
+ "$type": "Keyword",
6063
+ "value": "~"
6064
+ },
6065
+ "cardinality": "?"
6066
+ },
6067
+ {
6068
+ "$type": "Assignment",
6069
+ "feature": "type",
6070
+ "operator": "=",
6071
+ "terminal": {
6072
+ "$type": "RuleCall",
6073
+ "rule": {
6074
+ "$ref": "#/rules@82"
6075
+ },
6076
+ "arguments": []
6077
+ }
6078
+ },
6079
+ {
6080
+ "$type": "Assignment",
6081
+ "feature": "multiplicity",
6082
+ "operator": "=",
6083
+ "terminal": {
6084
+ "$type": "RuleCall",
6085
+ "rule": {
6086
+ "$ref": "#/rules@27"
6087
+ },
6088
+ "arguments": []
6089
+ },
6090
+ "cardinality": "?"
6091
+ }
6092
+ ],
6093
+ "cardinality": "?"
6094
+ },
6095
+ {
6096
+ "$type": "Group",
6097
+ "elements": [
6098
+ {
6099
+ "$type": "Keyword",
6100
+ "value": "="
6101
+ },
6102
+ {
6103
+ "$type": "Assignment",
6104
+ "feature": "value",
6105
+ "operator": "=",
6106
+ "terminal": {
6107
+ "$type": "RuleCall",
6108
+ "rule": {
6109
+ "$ref": "#/rules@70"
6110
+ },
6111
+ "arguments": []
6112
+ }
6113
+ }
6114
+ ],
4950
6115
  "cardinality": "?"
4951
6116
  },
4952
6117
  {
@@ -4969,7 +6134,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
4969
6134
  "terminal": {
4970
6135
  "$type": "RuleCall",
4971
6136
  "rule": {
4972
- "$ref": "#/rules@82"
6137
+ "$ref": "#/rules@90"
4973
6138
  },
4974
6139
  "arguments": []
4975
6140
  }
@@ -5004,7 +6169,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
5004
6169
  "terminal": {
5005
6170
  "$type": "RuleCall",
5006
6171
  "rule": {
5007
- "$ref": "#/rules@74"
6172
+ "$ref": "#/rules@82"
5008
6173
  },
5009
6174
  "arguments": []
5010
6175
  }
@@ -5025,7 +6190,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
5025
6190
  {
5026
6191
  "$type": "RuleCall",
5027
6192
  "rule": {
5028
- "$ref": "#/rules@75"
6193
+ "$ref": "#/rules@83"
5029
6194
  },
5030
6195
  "arguments": []
5031
6196
  },
@@ -5039,7 +6204,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
5039
6204
  {
5040
6205
  "$type": "RuleCall",
5041
6206
  "rule": {
5042
- "$ref": "#/rules@76"
6207
+ "$ref": "#/rules@84"
5043
6208
  },
5044
6209
  "arguments": []
5045
6210
  }
@@ -5062,7 +6227,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
5062
6227
  {
5063
6228
  "$type": "RuleCall",
5064
6229
  "rule": {
5065
- "$ref": "#/rules@83"
6230
+ "$ref": "#/rules@91"
5066
6231
  },
5067
6232
  "arguments": []
5068
6233
  },
@@ -5086,7 +6251,14 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
5086
6251
  {
5087
6252
  "$type": "RuleCall",
5088
6253
  "rule": {
5089
- "$ref": "#/rules@75"
6254
+ "$ref": "#/rules@83"
6255
+ },
6256
+ "arguments": []
6257
+ },
6258
+ {
6259
+ "$type": "RuleCall",
6260
+ "rule": {
6261
+ "$ref": "#/rules@92"
5090
6262
  },
5091
6263
  "arguments": []
5092
6264
  },
@@ -5181,6 +6353,26 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
5181
6353
  {
5182
6354
  "$type": "Keyword",
5183
6355
  "value": "public"
6356
+ },
6357
+ {
6358
+ "$type": "Keyword",
6359
+ "value": "state"
6360
+ },
6361
+ {
6362
+ "$type": "Keyword",
6363
+ "value": "verification"
6364
+ },
6365
+ {
6366
+ "$type": "Keyword",
6367
+ "value": "use"
6368
+ },
6369
+ {
6370
+ "$type": "Keyword",
6371
+ "value": "fork"
6372
+ },
6373
+ {
6374
+ "$type": "Keyword",
6375
+ "value": "join"
5184
6376
  }
5185
6377
  ]
5186
6378
  },
@@ -5198,7 +6390,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
5198
6390
  {
5199
6391
  "$type": "RuleCall",
5200
6392
  "rule": {
5201
- "$ref": "#/rules@83"
6393
+ "$ref": "#/rules@91"
5202
6394
  },
5203
6395
  "arguments": []
5204
6396
  },
@@ -5249,6 +6441,14 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
5249
6441
  {
5250
6442
  "$type": "Keyword",
5251
6443
  "value": "part"
6444
+ },
6445
+ {
6446
+ "$type": "Keyword",
6447
+ "value": "state"
6448
+ },
6449
+ {
6450
+ "$type": "Keyword",
6451
+ "value": "verification"
5252
6452
  }
5253
6453
  ]
5254
6454
  },
@@ -5266,7 +6466,7 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
5266
6466
  {
5267
6467
  "$type": "RuleCall",
5268
6468
  "rule": {
5269
- "$ref": "#/rules@83"
6469
+ "$ref": "#/rules@91"
5270
6470
  },
5271
6471
  "arguments": []
5272
6472
  },
@@ -5341,6 +6541,14 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
5341
6541
  {
5342
6542
  "$type": "Keyword",
5343
6543
  "value": "operator"
6544
+ },
6545
+ {
6546
+ "$type": "Keyword",
6547
+ "value": "state"
6548
+ },
6549
+ {
6550
+ "$type": "Keyword",
6551
+ "value": "verification"
5344
6552
  }
5345
6553
  ]
5346
6554
  },
@@ -5403,6 +6611,17 @@ export const MemoSysMLGrammar = () => loadedMemoSysMLGrammar ?? (loadedMemoSysML
5403
6611
  "fragment": false,
5404
6612
  "hidden": false
5405
6613
  },
6614
+ {
6615
+ "$type": "TerminalRule",
6616
+ "name": "UNRESTRICTED_NAME",
6617
+ "definition": {
6618
+ "$type": "RegexToken",
6619
+ "regex": "/'(?:[^'\\\\\\\\]|\\\\\\\\.)*'/",
6620
+ "parenthesized": false
6621
+ },
6622
+ "fragment": false,
6623
+ "hidden": false
6624
+ },
5406
6625
  {
5407
6626
  "$type": "TerminalRule",
5408
6627
  "name": "STRING",