@cda/adapter-xma 0.2.0 → 0.4.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 (33) hide show
  1. package/README.md +40 -29
  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 +20 -19
  7. package/dist/mapping/relationship-mapping.d.ts.map +1 -1
  8. package/dist/mapping/relationship-mapping.js +45 -19
  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 +7 -5
  15. package/dist/serializer/graphical-writer.d.ts.map +1 -1
  16. package/dist/serializer/graphical-writer.js +66 -13
  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 +8 -7
  30. package/dist/serializer/view-writer.d.ts.map +1 -1
  31. package/dist/serializer/view-writer.js +9 -17
  32. package/dist/serializer/view-writer.js.map +1 -1
  33. package/package.json +7 -2
package/README.md CHANGED
@@ -98,16 +98,31 @@ extrapolated beyond that evidence.
98
98
  Application, Technology, Physical, Motivation, Implementation & Migration,
99
99
  Composite), with confirmed scheme/collection placement and default icon
100
100
  decoration presence.
101
+ - `Junction`/`OrJunction` — a root-level `Connectors` container, confirmed
102
+ distinct graphical form (no fill/line color, `mm_graphicType="3"`). See
103
+ `tests/fixtures/README.md`.
101
104
  - Element and view names, and documentation (as RTF profile values).
102
- - A single ArchiMate view per model: node geometry (exact ×3 scale),
103
- default per-category fill colors, line color, opacity, and font.
105
+ - **Multiple ArchiMate views per model** (up from exactly one) — each gets
106
+ its own `GraphicalModule`, all nesting under one shared `AbstractViews`
107
+ container. Confirmed against 38-view and 3-view real-world fixtures. Node
108
+ geometry (exact ×3 scale), default per-category fill colors, line color,
109
+ opacity, and font are unaffected by view count.
104
110
  - Notes and Groups (as `ArchiMate:ViewGraphic`), including Group
105
111
  documentation.
106
- - **87 confirmed semantic relationship mappings** (up from 3), spanning all
107
- eight schemes see `src/mapping/relationship-mapping.ts` for the full
108
- table and `tests/fixtures/README.md` for how each was derived and
109
- verified. The original 3 (below) additionally have their graphical
110
- `MM_DirectedRel` representation confirmed end-to-end; the other 84 were
112
+ - **Nested diagram objects, up to 3 levels deep** a child's `MM_Node`
113
+ nests inside its parent's `MM_Graphics`, using its bounds as-is (already
114
+ relative to the parent in Archi, no offset math). Groups nest children the
115
+ same way. Confirmed against 283-nested-object and 15-nested-object
116
+ real-world fixtures. See `tests/fixtures/README.md`.
117
+ - **90 confirmed exact-triple semantic relationship mappings** (up from 3),
118
+ spanning all eight schemes, plus **3 confirmed generic (type-independent)
119
+ forms** — `AssociationRelationship`, a `Grouping` endpoint (Composition,
120
+ Specialization, Influence, Use), and a `Junction`/`OrJunction` endpoint
121
+ (Realisation, Influence) — see `src/mapping/relationship-mapping.ts` and
122
+ `src/mapping/generic-relationship-mapping.ts` for the tables, and
123
+ `tests/fixtures/README.md` for how each was derived and verified. The
124
+ original 3 exact-triple mappings additionally have their graphical
125
+ `MM_DirectedRel` representation confirmed end-to-end; the rest were
111
126
  confirmed at the semantic layer only (the same generic serializer code
112
127
  path, not independently fixture-checked for the graphical layer):
113
128
  - `AssignmentRelationship` `BusinessActor` → `BusinessProcess`
@@ -124,29 +139,24 @@ extrapolated beyond that evidence.
124
139
 
125
140
  ### Not yet guaranteed
126
141
 
127
- - Relationship type/source/target combinations beyond the 87 confirmed above
128
- (reported as a diagnostic, not silently dropped or guessed).
129
- - `AssociationRelationship` confirmed to always serialize as the generic
130
- `ElementElementAssociation` regardless of source/target type, but not yet
131
- modeled (the exact-triple table can't express a type-independent rule
132
- without one enormous list of duplicates). Still correctly diagnosed as
133
- unsupported, not silently dropped. See "Known limitation" in
134
- [`tests/fixtures/README.md`](tests/fixtures/README.md).
135
- - Any relationship with a `Grouping` or `Junction` endpoint — confirmed to
136
- use a generic form (`GroupingElementComposition`, `RealisationRelation`,
137
- ...) instead of a type-specific tag, also not yet modeled. Same doc.
142
+ - Relationship type/source/target combinations beyond the 90 confirmed exact
143
+ triples and the 3 confirmed generic forms (reported as a diagnostic, not
144
+ silently dropped or guessed) e.g. a `Grouping`/`Junction` endpoint paired
145
+ with a verb outside the confirmed set for that endpoint kind.
138
146
  - A handful of concrete types that collapse to a coarser XMA category
