12 KiB
Issue 28: bounded Scenario/participation assessment
2026-09-13; source inspected at c4a2cf63f1. Input is the preserved research attachment, specifically C3 and C5. This is a source/specification assessment, not a new execution, interoperability or native acceptance result. No code, compiler or Gitea messages were changed/sent. Parent owns publication and synthesis.
Assessment: C3's core participation identity and much of C5's consistency contract are already explicit in Studio. Treat the report as regression and interchange criteria; it does not demonstrate that replacing the current model is necessary. Concrete uncovered Capella mapping cases concern per-involvement/message item selection and constraint identity, plus generated-interface provenance.
Primary-source verification
- C3 is supported by pinned FunctionalAnalysis.ecore: distinct involvement records, chain references (1303), and reference-hierarchy paths (3567) distinguish repeated reuse. Involvement links separately carry an exchange-context Constraint reference and exchanged-item list (3380–3400); SequenceLink is a separate precedence construct (3420). These are source-level facts, not proof of a release's editing quality.
- The cited Arcadia SysML v2 mapping does leave involvement-trace identity, exchange context and chain references open at 210–212. That verifies incompleteness of this particular mapping, not an inability of SysML v2 to express the concepts. No new expressive-equivalence conclusion was researched here.
- C5 is supported by Interaction.ecore: message exchange-context reference, derived invoked operation, explicit exchanged items, and derived participant/function references. Scenario rules cover required/provided operation interfaces (DWF_DS_04), message-item subset (09), name-consistency warning (12), and scenario/exchange consistency (18/19). Do not equate their severity/profile with Studio's incomplete-authoring policy.
- DWF_I_23 is restricted to interfaces generated by the relevant accelerator. Its missing/unused test compares related architecture exchanges, not merely current scenario traffic. The report's caveat against rejecting deliberate unused services on every interface is justified.
Already represented
C3. The normative topology contract distinguishes architecture function/work IDs from stable contribution occurrence IDs. Repeated work/exchange use creates new occurrences, never duplicate engineering elements. Explicit SequenceLinks are separate from steps presentation order; the legacy exchange-only path has a separately stated implied-order rule. Qualified-link semantics distinguish owner + reference-occurrence path + leaf, separate Precedence, Exchange and CommonWork, and forbid CommonWork from fusing occurrences or inventing order. OccurrenceEndpoint/ContextualLinkPurpose and ContextAddress/TopologyIndex implement these identities. Retarget/delete/reidentify/Undo rules already exist at language.rst610–618. Existing nested repeated-reference tests and assembly-purpose tests directly address much of C3; this review did not rerun them.
C5. Messages reference exchange, lifelines, exact reply_to, typed field paths and optional exact InterfaceItemAllocation selection. Ordinary channel intent and unresolved operation intent differ. Operation contract requires actual concrete caller/provider ports and compatible interfaces exposing the exact allocation; Replies derive the exact Call's operation, not a similarly named item. Operation resolver checks item/channel/lifeline direction, actual interface roles and protocols. Endpoint resolution and signature/value validation enforce relevant architecture/path/phase checks. Deleting an allocation either refuses unresolved independent channel damage or preserves explicit unresolved intent and live values; it never silently chooses another allocation. Existing allocation-delete/channel tests, parameterless-operation tests (606), retained-value tests (712), and Reply-signature tests (781) are reusable evidence targets.
Concrete gaps and boundaries
- Lossless Capella involvement/message mapping is not established. Studio's closed OccurrenceBody and link bodies have no corresponding explicit exchanged-items subset or exchangeContext Constraint-ID slot. MessageValue identifies addressed fields; it cannot distinguish two fieldless ordinary Event items carried by the same exchange. Selected OperationUse resolves parameterless operations, but is not a general event/item selector. Free-text descriptions/preconditions can retain prose, not the missing reference identity. Any importer must declare a mapping, opaque preservation or unsupported loss; no schema addition is selected here.
- Generated-interface policy/provenance is absent from the inspected interface shape. Interface stores supertype; identified item allocations store target/order/protocols (1069), without a dedicated generation-origin/policy record. Existing migration reports containing generated allocations are not ongoing accelerator provenance. Do not introduce a global “unused service” error to imitate DWF_I_23. A future accelerator needs its own explicit provenance and reconciliation acceptance.
- Paint membership is not impact analysis. Diagram usages intentionally reports operation fields only when painted. Hidden/truncated operation references must still appear in semantic validation/dependency impact; absence from diagram usages is not proof that an interface edit has no dependents. Current located operation diagnostics provide a foundation, but an end-to-end affected-message review workflow is not established by this source read.
- Current coverage is not a permanent scope exclusion. The current scope document records descriptive guards/no execution engine and incomplete Capella communication/scenario coverage (64). Those are implementation/profile facts; they must not narrow the user’s current feature-complete OA/SA and most-ARCADIA goal. Missing item-selection, exchange-context and generated-interface provenance concepts remain candidate goal gaps requiring explicit acceptance/mapping and priority decisions. Issue #28 invites that evaluation; it does not automatically adopt a SysML v2 foundation or require a whole-metamodel replacement. Runtime semantics and other broader mechanisms need the same user-goal assessment, rather than dismissal solely because an older release profile omitted them. Saved spacing remains presentation data and must not change contribution identity or shared semantic order. This assessment distinguishes current absence from any accepted permanent exclusion.
Four actionable fixtures
- Reuse/isolation regression: one DetectObstacle work definition, separate normal/emergency contributions, and two references R1/R2 to an inner chain. Rename the definition, edit only emergency precedence, and connect X to R1.B. Assert one work identity, independent occurrence/path identities, unchanged R2/callee topology, exact source/JSON roundtrip and one-step Undo. Reuse source7_contract148/235/929 instead of duplicating their low-level checks.
- Interface-edit regression: SA BoundaryInterface Call+Reply selects allocation A; allocation B carries the same item. Remove A with appropriate channel repair. Assert exact Call and Reply IDs survive, operation becomes explicitly unresolved rather than B, live expressions survive, located warnings identify affected occurrences, and Undo restores complete source. A batch omitting separate Reply-channel repair must refuse atomically. Include a deliberately unused designed service as a valid control.
- Payload/direction regression: Call supplies In and Reply supplies Return through the exact selected operation, including nested record paths. Reverse concrete endpoint roles or change the selected signature; incompatible fields/phases must be rejected or explicitly unresolved per the existing contract, without dropped expressions. A clipped operation label must not hide the semantic validation finding.
- Interchange falsifier, not current admission test: Capella involvement/message selects Event E1 from channel {E1,E2}, both fieldless, and references Constraint C; a generated interface records accelerator origin. Require declared exact/opaque/unsupported preservation with IDs and a loss report. Current Studio cannot be called lossless merely because exchange endpoints and names roundtrip. Do not implement the broader model until this fixture establishes the required preservation contract.