Checkpoint source 7 workflows and in-progress diagram authoring redesign
Rust checks / check (ubuntu-latest) (push) Canceled after 0s
Rust checks / check (windows-latest) (push) Canceled after 0s

Preserve current core, source, REST, desktop, recovery, documentation and validation work, including AGENTS.md and the development summary. This is a work-in-progress checkpoint: the new compact palette has outstanding compilation errors and native acceptance; earlier passing gates retain their documented scope.
This commit is contained in:
Codex
2026-09-10 10:06:55 -07:00
parent 4b6b5fc197
commit e2ecfea69b
162 changed files with 17595 additions and 926 deletions
+56
View File
@@ -0,0 +1,56 @@
# Basic editing native contract
Status: standalone `-D warnings` compilation, self-check, generation and exact baseline check passed on 2026-09-07. Native execution remains pending. This fixture does not establish acceptance by itself.
`harness/basic-editing-contract.rs` owns an independent UUID namespace. It generates six seed elements and four views, with **none** of the Entity/Actor/new Activity/counterpart the operator must create. The first view UUID is a valid SA StateMachine view with an actual machine, region and state; the next is SA Capabilities. The desired OA and SA Allocation views follow. Capabilities legitimately admits SystemActor, but is an unchosen nonpreferred view; the state view is the strong incompatible-destination counterexample. The unplaced OA Activity **Report status**, unrelated OA capability and SA function distinguish context filtering from global browsing. A second source retains a Unicode comment and CRLF bytes.
Build the standalone checker only after the root grants a brief direct-rustc lease; it does not write Cargo outputs. Use the currently verified matching `oa_core` and `serde_json` rlibs, the toolchain's clang linker, `--edition 2024 -D warnings`, and output `.local/native-qa/basic-editing-contract.exe`. Then:
```powershell
. .local/toolchain/env.ps1
.local/native-qa/basic-editing-contract.exe self-check
.local/native-qa/basic-editing-contract.exe generate harness/fixtures/basic-editing/base
.local/native-qa/basic-editing-contract.exe check baseline harness/fixtures/basic-editing/base/project.arcadia
```
Generation refuses an existing directory. Copy the **whole** generated base directory into a fresh native working directory. Preserve the base and all measured Save checkpoints. Do not edit an expected payload to match observed output.
## Minimal native sequence
Use the **Operational rescue architecture** view at 1100 × 700. Set 100% and note the camera and canvas origin. The selected redesign uses a **36 px contextual side palette**, explicitly expandable to **156 px**, with tooltips and selected-tool feedback. Entity, Actor, Activity and applicable connections belong here; advanced general inventory remains available elsewhere. Only explicitly expanding/collapsing the palette may resize the canvas. Arming a tool, choosing a point, editing a name, validation, commit and cancellation must retain its origin and camera. This interaction contract follows [the native benchmark and redesign decision](../../release-capella-basic-editing-20260907.md); it does not imply the new executable has passed.
1. Choose **Entity** in the palette, click the intended canvas point, type **Rescue team** in the in-place name editor and press **Enter**. No placeholder element is accepted before Enter. Observe the clicked position and stable origin through all four phases. Set its placement properties to **x=120, y=120** for the exact persisted oracle. Save a copy; `check entity ENTRY` must pass. Undo creation before changing properties, or capture the exact command boundary separately: creation itself must be one model+placement undo. A second cancelled creation must add nothing.
2. Choose **Actor**, click a blank canvas point, name **Control centre**, Enter; then use ordinary **Activity** creation for **Assess incident**, in that order. After each creation, explicitly set placement coordinates respectively **680,120** and **160,300**. These are ordinary root creations and remain unallocated. Do **not** use the participant's contextual **Add activity** in this oracle sequence: that separate action intentionally creates work plus an Allocation atomically and is covered by the supplementary matrix below.
3. Use Add existing from this view; find **Report status** by name/alias. The SA function and OA capability must not appear as suggested compatible choices. Place the existing Activity and set its placement to **680,300**. Its seeded identity `b451c000-0000-4000-8000-00000000001e` must remain unchanged. Showing already placed entries must offer Locate instead of a duplicate placement.
4. Explicitly create Allocation **Rescue team → Assess incident**, naming it **Performs** in the relationship form. Choose **Interaction** from the same contextual palette and draw **Assess incident → Report status**; retain its generated engineering name **Interaction: Assess incident → Report status**. Then select the Activity, press **F2**, enter **Assess rescue incident** in place and press **Enter**; its original alias and the authored Interaction name remain unchanged. Save; `check basic ENTRY` must pass.
5. Select **Rescue team**, create its SA counterpart, explicitly choose **SystemActor**, **Selected only**, and destination **System rescue architecture**. Apply must reveal this Allocation view, select the resulting **Rescue team** SystemActor and retain a typed trace. Both decoy views remain byte-for-byte unchanged. Save; `check transition ENTRY` must pass. The core's explicit destination placement starts at **60,60**, size **224×94**; no observed geometry is imported into the prediction.
6. Undo the whole transition and Save: `check basic ENTRY`. Redo and Save: `check transition ENTRY`. Reopen that entry and run the same check. Reopening counterpart creation should expose the existing counterpart, not silently create a duplicate.
Run one meaningful move at 100% and one with pan/zoom, restoring the declared coordinates before the final oracle. Check one rejected raw property or creation draft: typing Delete/arrows must stay inside its focused text field; attempted unrelated selection/action must retain its raw text and a reachable correction/cancel route. These camera, focus and click-position observations are separate native evidence, not implied by saved JSON.
## Supplementary redesign acceptance
Run these on fresh copies or restore the preserved main-sequence state afterwards. The existing checker remains unchanged. **Supplementary accepted model changes need their own independently prepared expected model and source bundle before any exact-data claim.** UI observations and before/after byte equality for a cancelled action are narrower evidence; they do not prove a new model-producing workflow.
| Case | Native action and observable result | Exact-data boundary |
| --- | --- | --- |
| F2 and keyboard focus | Select an existing node, F2, edit its label, Enter; one rename undo. Repeat F2 with a long name, arrow/Delete editing and Escape; original label retained, no canvas deletion or movement. | Main step 4 covers the declared Activity rename. Additional committed names require a separate expected edit; cancellation must retain the prior model and source bytes. |
| Escape before and after point | Arm Entity then Escape before clicking; separately arm, click, type a partial name and Escape. Neither accepts a placeholder or placement; Select/move becomes reachable. | Compare each cancelled case with its complete pre-case bundle. No new expected object is allowed. |
| Explicit allocated work | On OA Entity/Actor choose **Add activity**; on SA System/SystemActor choose **Add function**. The editor names the performer; Enter creates root work, its graphical presence and an explicit Allocation as one undoable action. Compare with ordinary palette work creation, which stays unallocated. | These participant actions are **not** represented by the existing `basic` oracle. Prepare independent expected identities, relation metadata and placement policy before claiming exact Save/Undo/Redo. Do not silently substitute them for step 2. |
| Fixed canvas origin | At wide size and 1100 × 700, record canvas origin at idle, tool armed, point chosen, name edited/rejected, Enter and Escape. Repeat with the palette held at 36 px and at 156 px; only its explicit width toggle may resize the canvas. | Visual/pointer evidence must establish stable origin and clicked position. Existing final world coordinates stay literal; do not adjust them from observed rendering. |
| Long names and edge placement | Choose a point near each relevant canvas edge, type a long name and inspect editor clamping, readable text, Enter/Escape and access to the chosen point. | Cancellation compares against the pre-case bundle. Committed extra objects require a separate expected model, not the current fixture oracle. |
| Draft recovery | Before Enter, preserve a checkpoint with exact raw name, chosen point and intended tool; recover and inspect the reconstructed in-place editor. Also cover a pending F2 rename and explicit allocated-work draft if implemented. Recovery must not accept a placeholder or execute the pending command. | Independently specify/compare the full pending draft and accepted baseline first. A subsequent committed rename or allocated-work recovery requires its own expected model/source; no such supplementary recovery pass is claimed here. |
## What equality proves
The checker reads new UUIDv4 identities only through exact literal kind/layer/name, relationship endpoint, placement diagram+element and OA/SA trace roles. Each role must be unique, fresh relative to the fixture and distinct from every other role. It constructs every other field through typed core commands, independently fixed names/coordinates/default sizes and an explicit core transition request. The complete Project **and** complete two-file SourceBundle must match, including unused seed records, all placements, aliases, trace baseline, source ordering and included comment bytes. Final equality also rejects any unclaimed extra object or UUID.
No geometry is normalized. Explicit final placement properties make the full persisted comparison reproducible without pretending that coordinates copied from the actual model prove a correct click transform. Separate visual evidence must establish the original clicked spot and stable camera. Save/Undo/Redo checks must preserve distinct copies; checking only the final state does not prove history.
## Frozen seams / review boundaries
The existing oracle pins ordinary root creation: raw name retained exactly, whitespace-only refused, core `make_element` alias, parent `None`, one CreateElement+default CreateNode batch, no insertion layout or implied allocation, exact world point and stable camera. The redesign changes its interaction order to tool → point → in-place name → Enter, not these expected records. Its additional explicit participant Add activity/function action has a separate atomic-allocation contract and must not alter this oracle's ordinary-creation expectations. Existing placement adds only a node. The transition oracle requires the explicit core destination request, not first-UUID fallback. No native pass for the redesign is claimed here.
The self-check supplies deliberately false role-carrier geometry/metadata, verifies the oracle does not adopt it, verifies complete basic and transition source fixed points, rejects an unrelated metadata edit, and checks the actual incompatible state-view counterexample. It also pins the legitimate Capabilities participant admission rather than weakening the core to match an incorrect test assumption. A native placement alias collision uses the UUID-derived suffix predicted from the proven new placement identity; the observed alias is never copied.
Final compilation took 6.691 seconds. Checker SHA256: `EFB96BD5C96F4346474F9DDFA053C53584D5F75E984258E9B8F48DB4837D3FBA`; harness source SHA256: `9AB6C2D0CDED28A7F94A24F01D5E91709BCCE5D6B648C188DA62A7EB66D890F8`. `manifest.json` pins all three generated baseline files. Logs: `.local/native-qa/basic-editing-contract-build5.log` and `basic-editing-contract-selfcheck5.log`; earlier failed attempts remain preserved (missing explicit imports, missing seed Region, temporary-UUID alias collision and the incorrect Capabilities-refusal expectation were harness-only corrections).
@@ -0,0 +1,167 @@
{
"schema_version": 7,
"id": "b451c000-0000-4000-8000-000000000001",
"alias": "basic_editing",
"name": "Basic rescue architecture",
"description": "",
"elements": {
"b451c000-0000-4000-8000-000000000014": {
"id": "b451c000-0000-4000-8000-000000000014",
"alias": "basic_20",
"name": "Decoy operating modes",
"description": "",
"parent": null,
"body": {
"Sa": {
"Shared": "StateMachine"
}
}
},
"b451c000-0000-4000-8000-000000000015": {
"id": "b451c000-0000-4000-8000-000000000015",
"alias": "basic_21",
"name": "Standby",
"description": "",
"parent": "b451c000-0000-4000-8000-000000000016",
"body": {
"Sa": {
"Shared": {
"State": {
"kind": "State",
"entry": "",
"exit": "",
"do_activity": ""
}
}
}
}
},
"b451c000-0000-4000-8000-000000000016": {
"id": "b451c000-0000-4000-8000-000000000016",
"alias": "basic_22",
"name": "Main",
"description": "",
"parent": "b451c000-0000-4000-8000-000000000014",
"body": {
"Sa": {
"Shared": "Region"
}
}
},
"b451c000-0000-4000-8000-00000000001e": {
"id": "b451c000-0000-4000-8000-00000000001e",
"alias": "basic_30",
"name": "Report status",
"description": "",
"parent": null,
"body": {
"Oa": "Activity"
}
},
"b451c000-0000-4000-8000-00000000001f": {
"id": "b451c000-0000-4000-8000-00000000001f",
"alias": "basic_31",
"name": "Rescue capability",
"description": "",
"parent": null,
"body": {
"Oa": "Capability"
}
},
"b451c000-0000-4000-8000-000000000020": {
"id": "b451c000-0000-4000-8000-000000000020",
"alias": "basic_32",
"name": "Unrelated function",
"description": "",
"parent": null,
"body": {
"Sa": "Function"
}
}
},
"relations": {},
"diagrams": {
"b451c000-0000-4000-8000-000000000002": {
"id": "b451c000-0000-4000-8000-000000000002",
"alias": "basic_view_2",
"name": "A · Operating modes (not an architecture destination)",
"description": "",
"layer": "Sa",
"projection": {
"StateMachine": {
"machine": "b451c000-0000-4000-8000-000000000014"
}
},
"view_options": {
"hidden_edges": [],
"relation_kinds": "All",
"work_categories": "All",
"participant_categories": "All",
"coverage": "All",
"work_contexts": "All",
"exchange_labels": "Name"
},
"nodes": {},
"routes": []
},
"b451c000-0000-4000-8000-000000000003": {
"id": "b451c000-0000-4000-8000-000000000003",
"alias": "basic_view_3",
"name": "B · Capabilities (not an allocation view)",
"description": "",
"layer": "Sa",
"projection": "Capabilities",
"view_options": {
"hidden_edges": [],
"relation_kinds": "All",
"work_categories": "All",
"participant_categories": "All",
"coverage": "All",
"work_contexts": "All",
"exchange_labels": "Name"
},
"nodes": {},
"routes": []
},
"b451c000-0000-4000-8000-000000000004": {
"id": "b451c000-0000-4000-8000-000000000004",
"alias": "basic_view_4",
"name": "Operational rescue architecture",
"description": "",
"layer": "Oa",
"projection": "Allocation",
"view_options": {
"hidden_edges": [],
"relation_kinds": "All",
"work_categories": "All",
"participant_categories": "All",
"coverage": "All",
"work_contexts": "All",
"exchange_labels": "Name"
},
"nodes": {},
"routes": []
},
"b451c000-0000-4000-8000-000000000005": {
"id": "b451c000-0000-4000-8000-000000000005",
"alias": "basic_view_5",
"name": "System rescue architecture",
"description": "",
"layer": "Sa",
"projection": "Allocation",
"view_options": {
"hidden_edges": [],
"relation_kinds": "All",
"work_categories": "All",
"participant_categories": "All",
"coverage": "All",
"work_contexts": "All",
"exchange_labels": "Name"
},
"nodes": {},
"routes": []
}
},
"artifact_links": {},
"traces": {}
}
@@ -0,0 +1,108 @@
arcadia 7;
project basic_editing "Basic rescue architecture" id "b451c000-0000-4000-8000-000000000001" {
include "rationale.arcadia";
description "";
sa_state_machine basic_20 "Decoy operating modes" id "b451c000-0000-4000-8000-000000000014" {
description "";
parent none;
}
sa_state basic_21 "Standby" id "b451c000-0000-4000-8000-000000000015" {
description "";
do_activity "";
entry "";
exit "";
kind State;
parent @basic_22;
}
sa_region basic_22 "Main" id "b451c000-0000-4000-8000-000000000016" {
description "";
parent @basic_20;
}
oa_activity basic_30 "Report status" id "b451c000-0000-4000-8000-00000000001e" {
description "";
parent none;
}
oa_capability basic_31 "Rescue capability" id "b451c000-0000-4000-8000-00000000001f" {
description "";
parent none;
}
sa_function basic_32 "Unrelated function" id "b451c000-0000-4000-8000-000000000020" {
description "";
parent none;
}
diagram basic_view_2 "A · Operating modes (not an architecture destination)" id "b451c000-0000-4000-8000-000000000002" {
description "";
layer Sa;
projection {
StateMachine {
machine @basic_20;
};
};
routes [];
view_options {
coverage "All";
exchange_labels "Name";
hidden_edges [];
participant_categories "All";
relation_kinds "All";
work_categories "All";
work_contexts "All";
};
}
diagram basic_view_3 "B · Capabilities (not an allocation view)" id "b451c000-0000-4000-8000-000000000003" {
description "";
layer Sa;
projection Capabilities;
routes [];
view_options {
coverage "All";
exchange_labels "Name";
hidden_edges [];
participant_categories "All";
relation_kinds "All";
work_categories "All";
work_contexts "All";
};
}
diagram basic_view_4 "Operational rescue architecture" id "b451c000-0000-4000-8000-000000000004" {
description "";
layer Oa;
projection Allocation;
routes [];
view_options {
coverage "All";
exchange_labels "Name";
hidden_edges [];
participant_categories "All";
relation_kinds "All";
work_categories "All";
work_contexts "All";
};
}
diagram basic_view_5 "System rescue architecture" id "b451c000-0000-4000-8000-000000000005" {
description "";
layer Sa;
projection Allocation;
routes [];
view_options {
coverage "All";
exchange_labels "Name";
hidden_edges [];
participant_categories "All";
relation_kinds "All";
work_categories "All";
work_contexts "All";
};
}
}
@@ -0,0 +1 @@
// Preserve this included engineering note: rescue 雨.
@@ -0,0 +1,17 @@
[
{
"path": "expected-baseline.json",
"bytes": 4524,
"sha256": "F239E728D650B0AF32BB8F3DCAF6B27C99B9C5041132AC14E51756EA6563D978"
},
{
"path": "project.arcadia",
"bytes": 3077,
"sha256": "045CB047D7BFBCA72C3FB30DB4C81A30AD463D3AF7FC51604906AD7FA75A1FF8"
},
{
"path": "rationale.arcadia",
"bytes": 57,
"sha256": "C01867C9DC0D40726853119FAC3C6AD24A40D8D362A93A8B9D20DF04EC2E273F"
}
]
+115
View File
@@ -0,0 +1,115 @@
# Source7 native acceptance fixture
This is the frozen baseline for separately scoped native cases. Current passes
and remaining rendering/workflow gates are recorded in the
[native acceptance report](../../release-source7-native-acceptance-20260907.md);
fixture generation alone is not native acceptance. `base/project.arcadia` and its included
`rationale.arcadia` contain43elements and9relations: OA and SA callers each reuse
an A→B→C procedure twice and through one nested wrapper. A direct X contribution
allows a caller link specifically into B. The SA boundary has two parameterless
operations and a correlated Reply. All identities are deterministic.
Copy the complete `base` directory into a fresh working directory per case. Keep
the baseline unchanged. `harness/source7-native-contract.rs` generates it and
checks actual saved results against an independently constructed complete model
and source update. It refuses migration, UUID stabilization or whitespace
normalization. Current exact baseline generation and comparison passed against
the source7 core; this does not constitute UI acceptance.
Cases for the actual compiled desktop:
- `operation-reset`: edit the first existing Call (`@operation_probe_43`) to
select Reset's exact allocation (`@operation_probe_30`). Reply remains
independently identified and derives this Call's operation. No new model
records are expected.
- `operation-status`: on a separate baseline copy, select ReadStatus's allocation
(`@operation_probe_31`) on the same Call. Its authored message name is retained.
- `oa-link` / `sa-link`: in the appropriate `@oa_caller` / `@sa_caller`, create
one contextual Precedence from direct `@oa_x` / `@sa_x` into B through the first
reference R1. Enter name `First assessment gate` and guard `Check accepted`.
Repeated reference R2 and the procedure definition must remain unchanged.
- `oa-nested` / `sa-nested`: target B through R3 and its Inner assessment reference.
The exact two-component instance path is required.
- `baseline`: Undo the one accepted edit, save, and compare all model/source
bytes. Redo and saved reopen must return the same accepted identity and fields.
For creation checks, exactly one newly allocated v4 relation UUID is permitted.
Only that fresh nonce is read from the native result; every authored field,
alias, owner, path, purpose, dependency and complete source update is predicted.
No existing identity or unrelated record is excluded from comparison. Preserve
the accepted files/hashes to prove that Redo/reopen retain this allocated UUID.
Build the checker using the current source7 core library and matching serde_json
library, then run `CHECKER generate NEW_DIRECTORY` or
`CHECKER check MODE WORKING_DIRECTORY/project.arcadia`. Source6 teaching and
historical recovery oracles remain in their separate fixture directories.
## Additional purpose cases: validated oracles, native pending
New source in `harness/source7-native-contract.rs` adds two independent incidence
oracles. Direct-rustc `-D warnings` compilation passed in4.05s during a coordinated
brief lease; both purpose self-checks passed. Existing base bytes and its manifest
remain unchanged. Native purpose authoring/history is not yet accepted.
Validated checker: `.local/native-qa/source7-native-contract-incidence.exe`, SHA256
`16994DC437F5CCC5E5F6FBB4212C03449F2389AE4615FA98B2930B3637468EE3`.
The original checker remains unchanged at SHA256
`4AC615A099F23A78F111BAD3966A3CCB808FCA1C5FC46FBAC9A947508A568600`.
Logs: `.local/native-qa/source7-incidence-{build,selfcheck,generation}.log`.
Generated separate fixture `.local/native-qa/source7-incidence-base` passed the
complete baseline check; entry SHA256
`77C26FD2DD71514AB89C0FA71113825AC8F3DBD8F71A56EFAE8E5430C92D99B8`.
Regenerated original baseline matched all three manifest hashes; preserved native
OA-link and operation-Reset accepted cases also passed the extended checker.
To reproduce, build the checker against matching current core/serde libraries, preserving the
old checker executable, and first run `CHECKER verify-incidence-contract`. This
constructs expected typed commands, proves complete core analysis with exactly
one assembly record and unchanged precedence/entries/exits, checks invalid
direction/work counterfactuals, and checks stable source updates. Native check
modes predict the entire Project and two-file source bundle; only the new link's
v4 nonce is taken from actual output, never its name, endpoints, purpose or evidence.
### OA Exchange assembly
Run `CHECKER generate-incidence NEW_DIRECTORY`; this separate deterministic variant
adds one Interaction, `@oa_assessment_handoff`, **Assessment handoff X to B**,
from `@oa_work_x` to `@oa_work_b`. It contains43elements/10relations/two sources.
Do not replace `base` with this variant. Check the clean copy with
`CHECKER check incidence-baseline NEW_DIRECTORY/project.arcadia`.
In OA caller, choose **Tools → Qualified link / assembly…**. Set source to direct
X (`[]/oa_x`); Choose target → Enter First assessment → B (`[oa_r1]/oa_b`). Enter
name **Caller assessment handoff**. Choose **Exchange assembly** and first leave
evidence empty: Apply must refuse. Then select the exact **Assessment handoff X to B**
Interaction; Apply should become available. Apply once and Save a fresh copy.
Run `CHECKER check oa-exchange-assembly SAVED/project.arcadia`. Undo/Save uses
`incidence-baseline`; Redo/Save uses `oa-exchange-assembly` and must preserve the
same accepted UUID/bytes. The link is incidence: no precedence arrow/guard or
merged execution is inferred. Core proof checks its exchange contributes to this
caller’s behavior coverage, not the shared procedure’s global coverage. The
reversed contextual endpoint counterfactual must be rejected; deleting the
evidence exchange removes its dependent incidence link (automated oracle only).
### SA Common work incidence
Use a fresh copy of the original unchanged `base`, not the exchange variant.
In SA caller, choose **Tools → Qualified link / assembly…**. For source Enter
First assessment → B (`[sa_r1]/sa_b`); for target return Root then Enter Second
assessment → B (`[sa_r2]/sa_b`). Enter name **Shared assessment work** and select
**Common work incidence**. Choosing **X · Check authorization** (`@sa_work_x`)
as evidence must reject; repair to exact **B · Review assessment** (`@sa_work_b`).
Both full reference paths must remain distinct while the shared work identity is
the same. Apply once and Save a fresh copy.
Run `CHECKER check sa-common-work SAVED/project.arcadia`. Undo/Save uses `baseline`;
Redo/Save uses `sa-common-work` and exact accepted UUID/byte comparison. This records
shared identity; it neither fuses the two occurrences nor creates execution order.
The complete-model oracle rejects renamed/duplicated work, collapsed instance
paths, wrong evidence or unrelated record changes.
After compiling, also regenerate original `generate` into a fresh scratch folder
and compare its three hashes with the existing manifest, then rerun a preserved
old accepted case. These checks establish that extending the checker did not alter
the already-measured baseline or existing expected results.
@@ -0,0 +1,936 @@
{
"schema_version": 7,
"id": "52060906-0000-4000-8000-000000000001",
"alias": "source7_native_contract",
"name": "Reusable procedures and operation identity",
"description": "",
"elements": {
"071edc32-5c27-5c1d-91ff-337c80b462d5": {
"id": "071edc32-5c27-5c1d-91ff-337c80b462d5",
"alias": "sa_work_a",
"name": "A · Begin assessment",
"description": "",
"parent": null,
"body": {
"Sa": "Function"
}
},
"08ff2083-dac1-5f4b-ad6a-7cc81d7be29d": {
"id": "08ff2083-dac1-5f4b-ad6a-7cc81d7be29d",
"alias": "oa_x",
"name": "X · Check authorization",
"description": "",
"parent": "2100ac23-79ee-54e1-b3cf-69f3d4f3b30a",
"body": {
"Oa": {
"Shared": {
"Occurrence": {
"body": {
"Action": {
"action": "e78d841a-a37e-5106-8356-b1e3ce6d2501",
"lifeline": null
}
},
"precondition": "",
"postcondition": ""
}
}
}
}
},
"14d1133a-697d-5b54-b624-eed0fb04a354": {
"id": "14d1133a-697d-5b54-b624-eed0fb04a354",
"alias": "sa_a",
"name": "A · Begin assessment",
"description": "",
"parent": "c1d4eda2-fac7-5621-a7ac-25f985911bf5",
"body": {
"Sa": {
"Shared": {
"Occurrence": {
"body": {
"Action": {
"action": "071edc32-5c27-5c1d-91ff-337c80b462d5",
"lifeline": null
}
},
"precondition": "",
"postcondition": ""
}
}
}
}
},
"1a215aed-f0b1-521d-b52f-0c1cfbbf1c36": {
"id": "1a215aed-f0b1-521d-b52f-0c1cfbbf1c36",
"alias": "sa_c",
"name": "C · Finish assessment",
"description": "",
"parent": "c1d4eda2-fac7-5621-a7ac-25f985911bf5",
"body": {
"Sa": {
"Shared": {
"Occurrence": {
"body": {
"Action": {
"action": "6575bce8-4185-519b-a004-d96650da63dc",
"lifeline": null
}
},
"precondition": "",
"postcondition": ""
}
}
}
}
},
"1e27be58-3e3e-5869-ad30-e94a28ea2a2e": {
"id": "1e27be58-3e3e-5869-ad30-e94a28ea2a2e",
"alias": "oa_r2",
"name": "Second assessment",
"description": "",
"parent": "2100ac23-79ee-54e1-b3cf-69f3d4f3b30a",
"body": {
"Oa": {
"Shared": {
"Occurrence": {
"body": {
"SequenceReference": {
"sequence": "af139b27-7e42-5729-9e49-53b2ac62c9e7"
}
},
"precondition": "",
"postcondition": ""
}
}
}
}
},
"2100ac23-79ee-54e1-b3cf-69f3d4f3b30a": {
"id": "2100ac23-79ee-54e1-b3cf-69f3d4f3b30a",
"alias": "oa_caller",
"name": "Caller with three assessments",
"description": "",
"parent": null,
"body": {
"Oa": {
"Process": {
"steps": [
"08ff2083-dac1-5f4b-ad6a-7cc81d7be29d",
"d48951ad-c6db-5eae-923a-edccab97155e",
"1e27be58-3e3e-5869-ad30-e94a28ea2a2e",
"fc986c5c-eae7-5363-bcd5-b832d565a89a"
]
}
}
}
},
"25fdfe13-c45d-5822-830a-192ff13f660d": {
"id": "25fdfe13-c45d-5822-830a-192ff13f660d",
"alias": "oa_work_a",
"name": "A · Begin assessment",
"description": "",
"parent": null,
"body": {
"Oa": "Activity"
}
},
"273d8df8-83c8-5d75-99d1-59a7c9fdb705": {
"id": "273d8df8-83c8-5d75-99d1-59a7c9fdb705",
"alias": "oa_nested_definition",
"name": "Nested assessment wrapper",
"description": "",
"parent": null,
"body": {
"Oa": {
"Process": {
"steps": [
"e16033cd-3184-56ef-b462-5559ad212c84"
]
}
}
}
},
"3360ccb1-68ac-51cd-8d9a-8893000c80ef": {
"id": "3360ccb1-68ac-51cd-8d9a-8893000c80ef",
"alias": "sa_work_b",
"name": "B · Review assessment",
"description": "",
"parent": null,
"body": {
"Sa": "Function"
}
},
"47335738-0876-5f90-b25e-1636c7448e93": {
"id": "47335738-0876-5f90-b25e-1636c7448e93",
"alias": "oa_work_c",
"name": "C · Finish assessment",
"description": "",
"parent": null,
"body": {
"Oa": "Activity"
}
},
"4a65dad8-e2a1-51dc-87a0-02ea4ab69384": {
"id": "4a65dad8-e2a1-51dc-87a0-02ea4ab69384",
"alias": "sa_r3",
"name": "Nested assessment",
"description": "",
"parent": "d4911fd0-52ed-535c-9f87-170e8f5731d2",
"body": {
"Sa": {
"Shared": {
"Occurrence": {
"body": {
"SequenceReference": {
"sequence": "7932ab3a-6b60-5059-a3a0-fca3a2f9a197"
}
},
"precondition": "",
"postcondition": ""
}
}
}
}
},
"52060906-0000-4000-8000-00000000000a": {
"id": "52060906-0000-4000-8000-00000000000a",
"alias": "operation_probe_10",
"name": "Operator console",
"description": "",
"parent": null,
"body": {
"Sa": "Actor"
}
},
"52060906-0000-4000-8000-00000000000b": {
"id": "52060906-0000-4000-8000-00000000000b",
"alias": "operation_probe_11",
"name": "Valve service",
"description": "",
"parent": null,
"body": {
"Sa": "System"
}
},
"52060906-0000-4000-8000-00000000000c": {
"id": "52060906-0000-4000-8000-00000000000c",
"alias": "operation_probe_12",
"name": "Service socket",
"description": "",
"parent": "52060906-0000-4000-8000-00000000000a",
"body": {
"Sa": {
"Shared": {
"Port": {
"contract": {
"Component": {
"kind": "Standard",
"orientation": "Unset"
}
},
"legacy": null
}
}
}
}
},
"52060906-0000-4000-8000-00000000000d": {
"id": "52060906-0000-4000-8000-00000000000d",
"alias": "operation_probe_13",
"name": "Service socket",
"description": "",
"parent": "52060906-0000-4000-8000-00000000000b",
"body": {
"Sa": {
"Shared": {
"Port": {
"contract": {
"Component": {
"kind": "Standard",
"orientation": "Unset"
}
},
"legacy": null
}
}
}
}
},
"52060906-0000-4000-8000-000000000014": {
"id": "52060906-0000-4000-8000-000000000014",
"alias": "operation_probe_20",
"name": "Reset",
"description": "",
"parent": null,
"body": {
"Sa": {
"Shared": {
"ExchangeItem": {
"kind": "Information",
"mechanism": "Operation",
"supertype": null
}
}
}
}
},
"52060906-0000-4000-8000-000000000015": {
"id": "52060906-0000-4000-8000-000000000015",
"alias": "operation_probe_21",
"name": "ReadStatus",
"description": "",
"parent": null,
"body": {
"Sa": {
"Shared": {
"ExchangeItem": {
"kind": "Information",
"mechanism": "Operation",
"supertype": null
}
}
}
}
},
"52060906-0000-4000-8000-000000000016": {
"id": "52060906-0000-4000-8000-000000000016",
"alias": "operation_probe_22",
"name": "Valve commands",
"description": "",
"parent": null,
"body": {
"Sa": {
"Shared": {
"Interface": {
"supertype": null
}
}
}
}
},
"52060906-0000-4000-8000-000000000028": {
"id": "52060906-0000-4000-8000-000000000028",
"alias": "operation_probe_40",
"name": "Reset then read status",
"description": "",
"parent": null,
"body": {
"Sa": {
"Shared": {
"Scenario": {
"viewpoint": "BoundaryInterface",
"context": null,
"precondition": "",
"postcondition": "",
"steps": [
"52060906-0000-4000-8000-00000000002b",
"52060906-0000-4000-8000-00000000002c",
"aa8b674f-012f-583f-8dc7-a76407d1f8a7"
]
}
}
}
}
},
"52060906-0000-4000-8000-000000000029": {
"id": "52060906-0000-4000-8000-000000000029",
"alias": "operation_probe_41",
"name": "Service participant",
"description": "",
"parent": "52060906-0000-4000-8000-000000000028",
"body": {
"Sa": {
"Shared": {
"Lifeline": {
"represented": "52060906-0000-4000-8000-00000000000a"
}
}
}
}
},
"52060906-0000-4000-8000-00000000002a": {
"id": "52060906-0000-4000-8000-00000000002a",
"alias": "operation_probe_42",
"name": "Service participant",
"description": "",
"parent": "52060906-0000-4000-8000-000000000028",
"body": {
"Sa": {
"Shared": {
"Lifeline": {
"represented": "52060906-0000-4000-8000-00000000000b"
}
}
}
}
},
"52060906-0000-4000-8000-00000000002b": {
"id": "52060906-0000-4000-8000-00000000002b",
"alias": "operation_probe_43",
"name": "Call Reset",
"description": "",
"parent": "52060906-0000-4000-8000-000000000028",
"body": {
"Sa": {
"Shared": {
"Occurrence": {
"body": {
"Exchange": {
"exchange": "52060906-0000-4000-8000-000000000022",
"sender": "52060906-0000-4000-8000-000000000029",
"receiver": "52060906-0000-4000-8000-00000000002a",
"message_kind": "Call",
"reply_to": null,
"values": []
}
},
"precondition": "",
"postcondition": ""
}
}
}
}
},
"52060906-0000-4000-8000-00000000002c": {
"id": "52060906-0000-4000-8000-00000000002c",
"alias": "operation_probe_44",
"name": "Call ReadStatus",
"description": "",
"parent": "52060906-0000-4000-8000-000000000028",
"body": {
"Sa": {
"Shared": {
"Occurrence": {
"body": {
"Exchange": {
"exchange": "52060906-0000-4000-8000-000000000022",
"sender": "52060906-0000-4000-8000-000000000029",
"receiver": "52060906-0000-4000-8000-00000000002a",
"message_kind": "Call",
"reply_to": null,
"values": []
}
},
"precondition": "",
"postcondition": ""
}
}
}
}
},
"53ad2109-ba9d-5859-b258-64cdaab5c4a8": {
"id": "53ad2109-ba9d-5859-b258-64cdaab5c4a8",
"alias": "sa_x",
"name": "X · Check authorization",
"description": "",
"parent": "d4911fd0-52ed-535c-9f87-170e8f5731d2",
"body": {
"Sa": {
"Shared": {
"Occurrence": {
"body": {
"Action": {
"action": "8c3d9b89-aa12-5218-9de9-12b8b5d4e4b3",
"lifeline": null
}
},
"precondition": "",
"postcondition": ""
}
}
}
}
},
"62cfdab1-a18b-5b06-8ee7-cd0b320e4024": {
"id": "62cfdab1-a18b-5b06-8ee7-cd0b320e4024",
"alias": "sa_r1",
"name": "First assessment",
"description": "",
"parent": "d4911fd0-52ed-535c-9f87-170e8f5731d2",
"body": {
"Sa": {
"Shared": {
"Occurrence": {
"body": {
"SequenceReference": {
"sequence": "c1d4eda2-fac7-5621-a7ac-25f985911bf5"
}
},
"precondition": "",
"postcondition": ""
}
}
}
}
},
"6575bce8-4185-519b-a004-d96650da63dc": {
"id": "6575bce8-4185-519b-a004-d96650da63dc",
"alias": "sa_work_c",
"name": "C · Finish assessment",
"description": "",
"parent": null,
"body": {
"Sa": "Function"
}
},
"7932ab3a-6b60-5059-a3a0-fca3a2f9a197": {
"id": "7932ab3a-6b60-5059-a3a0-fca3a2f9a197",
"alias": "sa_nested_definition",
"name": "Nested assessment wrapper",
"description": "",
"parent": null,
"body": {
"Sa": {
"FunctionalChain": {
"steps": [
"e21febd2-30ec-5e9d-aa4c-3c54c95c2c9f"
]
}
}
}
},
"8c3d9b89-aa12-5218-9de9-12b8b5d4e4b3": {
"id": "8c3d9b89-aa12-5218-9de9-12b8b5d4e4b3",
"alias": "sa_work_x",
"name": "X · Check authorization",
"description": "",
"parent": null,
"body": {
"Sa": "Function"
}
},
"999b5e15-903f-5ca1-bc11-e51fadf80762": {
"id": "999b5e15-903f-5ca1-bc11-e51fadf80762",
"alias": "sa_r2",
"name": "Second assessment",
"description": "",
"parent": "d4911fd0-52ed-535c-9f87-170e8f5731d2",
"body": {
"Sa": {
"Shared": {
"Occurrence": {
"body": {
"SequenceReference": {
"sequence": "c1d4eda2-fac7-5621-a7ac-25f985911bf5"
}
},
"precondition": "",
"postcondition": ""
}
}
}
}
},
"a39639dc-0ece-5b71-981d-c9523fed4914": {
"id": "a39639dc-0ece-5b71-981d-c9523fed4914",
"alias": "oa_work_b",
"name": "B · Review assessment",
"description": "",
"parent": null,
"body": {
"Oa": "Activity"
}
},
"aa8b674f-012f-583f-8dc7-a76407d1f8a7": {
"id": "aa8b674f-012f-583f-8dc7-a76407d1f8a7",
"alias": "reset_reply",
"name": "Correlated reset reply",
"description": "",
"parent": "52060906-0000-4000-8000-000000000028",
"body": {
"Sa": {
"Shared": {
"Occurrence": {
"body": {
"Exchange": {
"exchange": "52060906-0000-4000-8000-000000000022",
"sender": "52060906-0000-4000-8000-00000000002a",
"receiver": "52060906-0000-4000-8000-000000000029",
"message_kind": "Reply",
"reply_to": "52060906-0000-4000-8000-00000000002b",
"values": []
}
},
"precondition": "",
"postcondition": ""
}
}
}
}
},
"af139b27-7e42-5729-9e49-53b2ac62c9e7": {
"id": "af139b27-7e42-5729-9e49-53b2ac62c9e7",
"alias": "oa_procedure",
"name": "Reusable assessment A to C",
"description": "",
"parent": null,
"body": {
"Oa": {
"Process": {
"steps": [
"dc17769b-7e1e-5f15-99bb-0caf98bcb006",
"ef2a06af-6013-5f0b-a56d-db705f0685ce",
"c40c2011-4497-52f0-9e0e-10323b3150a8"
]
}
}
}
},
"bf9ba00e-2aaa-5f04-9ba1-2c242d07b938": {
"id": "bf9ba00e-2aaa-5f04-9ba1-2c242d07b938",
"alias": "sa_b",
"name": "B · Review assessment",
"description": "",
"parent": "c1d4eda2-fac7-5621-a7ac-25f985911bf5",
"body": {
"Sa": {
"Shared": {
"Occurrence": {
"body": {
"Action": {
"action": "3360ccb1-68ac-51cd-8d9a-8893000c80ef",
"lifeline": null
}
},
"precondition": "",
"postcondition": ""
}
}
}
}
},
"c1d4eda2-fac7-5621-a7ac-25f985911bf5": {
"id": "c1d4eda2-fac7-5621-a7ac-25f985911bf5",
"alias": "sa_procedure",
"name": "Reusable assessment A to C",
"description": "",
"parent": null,
"body": {
"Sa": {
"FunctionalChain": {
"steps": [
"14d1133a-697d-5b54-b624-eed0fb04a354",
"bf9ba00e-2aaa-5f04-9ba1-2c242d07b938",
"1a215aed-f0b1-521d-b52f-0c1cfbbf1c36"
]
}
}
}
},
"c40c2011-4497-52f0-9e0e-10323b3150a8": {
"id": "c40c2011-4497-52f0-9e0e-10323b3150a8",
"alias": "oa_c",
"name": "C · Finish assessment",
"description": "",
"parent": "af139b27-7e42-5729-9e49-53b2ac62c9e7",
"body": {
"Oa": {
"Shared": {
"Occurrence": {
"body": {
"Action": {
"action": "47335738-0876-5f90-b25e-1636c7448e93",
"lifeline": null
}
},
"precondition": "",
"postcondition": ""
}
}
}
}
},
"d48951ad-c6db-5eae-923a-edccab97155e": {
"id": "d48951ad-c6db-5eae-923a-edccab97155e",
"alias": "oa_r1",
"name": "First assessment",
"description": "",
"parent": "2100ac23-79ee-54e1-b3cf-69f3d4f3b30a",
"body": {
"Oa": {
"Shared": {
"Occurrence": {
"body": {
"SequenceReference": {
"sequence": "af139b27-7e42-5729-9e49-53b2ac62c9e7"
}
},
"precondition": "",
"postcondition": ""
}
}
}
}
},
"d4911fd0-52ed-535c-9f87-170e8f5731d2": {
"id": "d4911fd0-52ed-535c-9f87-170e8f5731d2",
"alias": "sa_caller",
"name": "Caller with three assessments",
"description": "",
"parent": null,
"body": {
"Sa": {
"FunctionalChain": {
"steps": [
"53ad2109-ba9d-5859-b258-64cdaab5c4a8",
"62cfdab1-a18b-5b06-8ee7-cd0b320e4024",
"999b5e15-903f-5ca1-bc11-e51fadf80762",
"4a65dad8-e2a1-51dc-87a0-02ea4ab69384"
]
}
}
}
},
"dc17769b-7e1e-5f15-99bb-0caf98bcb006": {
"id": "dc17769b-7e1e-5f15-99bb-0caf98bcb006",
"alias": "oa_a",
"name": "A · Begin assessment",
"description": "",
"parent": "af139b27-7e42-5729-9e49-53b2ac62c9e7",
"body": {
"Oa": {
"Shared": {
"Occurrence": {
"body": {
"Action": {
"action": "25fdfe13-c45d-5822-830a-192ff13f660d",
"lifeline": null
}
},
"precondition": "",
"postcondition": ""
}
}
}
}
},
"e16033cd-3184-56ef-b462-5559ad212c84": {
"id": "e16033cd-3184-56ef-b462-5559ad212c84",
"alias": "oa_inner",
"name": "Inner assessment",
"description": "",
"parent": "273d8df8-83c8-5d75-99d1-59a7c9fdb705",
"body": {
"Oa": {
"Shared": {
"Occurrence": {
"body": {
"SequenceReference": {
"sequence": "af139b27-7e42-5729-9e49-53b2ac62c9e7"
}
},
"precondition": "",
"postcondition": ""
}
}
}
}
},
"e21febd2-30ec-5e9d-aa4c-3c54c95c2c9f": {
"id": "e21febd2-30ec-5e9d-aa4c-3c54c95c2c9f",
"alias": "sa_inner",
"name": "Inner assessment",
"description": "",
"parent": "7932ab3a-6b60-5059-a3a0-fca3a2f9a197",
"body": {
"Sa": {
"Shared": {
"Occurrence": {
"body": {
"SequenceReference": {
"sequence": "c1d4eda2-fac7-5621-a7ac-25f985911bf5"
}
},
"precondition": "",
"postcondition": ""
}
}
}
}
},
"e78d841a-a37e-5106-8356-b1e3ce6d2501": {
"id": "e78d841a-a37e-5106-8356-b1e3ce6d2501",
"alias": "oa_work_x",
"name": "X · Check authorization",
"description": "",
"parent": null,
"body": {
"Oa": "Activity"
}
},
"ef2a06af-6013-5f0b-a56d-db705f0685ce": {
"id": "ef2a06af-6013-5f0b-a56d-db705f0685ce",
"alias": "oa_b",
"name": "B · Review assessment",
"description": "",
"parent": "af139b27-7e42-5729-9e49-53b2ac62c9e7",
"body": {
"Oa": {
"Shared": {
"Occurrence": {
"body": {
"Action": {
"action": "a39639dc-0ece-5b71-981d-c9523fed4914",
"lifeline": null
}
},
"precondition": "",
"postcondition": ""
}
}
}
}
},
"fc986c5c-eae7-5363-bcd5-b832d565a89a": {
"id": "fc986c5c-eae7-5363-bcd5-b832d565a89a",
"alias": "oa_r3",
"name": "Nested assessment",
"description": "",
"parent": "2100ac23-79ee-54e1-b3cf-69f3d4f3b30a",
"body": {
"Oa": {
"Shared": {
"Occurrence": {
"body": {
"SequenceReference": {
"sequence": "273d8df8-83c8-5d75-99d1-59a7c9fdb705"
}
},
"precondition": "",
"postcondition": ""
}
}
}
}
}
},
"relations": {
"0fc11ada-23a6-5f39-9891-e7f363a1edfb": {
"id": "0fc11ada-23a6-5f39-9891-e7f363a1edfb",
"alias": "oa_a_then_b",
"name": "a then b",
"description": "",
"body": {
"SequenceLink": {
"source": "dc17769b-7e1e-5f15-99bb-0caf98bcb006",
"target": "ef2a06af-6013-5f0b-a56d-db705f0685ce",
"guard": ""
}
}
},
"169f558e-a466-5fcc-b0d7-53e481952714": {
"id": "169f558e-a466-5fcc-b0d7-53e481952714",
"alias": "oa_b_then_c",
"name": "b then c",
"description": "",
"body": {
"SequenceLink": {
"source": "ef2a06af-6013-5f0b-a56d-db705f0685ce",
"target": "c40c2011-4497-52f0-9e0e-10323b3150a8",
"guard": ""
}
}
},
"52060906-0000-4000-8000-00000000001e": {
"id": "52060906-0000-4000-8000-00000000001e",
"alias": "operation_probe_30",
"name": "InterfaceItemAllocation 30",
"description": "",
"body": {
"InterfaceItemAllocation": {
"source": "52060906-0000-4000-8000-000000000016",
"target": "52060906-0000-4000-8000-000000000014",
"order": 0,
"transmission": "Synchronous",
"acquisition": "Unspecified"
}
}
},
"52060906-0000-4000-8000-00000000001f": {
"id": "52060906-0000-4000-8000-00000000001f",
"alias": "operation_probe_31",
"name": "InterfaceItemAllocation 31",
"description": "",
"body": {
"InterfaceItemAllocation": {
"source": "52060906-0000-4000-8000-000000000016",
"target": "52060906-0000-4000-8000-000000000015",
"order": 0,
"transmission": "Synchronous",
"acquisition": "Unspecified"
}
}
},
"52060906-0000-4000-8000-000000000020": {
"id": "52060906-0000-4000-8000-000000000020",
"alias": "operation_probe_32",
"name": "InterfaceRequirement 32",
"description": "",
"body": {
"InterfaceRequirement": {
"source": "52060906-0000-4000-8000-00000000000c",
"target": "52060906-0000-4000-8000-000000000016"
}
}
},
"52060906-0000-4000-8000-000000000021": {
"id": "52060906-0000-4000-8000-000000000021",
"alias": "operation_probe_33",
"name": "InterfaceProvision 33",
"description": "",
"body": {
"InterfaceProvision": {
"source": "52060906-0000-4000-8000-00000000000d",
"target": "52060906-0000-4000-8000-000000000016"
}
}
},
"52060906-0000-4000-8000-000000000022": {
"id": "52060906-0000-4000-8000-000000000022",
"alias": "operation_probe_34",
"name": "BoundaryExchange 34",
"description": "",
"body": {
"BoundaryExchange": {
"source": "52060906-0000-4000-8000-00000000000c",
"target": "52060906-0000-4000-8000-00000000000d",
"oriented": false,
"items": [
"52060906-0000-4000-8000-000000000014",
"52060906-0000-4000-8000-000000000015"
]
}
}
},
"661511e2-3604-5faf-9deb-f741925615bb": {
"id": "661511e2-3604-5faf-9deb-f741925615bb",
"alias": "sa_a_then_b",
"name": "a then b",
"description": "",
"body": {
"SequenceLink": {
"source": "14d1133a-697d-5b54-b624-eed0fb04a354",
"target": "bf9ba00e-2aaa-5f04-9ba1-2c242d07b938",
"guard": ""
}
}
},
"aedc3e72-fd4b-5dcd-b9c1-ced7aee3e0d1": {
"id": "aedc3e72-fd4b-5dcd-b9c1-ced7aee3e0d1",
"alias": "sa_b_then_c",
"name": "b then c",
"description": "",
"body": {
"SequenceLink": {
"source": "bf9ba00e-2aaa-5f04-9ba1-2c242d07b938",
"target": "1a215aed-f0b1-521d-b52f-0c1cfbbf1c36",
"guard": ""
}
}
}
},
"diagrams": {},
"artifact_links": {},
"traces": {}
}
@@ -0,0 +1,477 @@
arcadia 7;
project source7_native_contract "Reusable procedures and operation identity" id "52060906-0000-4000-8000-000000000001" {
include "rationale.arcadia";
description "";
sa_function sa_work_a "A · Begin assessment" id "071edc32-5c27-5c1d-91ff-337c80b462d5" {
description "";
parent none;
}
oa_occurrence oa_x "X · Check authorization" id "08ff2083-dac1-5f4b-ad6a-7cc81d7be29d" {
body {
Action {
action @oa_work_x;
lifeline none;
};
};
description "";
parent @oa_caller;
postcondition "";
precondition "";
}
sa_occurrence sa_a "A · Begin assessment" id "14d1133a-697d-5b54-b624-eed0fb04a354" {
body {
Action {
action @sa_work_a;
lifeline none;
};
};
description "";
parent @sa_procedure;
postcondition "";
precondition "";
}
sa_occurrence sa_c "C · Finish assessment" id "1a215aed-f0b1-521d-b52f-0c1cfbbf1c36" {
body {
Action {
action @sa_work_c;
lifeline none;
};
};
description "";
parent @sa_procedure;
postcondition "";
precondition "";
}
oa_occurrence oa_r2 "Second assessment" id "1e27be58-3e3e-5869-ad30-e94a28ea2a2e" {
body {
SequenceReference {
sequence @oa_procedure;
};
};
description "";
parent @oa_caller;
postcondition "";
precondition "";
}
oa_process oa_caller "Caller with three assessments" id "2100ac23-79ee-54e1-b3cf-69f3d4f3b30a" {
description "";
parent none;
steps [@oa_x, @oa_r1, @oa_r2, @oa_r3];
}
oa_activity oa_work_a "A · Begin assessment" id "25fdfe13-c45d-5822-830a-192ff13f660d" {
description "";
parent none;
}
oa_process oa_nested_definition "Nested assessment wrapper" id "273d8df8-83c8-5d75-99d1-59a7c9fdb705" {
description "";
parent none;
steps [@oa_inner];
}
sa_function sa_work_b "B · Review assessment" id "3360ccb1-68ac-51cd-8d9a-8893000c80ef" {
description "";
parent none;
}
oa_activity oa_work_c "C · Finish assessment" id "47335738-0876-5f90-b25e-1636c7448e93" {
description "";
parent none;
}
sa_occurrence sa_r3 "Nested assessment" id "4a65dad8-e2a1-51dc-87a0-02ea4ab69384" {
body {
SequenceReference {
sequence @sa_nested_definition;
};
};
description "";
parent @sa_caller;
postcondition "";
precondition "";
}
sa_actor operation_probe_10 "Operator console" id "52060906-0000-4000-8000-00000000000a" {
description "";
parent none;
}
sa_system operation_probe_11 "Valve service" id "52060906-0000-4000-8000-00000000000b" {
description "";
parent none;
}
sa_port operation_probe_12 "Service socket" id "52060906-0000-4000-8000-00000000000c" {
contract {
Component {
kind Standard;
orientation Unset;
};
};
description "";
legacy none;
parent @operation_probe_10;
}
sa_port operation_probe_13 "Service socket" id "52060906-0000-4000-8000-00000000000d" {
contract {
Component {
kind Standard;
orientation Unset;
};
};
description "";
legacy none;
parent @operation_probe_11;
}
sa_exchange_item operation_probe_20 "Reset" id "52060906-0000-4000-8000-000000000014" {
description "";
kind Information;
mechanism Operation;
parent none;
supertype none;
}
sa_exchange_item operation_probe_21 "ReadStatus" id "52060906-0000-4000-8000-000000000015" {
description "";
kind Information;
mechanism Operation;
parent none;
supertype none;
}
sa_interface operation_probe_22 "Valve commands" id "52060906-0000-4000-8000-000000000016" {
description "";
parent none;
supertype none;
}
sa_scenario operation_probe_40 "Reset then read status" id "52060906-0000-4000-8000-000000000028" {
context none;
description "";
parent none;
postcondition "";
precondition "";
steps [@operation_probe_43, @operation_probe_44, @reset_reply];
viewpoint BoundaryInterface;
}
sa_lifeline operation_probe_41 "Service participant" id "52060906-0000-4000-8000-000000000029" {
description "";
parent @operation_probe_40;
represented @operation_probe_10;
}
sa_lifeline operation_probe_42 "Service participant" id "52060906-0000-4000-8000-00000000002a" {
description "";
parent @operation_probe_40;
represented @operation_probe_11;
}
sa_occurrence operation_probe_43 "Call Reset" id "52060906-0000-4000-8000-00000000002b" {
body {
Exchange {
exchange @operation_probe_34;
message_kind Call;
receiver @operation_probe_42;
reply_to none;
sender @operation_probe_41;
values [];
};
};
description "";
parent @operation_probe_40;
postcondition "";
precondition "";
}
sa_occurrence operation_probe_44 "Call ReadStatus" id "52060906-0000-4000-8000-00000000002c" {
body {
Exchange {
exchange @operation_probe_34;
message_kind Call;
receiver @operation_probe_42;
reply_to none;
sender @operation_probe_41;
values [];
};
};
description "";
parent @operation_probe_40;
postcondition "";
precondition "";
}
sa_occurrence sa_x "X · Check authorization" id "53ad2109-ba9d-5859-b258-64cdaab5c4a8" {
body {
Action {
action @sa_work_x;
lifeline none;
};
};
description "";
parent @sa_caller;
postcondition "";
precondition "";
}
sa_occurrence sa_r1 "First assessment" id "62cfdab1-a18b-5b06-8ee7-cd0b320e4024" {
body {
SequenceReference {
sequence @sa_procedure;
};
};
description "";
parent @sa_caller;
postcondition "";
precondition "";
}
sa_function sa_work_c "C · Finish assessment" id "6575bce8-4185-519b-a004-d96650da63dc" {
description "";
parent none;
}
sa_functional_chain sa_nested_definition "Nested assessment wrapper" id "7932ab3a-6b60-5059-a3a0-fca3a2f9a197" {
description "";
parent none;
steps [@sa_inner];
}
sa_function sa_work_x "X · Check authorization" id "8c3d9b89-aa12-5218-9de9-12b8b5d4e4b3" {
description "";
parent none;
}
sa_occurrence sa_r2 "Second assessment" id "999b5e15-903f-5ca1-bc11-e51fadf80762" {
body {
SequenceReference {
sequence @sa_procedure;
};
};
description "";
parent @sa_caller;
postcondition "";
precondition "";
}
oa_activity oa_work_b "B · Review assessment" id "a39639dc-0ece-5b71-981d-c9523fed4914" {
description "";
parent none;
}
sa_occurrence reset_reply "Correlated reset reply" id "aa8b674f-012f-583f-8dc7-a76407d1f8a7" {
body {
Exchange {
exchange @operation_probe_34;
message_kind Reply;
receiver @operation_probe_41;
reply_to @operation_probe_43;
sender @operation_probe_42;
values [];
};
};
description "";
parent @operation_probe_40;
postcondition "";
precondition "";
}
oa_process oa_procedure "Reusable assessment A to C" id "af139b27-7e42-5729-9e49-53b2ac62c9e7" {
description "";
parent none;
steps [@oa_a, @oa_b, @oa_c];
}
sa_occurrence sa_b "B · Review assessment" id "bf9ba00e-2aaa-5f04-9ba1-2c242d07b938" {
body {
Action {
action @sa_work_b;
lifeline none;
};
};
description "";
parent @sa_procedure;
postcondition "";
precondition "";
}
sa_functional_chain sa_procedure "Reusable assessment A to C" id "c1d4eda2-fac7-5621-a7ac-25f985911bf5" {
description "";
parent none;
steps [@sa_a, @sa_b, @sa_c];
}
oa_occurrence oa_c "C · Finish assessment" id "c40c2011-4497-52f0-9e0e-10323b3150a8" {
body {
Action {
action @oa_work_c;
lifeline none;
};
};
description "";
parent @oa_procedure;
postcondition "";
precondition "";
}
oa_occurrence oa_r1 "First assessment" id "d48951ad-c6db-5eae-923a-edccab97155e" {
body {
SequenceReference {
sequence @oa_procedure;
};
};
description "";
parent @oa_caller;
postcondition "";
precondition "";
}
sa_functional_chain sa_caller "Caller with three assessments" id "d4911fd0-52ed-535c-9f87-170e8f5731d2" {
description "";
parent none;
steps [@sa_x, @sa_r1, @sa_r2, @sa_r3];
}
oa_occurrence oa_a "A · Begin assessment" id "dc17769b-7e1e-5f15-99bb-0caf98bcb006" {
body {
Action {
action @oa_work_a;
lifeline none;
};
};
description "";
parent @oa_procedure;
postcondition "";
precondition "";
}
oa_occurrence oa_inner "Inner assessment" id "e16033cd-3184-56ef-b462-5559ad212c84" {
body {
SequenceReference {
sequence @oa_procedure;
};
};
description "";
parent @oa_nested_definition;
postcondition "";
precondition "";
}
sa_occurrence sa_inner "Inner assessment" id "e21febd2-30ec-5e9d-aa4c-3c54c95c2c9f" {
body {
SequenceReference {
sequence @sa_procedure;
};
};
description "";
parent @sa_nested_definition;
postcondition "";
precondition "";
}
oa_activity oa_work_x "X · Check authorization" id "e78d841a-a37e-5106-8356-b1e3ce6d2501" {
description "";
parent none;
}
oa_occurrence oa_b "B · Review assessment" id "ef2a06af-6013-5f0b-a56d-db705f0685ce" {
body {
Action {
action @oa_work_b;
lifeline none;
};
};
description "";
parent @oa_procedure;
postcondition "";
precondition "";
}
oa_occurrence oa_r3 "Nested assessment" id "fc986c5c-eae7-5363-bcd5-b832d565a89a" {
body {
SequenceReference {
sequence @oa_nested_definition;
};
};
description "";
parent @oa_caller;
postcondition "";
precondition "";
}
sequence_link oa_a_then_b "a then b" id "0fc11ada-23a6-5f39-9891-e7f363a1edfb" {
description "";
guard "";
source @oa_a;
target @oa_b;
}
sequence_link oa_b_then_c "b then c" id "169f558e-a466-5fcc-b0d7-53e481952714" {
description "";
guard "";
source @oa_b;
target @oa_c;
}
interface_item_allocation operation_probe_30 "InterfaceItemAllocation 30" id "52060906-0000-4000-8000-00000000001e" {
acquisition Unspecified;
description "";
order 0;
source @operation_probe_22;
target @operation_probe_20;
transmission Synchronous;
}
interface_item_allocation operation_probe_31 "InterfaceItemAllocation 31" id "52060906-0000-4000-8000-00000000001f" {
acquisition Unspecified;
description "";
order 0;
source @operation_probe_22;
target @operation_probe_21;
transmission Synchronous;
}
interface_requirement operation_probe_32 "InterfaceRequirement 32" id "52060906-0000-4000-8000-000000000020" {
description "";
source @operation_probe_12;
target @operation_probe_22;
}
interface_provision operation_probe_33 "InterfaceProvision 33" id "52060906-0000-4000-8000-000000000021" {
description "";
source @operation_probe_13;
target @operation_probe_22;
}
boundary_exchange operation_probe_34 "BoundaryExchange 34" id "52060906-0000-4000-8000-000000000022" {
description "";
items [@operation_probe_20, @operation_probe_21];
oriented false;
source @operation_probe_12;
target @operation_probe_13;
}
sequence_link sa_a_then_b "a then b" id "661511e2-3604-5faf-9deb-f741925615bb" {
description "";
guard "";
source @sa_a;
target @sa_b;
}
sequence_link sa_b_then_c "b then c" id "aedc3e72-fd4b-5dcd-b9c1-ced7aee3e0d1" {
description "";
guard "";
source @sa_b;
target @sa_c;
}
}
@@ -0,0 +1 @@
// Native oracle: retain this authored 雨 note and CRLF.
@@ -0,0 +1,14 @@
{
"expected-baseline.json": {
"bytes": 26428,
"sha256": "e2882a58f841f460f45d9d67db1606440e0d7997b9b29a784569ae48e4b23bfb"
},
"project.arcadia": {
"bytes": 13616,
"sha256": "5474d8ca05fd1375220dc0ad40d913631fde51159e9632bb9f290d1ecdab8dd7"
},
"rationale.arcadia": {
"bytes": 59,
"sha256": "e6a600e13036d4ad594a65380ed1b3d82d1772d583041bb0a624c9588a73047a"
}
}