139
147
  specifically for relationship naming, distinct from their own element
140
- mapping — confirmed for `TechnologyCollaboration` → `TechnologyNode`,
141
- `BusinessCollaboration` → `BusinessRole`, and `SystemSoftware` →
142
- `TechnologyNode`; circumstantial for `Constraint` → `MotivationRequirement`.
143
- The two `...Collaboration` cases suggest a pattern (collapse to the type's
144
- own singular "active structure" counterpart) but it isn't confirmed beyond
145
- those two. Same doc.
146
- - More than one view per model (reported as a diagnostic).
147
- - Nested diagram objects, `DiagramModelReference` ("insert view as
148
- reference"), and purely visual (non-semantic) connections.
149
- - Junctions, profiles/specializations, and arbitrary model properties.
148
+ mapping — confirmed and implemented for `TechnologyCollaboration` →
149
+ `TechnologyNode`, `BusinessCollaboration` → `BusinessRole`, and
150
+ `SystemSoftware` `TechnologyNode`. `Constraint` → `MotivationRequirement`
151
+ remains circumstantial (one otherwise-unexplained count mismatch, no
152
+ direct confirmation) and is **not** implemented. See "Generic and
153
+ collapsed forms" in [`tests/fixtures/README.md`](tests/fixtures/README.md).
154
+ - A nested `ArchiNote` (as opposed to a nested `ArchiDiagramObject`, now
155
+ supported) only one instance exists across all four fixtures, not
156
+ enough to confirm its representation.
157
+ - `DiagramModelReference` ("insert view as reference"), and purely visual
158
+ (non-semantic) connections.
159
+ - Profiles/specializations and arbitrary model properties.
150
160
  - Explicit font size, bold/italic, line width, font color, or connector
151
161
  line color overrides (reported as diagnostics; the confirmed defaults are
152
162
  used instead).
@@ -174,7 +184,8 @@ src/
174
184
 
175
185
  mapping/ immutable mapping DATA (never switch statements)
176
186
  element-mapping.ts 60 confirmed Archi type -> XMA type/scheme/collection
177
- relationship-mapping.ts 3 confirmed (type, source, target) -> XMA relationship
187
+ relationship-mapping.ts 90 confirmed (type, source, target) -> XMA relationship
188
+ generic-relationship-mapping.ts 3 confirmed type-independent forms (Association, Grouping, Junction)
178
189
  scheme-mapping.ts scheme container / folder-nesting metadata
179
190
  visual-mapping.ts default fill/line colors, font, opacity
180
191
 
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Generic (type-independent) relationship forms — confirmed to exist, but
3
+ * structurally different from `relationship-mapping.ts`'s exact-triple
4
+ * table: these apply *regardless* of the concrete source/target type, not
5
+ * for one specific pair. See `tests/fixtures/README.md` for the full
6
+ * derivation evidence.
7
+ *
8
+ * All three forms serialize into the root-level `<ArchiMate:Relations>`
9
+ * container (a sibling of `AbstractSchemes` under `ArchiMateComponent`),
10
+ * never inside a layer scheme — confirmed directly in both fixtures
11
+ * (`sabsa.xma`, `agile-manifesto.xma`): every generic-form relation appears
12
+ * there, never nested in `BusinessScheme`/`ApplicationScheme`/etc.
13
+ */
14
+ export interface GenericRelationshipMapping {
15
+ xmaType: string;
16
+ }
17
+ export declare function lookupGenericRelationshipMapping(archiRelationshipType: string, sourceArchiType: string, targetArchiType: string): GenericRelationshipMapping | undefined;
18
+ //# sourceMappingURL=generic-relationship-mapping.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic-relationship-mapping.d.ts","sourceRoot":"","sources":["../../src/mapping/generic-relationship-mapping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAkCH,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,gCAAgC,CAC9C,qBAAqB,EAAE,MAAM,EAC7B,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,GACtB,0BAA0B,GAAG,SAAS,CA4BxC"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Generic (type-independent) relationship forms — confirmed to exist, but
3
+ * structurally different from `relationship-mapping.ts`'s exact-triple
4
+ * table: these apply *regardless* of the concrete source/target type, not
5
+ * for one specific pair. See `tests/fixtures/README.md` for the full
6
+ * derivation evidence.
7
+ *
8
+ * All three forms serialize into the root-level `<ArchiMate:Relations>`
9
+ * container (a sibling of `AbstractSchemes` under `ArchiMateComponent`),
10
+ * never inside a layer scheme — confirmed directly in both fixtures
11
+ * (`sabsa.xma`, `agile-manifesto.xma`): every generic-form relation appears
12
+ * there, never nested in `BusinessScheme`/`ApplicationScheme`/etc.
13
+ */
14
+ /** Archi relationship type -> its confirmed "verb" suffix (see relationship-mapping.ts). */
15
+ const VERB_BY_ARCHI_TYPE = {
16
+ AssignmentRelationship: 'Assignment',
17
+ AccessRelationship: 'Access',
18
+ RealizationRelationship: 'Realisation',
19
+ FlowRelationship: 'Flow',
20
+ TriggeringRelationship: 'Triggering',
21
+ InfluenceRelationship: 'Influence',
22
+ SpecializationRelationship: 'Specialization',
23
+ CompositionRelationship: 'Composition',
24
+ ServingRelationship: 'Use',
25
+ };
26
+ /**
27
+ * Verbs confirmed (directly, not inferred) to produce the generic
28
+ * `{Verb}Relation` form when a `Junction`/`OrJunction` is an endpoint:
29
+ * `RealizationRelationship` (`RealisationRelation`, sabsa + agile-manifesto)
30
+ * and `InfluenceRelationship` (`InfluenceRelation`, agile-manifesto). Not
31
+ * extended to other verbs without fixture evidence for that specific verb —
32
+ * a relationship type absent from this set is still reported unsupported.
33
+ */
34
+ const JUNCTION_CONFIRMED_VERBS = new Set(['Realisation', 'Influence']);
35
+ /**
36
+ * Verbs confirmed to produce the `{Grouping|Element}{Grouping|Element}{Verb}`
37
+ * generic form when a `Grouping` is an endpoint (sabsa + agile-manifesto):
38
+ * `CompositionRelationship`, `SpecializationRelationship`,
39
+ * `InfluenceRelationship`, `ServingRelationship`. Same "no evidence, no
40
+ * guess" rule as Junction above.
41
+ */
42
+ const GROUPING_CONFIRMED_VERBS = new Set(['Composition', 'Specialization', 'Influence', 'Use']);
43
+ export function lookupGenericRelationshipMapping(archiRelationshipType, sourceArchiType, targetArchiType) {
44
+ // Confirmed universal: every AssociationRelationship instance across dozens of
45
+ // distinct source/target type pairs (sabsa + agile-manifesto) serializes as this
46
+ // one generic tag — never a type-specific one.
47
+ if (archiRelationshipType === 'AssociationRelationship') {
48
+ return { xmaType: 'ElementElementAssociation' };
49
+ }
50
+ const verb = VERB_BY_ARCHI_TYPE[archiRelationshipType];
51
+ if (!verb) {
52
+ return undefined;
53
+ }
54
+ const sourceIsJunction = sourceArchiType === 'Junction';
55
+ const targetIsJunction = targetArchiType === 'Junction';
56
+ if ((sourceIsJunction || targetIsJunction) && JUNCTION_CONFIRMED_VERBS.has(verb)) {
57
+ return { xmaType: `${verb}Relation` };
58
+ }
59
+ const sourceIsGrouping = sourceArchiType === 'Grouping';
60
+ const targetIsGrouping = targetArchiType === 'Grouping';
61
+ if ((sourceIsGrouping || targetIsGrouping) && GROUPING_CONFIRMED_VERBS.has(verb)) {
62
+ const sourcePart = sourceIsGrouping ? 'Grouping' : 'Element';
63
+ const targetPart = targetIsGrouping ? 'Grouping' : 'Element';
64
+ return { xmaType: `${sourcePart}${targetPart}${verb}` };
65
+ }
66
+ return undefined;
67
+ }
68
+ //# sourceMappingURL=generic-relationship-mapping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic-relationship-mapping.js","sourceRoot":"","sources":["../../src/mapping/generic-relationship-mapping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,4FAA4F;AAC5F,MAAM,kBAAkB,GAAqC;IAC3D,sBAAsB,EAAE,YAAY;IACpC,kBAAkB,EAAE,QAAQ;IAC5B,uBAAuB,EAAE,aAAa;IACtC,gBAAgB,EAAE,MAAM;IACxB,sBAAsB,EAAE,YAAY;IACpC,qBAAqB,EAAE,WAAW;IAClC,0BAA0B,EAAE,gBAAgB;IAC5C,uBAAuB,EAAE,aAAa;IACtC,mBAAmB,EAAE,KAAK;CAC3B,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;AAEvE;;;;;;GAMG;AACH,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;AAMhG,MAAM,UAAU,gCAAgC,CAC9C,qBAA6B,EAC7B,eAAuB,EACvB,eAAuB;IAEvB,+EAA+E;IAC/E,iFAAiF;IACjF,+CAA+C;IAC/C,IAAI,qBAAqB,KAAK,yBAAyB,EAAE,CAAC;QACxD,OAAO,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC;IAClD,CAAC;IAED,MAAM,IAAI,GAAG,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;IACvD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,gBAAgB,GAAG,eAAe,KAAK,UAAU,CAAC;IACxD,MAAM,gBAAgB,GAAG,eAAe,KAAK,UAAU,CAAC;IACxD,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,IAAI,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACjF,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC;IACxC,CAAC;IAED,MAAM,gBAAgB,GAAG,eAAe,KAAK,UAAU,CAAC;IACxD,MAAM,gBAAgB,GAAG,eAAe,KAAK,UAAU,CAAC;IACxD,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,IAAI,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACjF,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7D,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7D,OAAO,EAAE,OAAO,EAAE,GAAG,UAAU,GAAG,UAAU,GAAG,IAAI,EAAE,EAAE,CAAC;IAC1D,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -2,12 +2,13 @@
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
- * 87 mappings are proven: the original 3 confirmed against
5
+ * 90 exact-triple mappings are proven: the original 3 confirmed against
6
6
  * `tests/fixtures/relationships/relaciones.{archimate,xma}`, 64 more
7
- * confirmed against `tests/fixtures/sabsa/sabsa.{archimate,xma}`, and 20 more
8
- * confirmed against `tests/fixtures/agile-manifesto/agile-manifesto.{archimate,xma}`
9
- * (see each fixture pair's entry in `tests/fixtures/README.md` for the full
10
- * derivation method and the open questions they surfaced). Every other
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
11
12
  * relationship type/source/target combination is unsupported for v0.1 and
12
13
  * must be diagnosed, never guessed (see `serializer/relationship-writer.ts`).
13
14
  *
@@ -15,22 +16,22 @@
15
16
  * schemes, e.g. `WorkPackage -> BusinessFunction` lives in `IMScheme`, the
16
17
  * source's scheme, not `BusinessScheme`).
17
18
  *
18
- * NOT modeled here confirmed to exist, but needs a different mechanism
19
- * than this exact-triple table (see `tests/fixtures/README.md`):
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:
20
28
  * - `AssociationRelationship` always serializes as the generic
21
29
  * `ElementElementAssociation`, regardless of source/target type.
22
- * - Any relationship with a `Grouping` or `Junction` endpoint uses a
23
- * generic form (e.g. `GroupingElementComposition`, `RealisationRelation`)
24
- * instead of a type-specific one.
25
- * - A handful of concrete types collapse to a coarser XMA "category" only
26
- * for relationship naming (not for their own element mapping) — always a
27
- * type's own singular "active structure" counterpart, confirmed twice
28
- * now for the `...Collaboration` pattern specifically: `TechnologyCollaboration`
29
- * collapses to `TechnologyNode`, and `BusinessCollaboration` collapses to
30
- * `BusinessRole` (verified directly against raw relation instances in
31
- * both fixtures, not inferred). Also confirmed: `SystemSoftware`
32
- * collapses to `TechnologyNode`; `Constraint` collapses to
33
- * `MotivationRequirement`.
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.
34
35
  */
35
36
  export interface RelationshipMappingEntry {
36
37
  archiRelationshipType: string;
@@ -1 +1 @@
1
- {"version":3,"file":"relationship-mapping.d.ts","sourceRoot":"","sources":["../../src/mapping/relationship-mapping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,MAAM,WAAW,wBAAwB;IACvC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,qFAAqF;IACrF,OAAO,EAAE,MAAM,CAAC;IAChB,oGAAoG;IACpG,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,qBAAqB,EAAE,SAAS,wBAAwB,EAqnBpE,CAAC;AAaF,wBAAgB,yBAAyB,CACvC,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,GACtB,wBAAwB,GAAG,SAAS,CAEtC"}
1
+ {"version":3,"file":"relationship-mapping.d.ts","sourceRoot":"","sources":["../../src/mapping/relationship-mapping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,MAAM,WAAW,wBAAwB;IACvC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,qFAAqF;IACrF,OAAO,EAAE,MAAM,CAAC;IAChB,oGAAoG;IACpG,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,qBAAqB,EAAE,SAAS,wBAAwB,EA+oBpE,CAAC;AAaF,wBAAgB,yBAAyB,CACvC,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,GACtB,wBAAwB,GAAG,SAAS,CAEtC"}
@@ -2,12 +2,13 @@
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
- * 87 mappings are proven: the original 3 confirmed against
5
+ * 90 exact-triple mappings are proven: the original 3 confirmed against
6
6
  * `tests/fixtures/relationships/relaciones.{archimate,xma}`, 64 more
7
- * confirmed against `tests/fixtures/sabsa/sabsa.{archimate,xma}`, and 20 more
8
- * confirmed against `tests/fixtures/agile-manifesto/agile-manifesto.{archimate,xma}`
9
- * (see each fixture pair's entry in `tests/fixtures/README.md` for the full
10
- * derivation method and the open questions they surfaced). Every other
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
11
12
  * relationship type/source/target combination is unsupported for v0.1 and
12
13
  * must be diagnosed, never guessed (see `serializer/relationship-writer.ts`).
13
14
  *
@@ -15,22 +16,22 @@
15
16
  * schemes, e.g. `WorkPackage -> BusinessFunction` lives in `IMScheme`, the
16
17
  * source's scheme, not `BusinessScheme`).
17
18
  *
18
- * NOT modeled here confirmed to exist, but needs a different mechanism
19
- * than this exact-triple table (see `tests/fixtures/README.md`):
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:
20
28
  * - `AssociationRelationship` always serializes as the generic
21
29
  * `ElementElementAssociation`, regardless of source/target type.
22
- * - Any relationship with a `Grouping` or `Junction` endpoint uses a
23
- * generic form (e.g. `GroupingElementComposition`, `RealisationRelation`)
24
- * instead of a type-specific one.
25
- * - A handful of concrete types collapse to a coarser XMA "category" only
26
- * for relationship naming (not for their own element mapping) — always a
27
- * type's own singular "active structure" counterpart, confirmed twice
28
- * now for the `...Collaboration` pattern specifically: `TechnologyCollaboration`
29
- * collapses to `TechnologyNode`, and `BusinessCollaboration` collapses to
30
- * `BusinessRole` (verified directly against raw relation instances in
31
- * both fixtures, not inferred). Also confirmed: `SystemSoftware`
32
- * collapses to `TechnologyNode`; `Constraint` collapses to
33
- * `MotivationRequirement`.
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.
34
35
  */
35
36
  export const RELATIONSHIP_MAPPINGS = [
36
37
  {
@@ -653,6 +654,31 @@ export const RELATIONSHIP_MAPPINGS = [
653
654
  xmaType: 'MotivationAssessmentMotivationRequirementInfluence',
654
655
  scheme: 'MotivationScheme',
655
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
+ },
656
682
  ];
657
683
  function relationshipKey(relationshipType, sourceType, targetType) {
658
684
  return `${relationshipType}|${sourceType}|${targetType}`;
@@ -1 +1 @@
1
- {"version":3,"file":"relationship-mapping.js","sourceRoot":"","sources":["../../src/mapping/relationship-mapping.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relationship-mapping.js","sourceRoot":"","sources":["../../src/mapping/relationship-mapping.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,13 @@ import type { XmlElement } from '../infrastructure/xml-writer.js';
3
3
  import type { XmaIdRegistry } from '../infrastructure/id-allocator.js';
4
4
  import { type SchemeBuild } from './semantic-writer.js';
5
5
  import type { ViewBuildResult } from './view-writer.js';
6
+ /** One view fully built by `view-writer`/`graphical-writer`, ready to assemble into the document. */
7
+ export interface BuiltView {
8
+ view: ArchiView;
9
+ viewResult: ViewBuildResult;
10
+ /** The `MM_Diagram:MM_Diagram` built by `graphical-writer` for this view. */
11
+ graphicalDiagramXml: XmlElement;
12
+ }
6
13
  export interface DocumentAssemblyInput {
7
14
  modelName: string;
8
15
  packageName: string;
@@ -10,10 +17,24 @@ export interface DocumentAssemblyInput {
10
17
  ids: XmaIdRegistry;
11
18
  schemeBuilds: Map<string, SchemeBuild>;
12
19
  folders: readonly ArchiFolder[];
13
- view: ArchiView | null;
14
- viewResult: ViewBuildResult | null;
15
- /** The `MM_Diagram:MM_Diagram` built by `graphical-writer`, when a view is present. */
16
- graphicalDiagramXml: XmlElement | null;
20
+ /**
21
+ * Every view in the model, already built. Confirmed against
22
+ * tests/fixtures/sabsa (38 views) and tests/fixtures/agile-manifesto (3
23
+ * views): all views nest as siblings inside one shared `AbstractViews`
24
+ * container, while each gets its own separate `GraphicalModule` (with its
25
+ * own `MM_Diagram` and its own `Any/Objectref` pointing back to its
26
+ * `AllView`) — see tests/fixtures/README.md for the full derivation.
27
+ */
28
+ views: readonly BuiltView[];
29
+ /**
30
+ * `Junction`/`OrJunction` elements — a root-level `<ArchiMate:Connectors>`
31
+ * container, a sibling of `AbstractSchemes` under `ArchiMateComponent`.
32
+ * Confirmed order relative to `rootRelationsXml`: `Relations` then
33
+ * `Connectors` (see tests/fixtures/README.md).
34
+ */
35
+ rootConnectorsXml: readonly XmlElement[];
36
+ /** Generic-form relations (`AssociationRelationship`, `Grouping`/`Junction` endpoints) — see relationship-writer.ts. */
37
+ rootRelationsXml: readonly XmlElement[];
17
38
  }
18
39
  export declare function buildXmaDocument(input: DocumentAssemblyInput): XmlElement;
19
40
  //# sourceMappingURL=document-writer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"document-writer.d.ts","sourceRoot":"","sources":["../../src/serializer/document-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAIvE,OAAO,EAAwB,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAoExD,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,aAAa,CAAC;IACnB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACvC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IAChC,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;IACnC,uFAAuF;IACvF,mBAAmB,EAAE,UAAU,GAAG,IAAI,CAAC;CACxC;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,UAAU,CA6GzE"}
1
+ {"version":3,"file":"document-writer.d.ts","sourceRoot":"","sources":["../../src/serializer/document-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAIvE,OAAO,EAAwB,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAoExD,qGAAqG;AACrG,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,UAAU,EAAE,eAAe,CAAC;IAC5B,6EAA6E;IAC7E,mBAAmB,EAAE,UAAU,CAAC;CACjC;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,aAAa,CAAC;IACnB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACvC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IAChC;;;;;;;OAOG;IACH,KAAK,EAAE,SAAS,SAAS,EAAE,CAAC;IAC5B;;;;;OAKG;IACH,iBAAiB,EAAE,SAAS,UAAU,EAAE,CAAC;IACzC,wHAAwH;IACxH,gBAAgB,EAAE,SAAS,UAAU,EAAE,CAAC;CACzC;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,UAAU,CAsHzE"}
@@ -56,7 +56,7 @@ function renderNestedScheme(build, ids) {
56
56
  return element(`ArchiMate:${build.tag}`, [['id', String(ids.fresh())]], children);
57
57
  }
58
58
  export function buildXmaDocument(input) {
59
- const { modelName, packageName, language, ids, schemeBuilds, folders, view, viewResult, graphicalDiagramXml } = input;
59
+ const { modelName, packageName, language, ids, schemeBuilds, folders, views, rootConnectorsXml, rootRelationsXml } = input;
60
60
  const emittedSchemeTags = new Set();
61
61
  const rootSchemesXml = ROOT_LEVEL_CATEGORIES.map((category) => renderRootScheme(schemeBuilds, ids, category, folders, language, emittedSchemeTags)).filter((el) => el !== null);
62
62
  const technologySchemeXml = renderNestedScheme(schemeBuilds.get(SCHEME_BY_CATEGORY.Technology.tag), ids);
@@ -71,20 +71,23 @@ export function buildXmaDocument(input) {
71
71
  element('ArchiMate:AbstractFolders', [['name', 'folders'], ['id', String(ids.fresh())]]),
72
72
  ]));
73
73
  }
74
- let allViewXmaId = null;
75
- if (view && viewResult) {
76
- allViewXmaId = ids.idFor(view.id);
77
- const allViewXml = element('ArchiMate:AllView', [['id', String(allViewXmaId)]], [
78
- buildProfileValues(language, view.name ?? '', view.documentation),
79
- ...(viewResult.viewGraphicsXml.length > 0
80
- ? [element('ArchiMate:ViewGraphics', [['name', 'viewGraphics'], ['id', String(ids.fresh())]], viewResult.viewGraphicsXml)]
81
- : []),
82
- element('ArchiMate:RefObjects', [['name', 'refObjects'], ['id', String(ids.fresh())]], viewResult.refObjectsXml),
83
- ]);
74
+ const allViewXmaIds = [];
75
+ if (views.length > 0) {
76
+ const allViewXmlEntries = views.map(({ view, viewResult }) => {
77
+ const allViewXmaId = ids.idFor(view.id);
78
+ allViewXmaIds.push(allViewXmaId);
79
+ return element('ArchiMate:AllView', [['id', String(allViewXmaId)]], [
80
+ buildProfileValues(language, view.name ?? '', view.documentation),
81
+ ...(viewResult.viewGraphicsXml.length > 0
82
+ ? [element('ArchiMate:ViewGraphics', [['name', 'viewGraphics'], ['id', String(ids.fresh())]], viewResult.viewGraphicsXml)]
83
+ : []),
84
+ element('ArchiMate:RefObjects', [['name', 'refObjects'], ['id', String(ids.fresh())]], viewResult.refObjectsXml),
85
+ ]);
86
+ });
84
87
  topLevelFolders.push(element('ArchiMate:AbstractFolder', [['id', String(ids.fresh())]], [
85
88
  textElement('nm', findFolderName(folders, VIEWS_FOLDER.archiFolderType, VIEWS_FOLDER.defaultLabel)),
86
89
  element('ArchiMate:AbstractSchemes', [['name', 'schemes'], ['id', String(ids.fresh())]]),
87
- element('ArchiMate:AbstractViews', [['name', 'views'], ['id', String(ids.fresh())]], [allViewXml]),
90
+ element('ArchiMate:AbstractViews', [['name', 'views'], ['id', String(ids.fresh())]], allViewXmlEntries),
88
91
  element('ArchiMate:AbstractFolders', [['name', 'folders'], ['id', String(ids.fresh())]]),
89
92
  ]));
90
93
  }
@@ -92,6 +95,12 @@ export function buildXmaDocument(input) {
92
95
  const archiMateComponent = element('ArchiMate:ArchiMateComponent', [['name', 'root'], ['id', String(ids.fresh())]], [
93
96
  modelNameProfile,
94
97
  element('ArchiMate:DomainDataSet', [['name', 'domainDataSet'], ['id', String(ids.fresh())]]),
98
+ ...(rootRelationsXml.length > 0
99
+ ? [element('ArchiMate:Relations', [['name', 'relations'], ['id', String(ids.fresh())]], [...rootRelationsXml])]
100
+ : []),
101
+ ...(rootConnectorsXml.length > 0
102
+ ? [element('ArchiMate:Connectors', [['name', 'connectors'], ['id', String(ids.fresh())]], [...rootConnectorsXml])]
103
+ : []),
95
104
  element('ArchiMate:AbstractCommandContainers', [['name', 'commandContainers'], ['id', String(ids.fresh())]]),
96
105
  element('ArchiMate:AbstractSchemes', [['name', 'schemes'], ['id', String(ids.fresh())]], rootSchemesXml),
97
106
  element('ArchiMate:AbstractViews', [['name', 'views'], ['id', String(ids.fresh())]]),
@@ -99,9 +108,9 @@ export function buildXmaDocument(input) {
99
108
  ]);
100
109
  const semanticModule = element('MM_ModelPackage:MM_Module', [['id', String(ids.fresh())], ['nm', 'SemanticModule'], ['metaModel', 'ArchiMate']], [archiMateComponent]);
101
110
  const modules = [semanticModule];
102
- if (graphicalDiagramXml && allViewXmaId !== null) {
103
- modules.push(element('MM_ModelPackage:MM_Module', [['id', String(ids.fresh())], ['nm', 'GraphicalModule'], ['metaModel', 'MM_Diagram']], [graphicalDiagramXml, element('Any', [['name', 'tag']], [element('Objectref', [['value', String(allViewXmaId)]])])]));
104
- }
111
+ views.forEach(({ graphicalDiagramXml }, index) => {
112
+ modules.push(element('MM_ModelPackage:MM_Module', [['id', String(ids.fresh())], ['nm', 'GraphicalModule'], ['metaModel', 'MM_Diagram']], [graphicalDiagramXml, element('Any', [['name', 'tag']], [element('Objectref', [['value', String(allViewXmaIds[index])]])])]));
113
+ });
105
114
  const archiMateMMModel = element('ArchiMate:ArchiMateMM_Model', [['id', String(ids.fresh())]], [
106
115
  buildProfileValues(language, modelName),
107
116
  element('MM_ModelPackage:MM_Modules', [['name', 'modules'], ['id', String(ids.fresh())]], modules),
@@ -1 +1 @@
1
- {"version":3,"file":"document-writer.js","sourceRoot":"","sources":["../../src/serializer/document-writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-writer.js","sourceRoot":"","sources":["../../src/serializer/document-writer.ts"],"names":[],"mappings":"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"}
@@ -3,15 +3,17 @@ import type { XmlElement } from '../infrastructure/xml-writer.js';
3
3
  import { XmaIdRegistry, type XmaIdAllocator } from '../infrastructure/id-allocator.js';
4
4
  import type { DiagnosticCollector } from '../diagnostics/diagnostics.js';
5
5
  import type { ElementMappingEntry } from '../mapping/element-mapping.js';
6
- import type { RelationshipMappingEntry } from '../mapping/relationship-mapping.js';
6
+ import type { ResolvedRelationshipMapping } from './relationship-writer.js';
7
7
  import type { ViewBuildResult } from './view-writer.js';
8
8
  export interface GraphicalModuleResult {
9
9
  diagramXml: XmlElement;
10
10
  }
11
11
  /**
12
- * Builds the `GraphicalModule`'s `MM_Diagram` for the single supported
13
- * view: a Canvas node wrapping one `MM_Node` per drawable diagram
14
- * object/group/note, and one `MM_DirectedRel` per drawable connection.
12
+ * Builds the `GraphicalModule`'s `MM_Diagram` for one view: a Canvas node
13
+ * wrapping one `MM_Node` per drawable diagram object/group/note (nested
14
+ * diagram objects recursively nested inside their parent's `MM_Node`, via
15
+ * `buildNodeTree` — see `tests/fixtures/README.md`, "Nested diagram
16
+ * objects"), and one `MM_DirectedRel` per drawable connection.
15
17
  *
16
18
  * `mm_fromx`/`mm_fromy`/`mm_tox`/`mm_toy` (manual connector anchor
17
19
  * metadata) are deliberately omitted — exactly one fixture exhibited them,
@@ -21,5 +23,5 @@ export interface GraphicalModuleResult {
21
23
  * required, add that behavior here, isolated from the rest of this
22
24
  * function.
23
25
  */
24
- export declare function buildGraphicalModule(model: ArchiModel, view: ArchiView, ids: XmaIdRegistry, refIds: XmaIdRegistry, allocator: XmaIdAllocator, mappedElements: ReadonlyMap<string, ElementMappingEntry>, mappedRelationships: ReadonlyMap<string, RelationshipMappingEntry>, viewResult: ViewBuildResult, diagnostics: DiagnosticCollector): GraphicalModuleResult;
26
+ export declare function buildGraphicalModule(model: ArchiModel, view: ArchiView, ids: XmaIdRegistry, refIds: XmaIdRegistry, allocator: XmaIdAllocator, mappedElements: ReadonlyMap<string, ElementMappingEntry>, mappedRelationships: ReadonlyMap<string, ResolvedRelationshipMapping>, viewResult: ViewBuildResult, diagnostics: DiagnosticCollector): GraphicalModuleResult;
25
27
  //# sourceMappingURL=graphical-writer.d.ts.map