@cda/adapter-xma 0.1.0 → 0.3.0

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 (32) hide show
  1. package/README.md +35 -10
  2. package/dist/mapping/generic-relationship-mapping.d.ts +18 -0
  3. package/dist/mapping/generic-relationship-mapping.d.ts.map +1 -0
  4. package/dist/mapping/generic-relationship-mapping.js +68 -0
  5. package/dist/mapping/generic-relationship-mapping.js.map +1 -0
  6. package/dist/mapping/relationship-mapping.d.ts +28 -2
  7. package/dist/mapping/relationship-mapping.d.ts.map +1 -1
  8. package/dist/mapping/relationship-mapping.js +650 -2
  9. package/dist/mapping/relationship-mapping.js.map +1 -1
  10. package/dist/serializer/document-writer.d.ts +25 -4
  11. package/dist/serializer/document-writer.d.ts.map +1 -1
  12. package/dist/serializer/document-writer.js +24 -15
  13. package/dist/serializer/document-writer.js.map +1 -1
  14. package/dist/serializer/graphical-writer.d.ts +2 -2
  15. package/dist/serializer/graphical-writer.d.ts.map +1 -1
  16. package/dist/serializer/graphical-writer.js +30 -2
  17. package/dist/serializer/graphical-writer.js.map +1 -1
  18. package/dist/serializer/relationship-writer.d.ts +21 -6
  19. package/dist/serializer/relationship-writer.d.ts.map +1 -1
  20. package/dist/serializer/relationship-writer.js +20 -9
  21. package/dist/serializer/relationship-writer.js.map +1 -1
  22. package/dist/serializer/semantic-writer.d.ts +8 -0
  23. package/dist/serializer/semantic-writer.d.ts.map +1 -1
  24. package/dist/serializer/semantic-writer.js +45 -1
  25. package/dist/serializer/semantic-writer.js.map +1 -1
  26. package/dist/serializer/serialize-xma.d.ts.map +1 -1
  27. package/dist/serializer/serialize-xma.js +10 -20
  28. package/dist/serializer/serialize-xma.js.map +1 -1
  29. package/dist/serializer/view-writer.d.ts +2 -2
  30. package/dist/serializer/view-writer.d.ts.map +1 -1
  31. package/dist/serializer/view-writer.js.map +1 -1
  32. package/package.json +1 -1
@@ -2,10 +2,36 @@
2
2
  * Archi relationship mapping, resolved by (relationship type, source
3
3
  * semantic type, target semantic type) — never by relationship type alone.
4
4
  *
5
- * Only THREE mappings are proven, all confirmed directly against
6
- * `tests/fixtures/relationships/relaciones.{archimate,xma}`. Every other
5
+ * 90 exact-triple mappings are proven: the original 3 confirmed against
6
+ * `tests/fixtures/relationships/relaciones.{archimate,xma}`, 64 more
7
+ * confirmed against `tests/fixtures/sabsa/sabsa.{archimate,xma}`, 20 more
8
+ * confirmed against `tests/fixtures/agile-manifesto/agile-manifesto.{archimate,xma}`,
9
+ * and 3 confirmed "...Collaboration collapses to its singular active-structure
10
+ * counterpart" instances (see below) — see each fixture pair's entry in
11
+ * `tests/fixtures/README.md` for the full derivation method. Every other
7
12
  * relationship type/source/target combination is unsupported for v0.1 and
8
13
  * must be diagnosed, never guessed (see `serializer/relationship-writer.ts`).
14
+ *
15
+ * `scheme` is always the scheme of the *source* type (confirmed even across
16
+ * schemes, e.g. `WorkPackage -> BusinessFunction` lives in `IMScheme`, the
17
+ * source's scheme, not `BusinessScheme`).
18
+ *
19
+ * Three "...Collaboration" entries collapse to their singular active-structure
20
+ * counterpart for relationship naming only (their own element mapping is
21
+ * unaffected — see `element-mapping.ts`): `BusinessCollaboration` collapses
22
+ * to `BusinessRole`, `TechnologyCollaboration` collapses to `TechnologyNode`.
23
+ * Verified directly against raw relation instances in both fixtures, not
24
+ * inferred.
25
+ *
26
+ * NOT modeled here as exact triples — genuinely type-independent, so they
27
+ * live in `generic-relationship-mapping.ts` instead:
28
+ * - `AssociationRelationship` always serializes as the generic
29
+ * `ElementElementAssociation`, regardless of source/target type.
30
+ * - A `Grouping` endpoint (for the confirmed verbs Composition,
31
+ * Specialization, Influence, Use) or a `Junction`/`OrJunction` endpoint
32
+ * (for the confirmed verbs Realisation, Influence) uses a generic form
33
+ * (e.g. `GroupingElementComposition`, `RealisationRelation`) instead of a
34
+ * type-specific one.
9
35
  */
10
36
  export const RELATIONSHIP_MAPPINGS = [
11
37
  {
@@ -31,6 +57,628 @@ export const RELATIONSHIP_MAPPINGS = [
31
57
  xmaType: 'BusinessProcessBusinessProcessFlow',
32
58
  scheme: 'BusinessScheme',
33
59
  },
60
+ // StrategyScheme
61
+ {
62
+ archiRelationshipType: 'ServingRelationship',
63
+ sourceArchiType: 'Capability',
64
+ targetArchiType: 'ValueStream',
65
+ xmaType: 'StrategyCapabilityStrategyValueStreamUse',
66
+ scheme: 'StrategyScheme',
67
+ },
68
+ {
69
+ archiRelationshipType: 'CompositionRelationship',
70
+ sourceArchiType: 'ValueStream',
71
+ targetArchiType: 'ValueStream',
72
+ xmaType: 'StrategyValueStreamStrategyValueStreamComposition',
73
+ scheme: 'StrategyScheme',
74
+ },
75
+ {
76
+ archiRelationshipType: 'FlowRelationship',
77
+ sourceArchiType: 'ValueStream',
78
+ targetArchiType: 'ValueStream',
79
+ xmaType: 'StrategyValueStreamStrategyValueStreamFlow',
80
+ scheme: 'StrategyScheme',
81
+ },
82
+ {
83
+ archiRelationshipType: 'FlowRelationship',
84
+ sourceArchiType: 'ValueStream',
85
+ targetArchiType: 'CourseOfAction',
86
+ xmaType: 'StrategyValueStreamStrategyCourseOfActionFlow',
87
+ scheme: 'StrategyScheme',
88
+ },
89
+ // BusinessScheme
90
+ {
91
+ archiRelationshipType: 'CompositionRelationship',
92
+ sourceArchiType: 'BusinessProcess',
93
+ targetArchiType: 'BusinessFunction',
94
+ xmaType: 'BusinessProcessBusinessFunctionComposition',
95
+ scheme: 'BusinessScheme',
96
+ },
97
+ {
98
+ archiRelationshipType: 'CompositionRelationship',
99
+ sourceArchiType: 'BusinessProcess',
100
+ targetArchiType: 'BusinessProcess',
101
+ xmaType: 'BusinessProcessBusinessProcessComposition',
102
+ scheme: 'BusinessScheme',
103
+ },
104
+ {
105
+ archiRelationshipType: 'AssignmentRelationship',
106
+ sourceArchiType: 'BusinessActor',
107
+ targetArchiType: 'BusinessRole',
108
+ xmaType: 'BusinessActorBusinessRoleAssignment',
109
+ scheme: 'BusinessScheme',
110
+ },
111
+ {
112
+ archiRelationshipType: 'AssignmentRelationship',
113
+ sourceArchiType: 'BusinessRole',
114
+ targetArchiType: 'BusinessProcess',
115
+ xmaType: 'BusinessRoleBusinessProcessAssignment',
116
+ scheme: 'BusinessScheme',
117
+ },
118
+ {
119
+ archiRelationshipType: 'AccessRelationship',
120
+ sourceArchiType: 'BusinessProcess',
121
+ targetArchiType: 'Representation',
122
+ xmaType: 'BusinessProcessBusinessRepresentationAccess',
123
+ scheme: 'BusinessScheme',
124
+ },
125
+ {
126
+ archiRelationshipType: 'AccessRelationship',
127
+ sourceArchiType: 'BusinessProcess',
128
+ targetArchiType: 'BusinessObject',
129
+ xmaType: 'BusinessProcessBusinessObjectAccess',
130
+ scheme: 'BusinessScheme',
131
+ },
132
+ {
133
+ archiRelationshipType: 'CompositionRelationship',
134
+ sourceArchiType: 'BusinessRole',
135
+ targetArchiType: 'BusinessRole',
136
+ xmaType: 'BusinessRoleBusinessRoleComposition',
137
+ scheme: 'BusinessScheme',
138
+ },
139
+ {
140
+ archiRelationshipType: 'TriggeringRelationship',
141
+ sourceArchiType: 'BusinessEvent',
142
+ targetArchiType: 'BusinessEvent',
143
+ xmaType: 'BusinessEventBusinessEventTriggering',
144
+ scheme: 'BusinessScheme',
145
+ },
146
+ {
147
+ archiRelationshipType: 'SpecializationRelationship',
148
+ sourceArchiType: 'BusinessRole',
149
+ targetArchiType: 'BusinessRole',
150
+ xmaType: 'BusinessRoleBusinessRoleSpecialization',
151
+ scheme: 'BusinessScheme',
152
+ },
153
+ {
154
+ archiRelationshipType: 'TriggeringRelationship',
155
+ sourceArchiType: 'BusinessEvent',
156
+ targetArchiType: 'BusinessProcess',
157
+ xmaType: 'BusinessEventBusinessProcessTriggering',
158
+ scheme: 'BusinessScheme',
159
+ },
160
+ {
161
+ archiRelationshipType: 'SpecializationRelationship',
162
+ sourceArchiType: 'BusinessActor',
163
+ targetArchiType: 'BusinessActor',
164
+ xmaType: 'BusinessActorBusinessActorSpecialization',
165
+ scheme: 'BusinessScheme',
166
+ },
167
+ {
168
+ archiRelationshipType: 'TriggeringRelationship',
169
+ sourceArchiType: 'BusinessProcess',
170
+ targetArchiType: 'BusinessEvent',
171
+ xmaType: 'BusinessProcessBusinessEventTriggering',
172
+ scheme: 'BusinessScheme',
173
+ },
174
+ {
175
+ archiRelationshipType: 'RealizationRelationship',
176
+ sourceArchiType: 'BusinessProcess',
177
+ targetArchiType: 'Capability',
178
+ xmaType: 'BusinessProcessStrategyCapabilityRealisation',
179
+ scheme: 'BusinessScheme',
180
+ },
181
+ {
182
+ archiRelationshipType: 'RealizationRelationship',
183
+ sourceArchiType: 'Representation',
184
+ targetArchiType: 'Requirement',
185
+ xmaType: 'BusinessRepresentationMotivationRequirementRealisation',
186
+ scheme: 'BusinessScheme',
187
+ },
188
+ {
189
+ archiRelationshipType: 'CompositionRelationship',
190
+ sourceArchiType: 'BusinessActor',
191
+ targetArchiType: 'BusinessActor',
192
+ xmaType: 'BusinessActorBusinessActorComposition',
193
+ scheme: 'BusinessScheme',
194
+ },
195
+ {
196
+ archiRelationshipType: 'CompositionRelationship',
197
+ sourceArchiType: 'Representation',
198
+ targetArchiType: 'Representation',
199
+ xmaType: 'BusinessRepresentationBusinessRepresentationComposition',
200
+ scheme: 'BusinessScheme',
201
+ },
202
+ {
203
+ archiRelationshipType: 'AssignmentRelationship',
204
+ sourceArchiType: 'BusinessActor',
205
+ targetArchiType: 'BusinessEvent',
206
+ xmaType: 'BusinessActorBusinessEventAssignment',
207
+ scheme: 'BusinessScheme',
208
+ },
209
+ {
210
+ archiRelationshipType: 'InfluenceRelationship',
211
+ sourceArchiType: 'BusinessEvent',
212
+ targetArchiType: 'Assessment',
213
+ xmaType: 'BusinessEventMotivationAssessmentInfluence',
214
+ scheme: 'BusinessScheme',
215
+ },
216
+ {
217
+ archiRelationshipType: 'InfluenceRelationship',
218
+ sourceArchiType: 'BusinessService',
219
+ targetArchiType: 'Assessment',
220
+ xmaType: 'BusinessServiceMotivationAssessmentInfluence',
221
+ scheme: 'BusinessScheme',
222
+ },
223
+ {
224
+ archiRelationshipType: 'RealizationRelationship',
225
+ sourceArchiType: 'BusinessService',
226
+ targetArchiType: 'Requirement',
227
+ xmaType: 'BusinessServiceMotivationRequirementRealisation',
228
+ scheme: 'BusinessScheme',
229
+ },
230
+ // ApplicationScheme
231
+ {
232
+ archiRelationshipType: 'RealizationRelationship',
233
+ sourceArchiType: 'ApplicationComponent',
234
+ targetArchiType: 'ApplicationService',
235
+ xmaType: 'ApplicationComponentApplicationServiceRealisation',
236
+ scheme: 'ApplicationScheme',
237
+ },
238
+ {
239
+ archiRelationshipType: 'AccessRelationship',
240
+ sourceArchiType: 'ApplicationFunction',
241
+ targetArchiType: 'DataObject',
242
+ xmaType: 'ApplicationFunctionApplicationDataObjectAccess',
243
+ scheme: 'ApplicationScheme',
244
+ },
245
+ {
246
+ archiRelationshipType: 'AssignmentRelationship',
247
+ sourceArchiType: 'ApplicationComponent',
248
+ targetArchiType: 'ApplicationFunction',
249
+ xmaType: 'ApplicationComponentApplicationFunctionAssignment',
250
+ scheme: 'ApplicationScheme',
251
+ },
252
+ {
253
+ archiRelationshipType: 'RealizationRelationship',
254
+ sourceArchiType: 'DataObject',
255
+ targetArchiType: 'BusinessObject',
256
+ xmaType: 'ApplicationDataObjectBusinessObjectRealisation',
257
+ scheme: 'ApplicationScheme',
258
+ },
259
+ {
260
+ archiRelationshipType: 'ServingRelationship',
261
+ sourceArchiType: 'ApplicationFunction',
262
+ targetArchiType: 'BusinessProcess',
263
+ xmaType: 'ApplicationFunctionBusinessProcessUse',
264
+ scheme: 'ApplicationScheme',
265
+ },
266
+ {
267
+ archiRelationshipType: 'ServingRelationship',
268
+ sourceArchiType: 'ApplicationComponent',
269
+ targetArchiType: 'BusinessRole',
270
+ xmaType: 'ApplicationComponentBusinessRoleUse',
271
+ scheme: 'ApplicationScheme',
272
+ },
273
+ {
274
+ archiRelationshipType: 'AccessRelationship',
275
+ sourceArchiType: 'ApplicationService',
276
+ targetArchiType: 'DataObject',
277
+ xmaType: 'ApplicationServiceApplicationDataObjectAccess',
278
+ scheme: 'ApplicationScheme',
279
+ },
280
+ {
281
+ archiRelationshipType: 'RealizationRelationship',
282
+ sourceArchiType: 'DataObject',
283
+ targetArchiType: 'Requirement',
284
+ xmaType: 'ApplicationDataObjectMotivationRequirementRealisation',
285
+ scheme: 'ApplicationScheme',
286
+ },
287
+ {
288
+ archiRelationshipType: 'CompositionRelationship',
289
+ sourceArchiType: 'ApplicationComponent',
290
+ targetArchiType: 'ApplicationComponent',
291
+ xmaType: 'ApplicationComponentApplicationComponentComposition',
292
+ scheme: 'ApplicationScheme',
293
+ },
294
+ {
295
+ archiRelationshipType: 'ServingRelationship',
296
+ sourceArchiType: 'ApplicationComponent',
297
+ targetArchiType: 'ApplicationComponent',
298
+ xmaType: 'ApplicationComponentApplicationComponentUse',
299
+ scheme: 'ApplicationScheme',
300
+ },
301
+ {
302
+ archiRelationshipType: 'InfluenceRelationship',
303
+ sourceArchiType: 'ApplicationService',
304
+ targetArchiType: 'Assessment',
305
+ xmaType: 'ApplicationServiceMotivationAssessmentInfluence',
306
+ scheme: 'ApplicationScheme',
307
+ },
308
+ // TechnologyScheme
309
+ {
310
+ archiRelationshipType: 'ServingRelationship',
311
+ sourceArchiType: 'TechnologyService',
312
+ targetArchiType: 'ApplicationComponent',
313
+ xmaType: 'TechnologyServiceApplicationComponentUse',
314
+ scheme: 'TechnologyScheme',
315
+ },
316
+ {
317
+ archiRelationshipType: 'RealizationRelationship',
318
+ sourceArchiType: 'TechnologyService',
319
+ targetArchiType: 'Requirement',
320
+ xmaType: 'TechnologyServiceMotivationRequirementRealisation',
321
+ scheme: 'TechnologyScheme',
322
+ },
323
+ {
324
+ archiRelationshipType: 'AccessRelationship',
325
+ sourceArchiType: 'TechnologyService',
326
+ targetArchiType: 'Artifact',
327
+ xmaType: 'TechnologyServiceTechnologyArtifactAccess',
328
+ scheme: 'TechnologyScheme',
329
+ },
330
+ {
331
+ archiRelationshipType: 'AssignmentRelationship',
332
+ sourceArchiType: 'Node',
333
+ targetArchiType: 'Artifact',
334
+ xmaType: 'TechnologyNodeTechnologyArtifactAssignment',
335
+ scheme: 'TechnologyScheme',
336
+ },
337
+ {
338
+ archiRelationshipType: 'RealizationRelationship',
339
+ sourceArchiType: 'Artifact',
340
+ targetArchiType: 'DataObject',
341
+ xmaType: 'TechnologyArtifactApplicationDataObjectRealisation',
342
+ scheme: 'TechnologyScheme',
343
+ },
344
+ {
345
+ archiRelationshipType: 'InfluenceRelationship',
346
+ sourceArchiType: 'TechnologyService',
347
+ targetArchiType: 'Assessment',
348
+ xmaType: 'TechnologyServiceMotivationAssessmentInfluence',
349
+ scheme: 'TechnologyScheme',
350
+ },
351
+ // PhysicalScheme
352
+ {
353
+ archiRelationshipType: 'CompositionRelationship',
354
+ sourceArchiType: 'Facility',
355
+ targetArchiType: 'Facility',
356
+ xmaType: 'PhysicalFacilityPhysicalFacilityComposition',
357
+ scheme: 'PhysicalScheme',
358
+ },
359
+ // MotivationScheme
360
+ {
361
+ archiRelationshipType: 'SpecializationRelationship',
362
+ sourceArchiType: 'Principle',
363
+ targetArchiType: 'Principle',
364
+ xmaType: 'MotivationPrincipleMotivationPrincipleSpecialization',
365
+ scheme: 'MotivationScheme',
366
+ },
367
+ {
368
+ archiRelationshipType: 'InfluenceRelationship',
369
+ sourceArchiType: 'Principle',
370
+ targetArchiType: 'Principle',
371
+ xmaType: 'MotivationPrincipleMotivationPrincipleInfluence',
372
+ scheme: 'MotivationScheme',
373
+ },
374
+ {
375
+ archiRelationshipType: 'RealizationRelationship',
376
+ sourceArchiType: 'Requirement',
377
+ targetArchiType: 'Goal',
378
+ xmaType: 'MotivationRequirementMotivationGoalRealisation',
379
+ scheme: 'MotivationScheme',
380
+ },
381
+ {
382
+ archiRelationshipType: 'CompositionRelationship',
383
+ sourceArchiType: 'Value',
384
+ targetArchiType: 'Value',
385
+ xmaType: 'MotivationValueMotivationValueComposition',
386
+ scheme: 'MotivationScheme',
387
+ },
388
+ {
389
+ archiRelationshipType: 'RealizationRelationship',
390
+ sourceArchiType: 'Requirement',
391
+ targetArchiType: 'Principle',
392
+ xmaType: 'MotivationRequirementMotivationPrincipleRealisation',
393
+ scheme: 'MotivationScheme',
394
+ },
395
+ {
396
+ archiRelationshipType: 'InfluenceRelationship',
397
+ sourceArchiType: 'Goal',
398
+ targetArchiType: 'Principle',
399
+ xmaType: 'MotivationGoalMotivationPrincipleInfluence',
400
+ scheme: 'MotivationScheme',
401
+ },
402
+ {
403
+ archiRelationshipType: 'SpecializationRelationship',
404
+ sourceArchiType: 'Assessment',
405
+ targetArchiType: 'Assessment',
406
+ xmaType: 'MotivationAssessmentMotivationAssessmentSpecialization',
407
+ scheme: 'MotivationScheme',
408
+ },
409
+ {
410
+ archiRelationshipType: 'SpecializationRelationship',
411
+ sourceArchiType: 'Outcome',
412
+ targetArchiType: 'Outcome',
413
+ xmaType: 'MotivationOutcomeMotivationOutcomeSpecialization',
414
+ scheme: 'MotivationScheme',
415
+ },
416
+ {
417
+ archiRelationshipType: 'RealizationRelationship',
418
+ sourceArchiType: 'Principle',
419
+ targetArchiType: 'Goal',
420
+ xmaType: 'MotivationPrincipleMotivationGoalRealisation',
421
+ scheme: 'MotivationScheme',
422
+ },
423
+ {
424
+ archiRelationshipType: 'SpecializationRelationship',
425
+ sourceArchiType: 'Value',
426
+ targetArchiType: 'Value',
427
+ xmaType: 'MotivationValueMotivationValueSpecialization',
428
+ scheme: 'MotivationScheme',
429
+ },
430
+ {
431
+ archiRelationshipType: 'SpecializationRelationship',
432
+ sourceArchiType: 'Goal',
433
+ targetArchiType: 'Goal',
434
+ xmaType: 'MotivationGoalMotivationGoalSpecialization',
435
+ scheme: 'MotivationScheme',
436
+ },
437
+ {
438
+ archiRelationshipType: 'CompositionRelationship',
439
+ sourceArchiType: 'Requirement',
440
+ targetArchiType: 'Requirement',
441
+ xmaType: 'MotivationRequirementMotivationRequirementComposition',
442
+ scheme: 'MotivationScheme',
443
+ },
444
+ {
445
+ archiRelationshipType: 'RealizationRelationship',
446
+ sourceArchiType: 'Requirement',
447
+ targetArchiType: 'Outcome',
448
+ xmaType: 'MotivationRequirementMotivationOutcomeRealisation',
449
+ scheme: 'MotivationScheme',
450
+ },
451
+ {
452
+ archiRelationshipType: 'RealizationRelationship',
453
+ sourceArchiType: 'Principle',
454
+ targetArchiType: 'Outcome',
455
+ xmaType: 'MotivationPrincipleMotivationOutcomeRealisation',
456
+ scheme: 'MotivationScheme',
457
+ },
458
+ {
459
+ archiRelationshipType: 'InfluenceRelationship',
460
+ sourceArchiType: 'Assessment',
461
+ targetArchiType: 'Assessment',
462
+ xmaType: 'MotivationAssessmentMotivationAssessmentInfluence',
463
+ scheme: 'MotivationScheme',
464
+ },
465
+ {
466
+ archiRelationshipType: 'InfluenceRelationship',
467
+ sourceArchiType: 'Assessment',
468
+ targetArchiType: 'Goal',
469
+ xmaType: 'MotivationAssessmentMotivationGoalInfluence',
470
+ scheme: 'MotivationScheme',
471
+ },
472
+ {
473
+ archiRelationshipType: 'InfluenceRelationship',
474
+ sourceArchiType: 'Goal',
475
+ targetArchiType: 'Assessment',
476
+ xmaType: 'MotivationGoalMotivationAssessmentInfluence',
477
+ scheme: 'MotivationScheme',
478
+ },
479
+ {
480
+ archiRelationshipType: 'RealizationRelationship',
481
+ sourceArchiType: 'Outcome',
482
+ targetArchiType: 'Goal',
483
+ xmaType: 'MotivationOutcomeMotivationGoalRealisation',
484
+ scheme: 'MotivationScheme',
485
+ },
486
+ // IMScheme
487
+ {
488
+ archiRelationshipType: 'AccessRelationship',
489
+ sourceArchiType: 'WorkPackage',
490
+ targetArchiType: 'Deliverable',
491
+ xmaType: 'IMWorkpackageIMDeliverableAccess',
492
+ scheme: 'IMScheme',
493
+ },
494
+ {
495
+ archiRelationshipType: 'RealizationRelationship',
496
+ sourceArchiType: 'WorkPackage',
497
+ targetArchiType: 'BusinessFunction',
498
+ xmaType: 'IMWorkpackageBusinessFunctionRealisation',
499
+ scheme: 'IMScheme',
500
+ },
501
+ {
502
+ archiRelationshipType: 'RealizationRelationship',
503
+ sourceArchiType: 'WorkPackage',
504
+ targetArchiType: 'BusinessProcess',
505
+ xmaType: 'IMWorkpackageBusinessProcessRealisation',
506
+ scheme: 'IMScheme',
507
+ },
508
+ {
509
+ archiRelationshipType: 'CompositionRelationship',
510
+ sourceArchiType: 'Deliverable',
511
+ targetArchiType: 'Deliverable',
512
+ xmaType: 'IMDeliverableIMDeliverableComposition',
513
+ scheme: 'IMScheme',
514
+ },
515
+ // From tests/fixtures/agile-manifesto/ (20 more, including the first confirmed
516
+ // Driver-involving Influence/Specialization mappings)
517
+ {
518
+ archiRelationshipType: 'ServingRelationship',
519
+ sourceArchiType: 'ApplicationComponent',
520
+ targetArchiType: 'BusinessInteraction',
521
+ xmaType: 'ApplicationComponentBusinessInteractionUse',
522
+ scheme: 'ApplicationScheme',
523
+ },
524
+ {
525
+ archiRelationshipType: 'ServingRelationship',
526
+ sourceArchiType: 'BusinessFunction',
527
+ targetArchiType: 'BusinessFunction',
528
+ xmaType: 'BusinessFunctionBusinessFunctionUse',
529
+ scheme: 'BusinessScheme',
530
+ },
531
+ {
532
+ archiRelationshipType: 'RealizationRelationship',
533
+ sourceArchiType: 'Deliverable',
534
+ targetArchiType: 'BusinessProcess',
535
+ xmaType: 'IMDeliverableBusinessProcessRealisation',
536
+ scheme: 'IMScheme',
537
+ },
538
+ {
539
+ archiRelationshipType: 'RealizationRelationship',
540
+ sourceArchiType: 'Deliverable',
541
+ targetArchiType: 'ApplicationComponent',
542
+ xmaType: 'IMDeliverableApplicationComponentRealisation',
543
+ scheme: 'IMScheme',
544
+ },
545
+ {
546
+ archiRelationshipType: 'RealizationRelationship',
547
+ sourceArchiType: 'ApplicationComponent',
548
+ targetArchiType: 'BusinessProcess',
549
+ xmaType: 'ApplicationComponentBusinessProcessRealisation',
550
+ scheme: 'ApplicationScheme',
551
+ },
552
+ {
553
+ archiRelationshipType: 'SpecializationRelationship',
554
+ sourceArchiType: 'BusinessProcess',
555
+ targetArchiType: 'BusinessProcess',
556
+ xmaType: 'BusinessProcessBusinessProcessSpecialization',
557
+ scheme: 'BusinessScheme',
558
+ },
559
+ {
560
+ archiRelationshipType: 'AssignmentRelationship',
561
+ sourceArchiType: 'BusinessActor',
562
+ targetArchiType: 'BusinessInteraction',
563
+ xmaType: 'BusinessActorBusinessInteractionAssignment',
564
+ scheme: 'BusinessScheme',
565
+ },
566
+ {
567
+ archiRelationshipType: 'RealizationRelationship',
568
+ sourceArchiType: 'ApplicationComponent',
569
+ targetArchiType: 'BusinessInteraction',
570
+ xmaType: 'ApplicationComponentBusinessInteractionRealisation',
571
+ scheme: 'ApplicationScheme',
572
+ },
573
+ {
574
+ archiRelationshipType: 'ServingRelationship',
575
+ sourceArchiType: 'BusinessProcess',
576
+ targetArchiType: 'BusinessProcess',
577
+ xmaType: 'BusinessProcessBusinessProcessUse',
578
+ scheme: 'BusinessScheme',
579
+ },
580
+ {
581
+ archiRelationshipType: 'SpecializationRelationship',
582
+ sourceArchiType: 'Driver',
583
+ targetArchiType: 'Driver',
584
+ xmaType: 'MotivationDriverMotivationDriverSpecialization',
585
+ scheme: 'MotivationScheme',
586
+ },
587
+ {
588
+ archiRelationshipType: 'InfluenceRelationship',
589
+ sourceArchiType: 'Principle',
590
+ targetArchiType: 'Driver',
591
+ xmaType: 'MotivationPrincipleMotivationDriverInfluence',
592
+ scheme: 'MotivationScheme',
593
+ },
594
+ {
595
+ archiRelationshipType: 'InfluenceRelationship',
596
+ sourceArchiType: 'Driver',
597
+ targetArchiType: 'Driver',
598
+ xmaType: 'MotivationDriverMotivationDriverInfluence',
599
+ scheme: 'MotivationScheme',
600
+ },
601
+ {
602
+ archiRelationshipType: 'SpecializationRelationship',
603
+ sourceArchiType: 'Meaning',
604
+ targetArchiType: 'Meaning',
605
+ xmaType: 'MotivationMeaningMotivationMeaningSpecialization',
606
+ scheme: 'MotivationScheme',
607
+ },
608
+ {
609
+ archiRelationshipType: 'InfluenceRelationship',
610
+ sourceArchiType: 'Requirement',
611
+ targetArchiType: 'Driver',
612
+ xmaType: 'MotivationRequirementMotivationDriverInfluence',
613
+ scheme: 'MotivationScheme',
614
+ },
615
+ {
616
+ archiRelationshipType: 'InfluenceRelationship',
617
+ sourceArchiType: 'Requirement',
618
+ targetArchiType: 'Requirement',
619
+ xmaType: 'MotivationRequirementMotivationRequirementInfluence',
620
+ scheme: 'MotivationScheme',
621
+ },
622
+ {
623
+ archiRelationshipType: 'InfluenceRelationship',
624
+ sourceArchiType: 'Principle',
625
+ targetArchiType: 'Requirement',
626
+ xmaType: 'MotivationPrincipleMotivationRequirementInfluence',
627
+ scheme: 'MotivationScheme',
628
+ },
629
+ {
630
+ archiRelationshipType: 'InfluenceRelationship',
631
+ sourceArchiType: 'Assessment',
632
+ targetArchiType: 'Driver',
633
+ xmaType: 'MotivationAssessmentMotivationDriverInfluence',
634
+ scheme: 'MotivationScheme',
635
+ },
636
+ {
637
+ archiRelationshipType: 'InfluenceRelationship',
638
+ sourceArchiType: 'Principle',
639
+ targetArchiType: 'Assessment',
640
+ xmaType: 'MotivationPrincipleMotivationAssessmentInfluence',
641
+ scheme: 'MotivationScheme',
642
+ },
643
+ {
644
+ archiRelationshipType: 'InfluenceRelationship',
645
+ sourceArchiType: 'Driver',
646
+ targetArchiType: 'Requirement',
647
+ xmaType: 'MotivationDriverMotivationRequirementInfluence',
648
+ scheme: 'MotivationScheme',
649
+ },
650
+ {
651
+ archiRelationshipType: 'InfluenceRelationship',
652
+ sourceArchiType: 'Assessment',
653
+ targetArchiType: 'Requirement',
654
+ xmaType: 'MotivationAssessmentMotivationRequirementInfluence',
655
+ scheme: 'MotivationScheme',
656
+ },
657
+ // Confirmed "...Collaboration collapses to its singular active-structure counterpart"
658
+ // instances (BusinessCollaboration -> BusinessRole, TechnologyCollaboration ->
659
+ // TechnologyNode) — these are still exact-triple entries keyed by the real Archi
660
+ // type; only the xmaType value reflects the collapse. See tests/fixtures/README.md.
661
+ {
662
+ archiRelationshipType: 'TriggeringRelationship',
663
+ sourceArchiType: 'BusinessCollaboration',
664
+ targetArchiType: 'BusinessProcess',
665
+ xmaType: 'BusinessRoleBusinessProcessTriggering',
666
+ scheme: 'BusinessScheme',
667
+ },
668
+ {
669
+ archiRelationshipType: 'ServingRelationship',
670
+ sourceArchiType: 'ApplicationComponent',
671
+ targetArchiType: 'BusinessCollaboration',
672
+ xmaType: 'ApplicationComponentBusinessRoleUse',
673
+ scheme: 'ApplicationScheme',
674
+ },
675
+ {
676
+ archiRelationshipType: 'ServingRelationship',
677
+ sourceArchiType: 'TechnologyCollaboration',
678
+ targetArchiType: 'ApplicationComponent',
679
+ xmaType: 'TechnologyNodeApplicationComponentUse',
680
+ scheme: 'TechnologyScheme',
681
+ },
34
682
  ];
35
683
  function relationshipKey(relationshipType, sourceType, targetType) {
36
684
  return `${relationshipType}|${sourceType}|${targetType}`;