Add named behavior creation and verified textual authoring examples

This commit is contained in:
2026-09-11 04:26:56 -07:00
committed by Codex
parent c4e1580bb0
commit 1516949567
55 changed files with 6734 additions and 34 deletions
+33 -4
View File
@@ -1274,9 +1274,21 @@ reference checks.</p>
<p>Omitted schema-2 viewpoints hydrate as MixedLegacy in both source and JSON.
This preserves pre-extension mixed work/participant scenes without discarding
their lifelines or silently assigning a stricter meaning. MixedLegacy emits a
review warning. New graphical factories explicitly select OperationalActivity
or Functional by layer. Authors can select a strict viewpoint after reviewing
the legacy scene; canonical source then records that choice.</p>
review warning. Source parsing also uses MixedLegacy when <span class="docutils literal">viewpoint</span> is
omitted from a newly authored source-7 scenario; it does not infer a strict
viewpoint from the layer or lifelines. Write the intended viewpoint explicitly
when starting a scenario. For example, this new OA source project starts an
activity-based scenario whose lifelines and occurrences can be added later:</p>
<pre class="literal-block">arcadia 7;
project response &quot;Distress response&quot; {
oa_scenario assessment &quot;Assess the distress report&quot; {
viewpoint OperationalActivity;
}
}</pre>
<p>An empty scenario can produce completeness warnings while remaining editable.
The desktop's Behavior <strong>New</strong> flow asks authors to choose one of the layer's
two strict viewpoints explicitly. Authors can also select a strict viewpoint
after reviewing a legacy scene; canonical source then records that choice.</p>
<p>MessageKind is Asynchronous, Call, Reply, Create, Delete, or
<span class="docutils literal">{ Timer { expression &quot;after 5 s&quot;; }; }</span>. A process/chain exchange
contribution MUST remain Asynchronous with no reply correlation. Call/reply,
@@ -2217,6 +2229,23 @@ strings use JSON string escaping, including <span class="docutils literal">\n</s
and Unicode escapes. Literal unescaped newlines inside strings are invalid.
Numbers use JSON decimal/exponent syntax; NaN, infinity, hexadecimal numbers,
leading plus signs, and leading zeroes are invalid.</p>
<p>A small model may begin with engineering declarations alone. This complete
source describes two participants, their work, responsibility and an exchange:</p>
<pre class="literal-block">arcadia 7;
project distress &quot;Distress response&quot; {
oa_actor vessel &quot;Vessel in distress&quot; {}
oa_entity rescue &quot;Rescue coordination&quot; {}
oa_activity report &quot;Report distress&quot; {}
oa_activity assess &quot;Assess incident&quot; {}
allocation vessel_reports &quot;Crew reports&quot; { source &#64;vessel; target &#64;report; }
allocation rescue_assesses &quot;Team assesses&quot; { source &#64;rescue; target &#64;assess; }
interaction distress_report &quot;Distress report&quot; { source &#64;report; target &#64;assess; }
}</pre>
<p>No diagram, placement, empty description or explicit root parent is required.
The accepted source adds identities; keep those clauses during later edits.
Changing <span class="docutils literal">&quot;Assess incident&quot;</span> changes the display name while <span class="docutils literal">&#64;assess</span> still
resolves to the same activity. Behavior-coverage warnings permit this intermediate
model to be saved. Allocation remains explicit and distinct from decomposition.</p>
<p>Aliases match <span class="docutils literal"><span class="pre">[A-Za-z_][A-Za-z0-9_]*</span></span>. The following aliases are reserved:
arcadia, project, id, oa, sa, element, relation, diagram, node, artifact,
trace, body, alias, name, description, parent, from, to, entity, actor,
@@ -2227,7 +2256,7 @@ spellings can be used in alias positions because references begin with <span cla
<span class="docutils literal"><span class="pre">element-kind</span></span> and <span class="docutils literal"><span class="pre">relation-kind</span></span> are exactly the corresponding declaration
keywords listed above. Typed field
sets and enum constructors are closed by sections 3–5.</p>
<pre class="code text literal-block"><code>document = &quot;arcadia&quot; &quot;5&quot; &quot;;&quot; project
<pre class="code text literal-block"><code>document = &quot;arcadia&quot; &quot;7&quot; &quot;;&quot; project
project = &quot;project&quot; alias string identity? &quot;{&quot; project-entry* &quot;}&quot;
project-entry = &quot;description&quot; string &quot;;&quot; | declaration
declaration = element
+38 -4
View File
@@ -631,9 +631,23 @@ reference checks.
Omitted schema-2 viewpoints hydrate as MixedLegacy in both source and JSON.
This preserves pre-extension mixed work/participant scenes without discarding
their lifelines or silently assigning a stricter meaning. MixedLegacy emits a
review warning. New graphical factories explicitly select OperationalActivity
or Functional by layer. Authors can select a strict viewpoint after reviewing
the legacy scene; canonical source then records that choice.
review warning. Source parsing also uses MixedLegacy when ``viewpoint`` is
omitted from a newly authored source-7 scenario; it does not infer a strict
viewpoint from the layer or lifelines. Write the intended viewpoint explicitly
when starting a scenario. For example, this new OA source project starts an
activity-based scenario whose lifelines and occurrences can be added later::
arcadia 7;
project response "Distress response" {
oa_scenario assessment "Assess the distress report" {
viewpoint OperationalActivity;
}
}
An empty scenario can produce completeness warnings while remaining editable.
The desktop's Behavior **New** flow asks authors to choose one of the layer's
two strict viewpoints explicitly. Authors can also select a strict viewpoint
after reviewing a legacy scene; canonical source then records that choice.
MessageKind is Asynchronous, Call, Reply, Create, Delete, or
``{ Timer { expression "after 5 s"; }; }``. A process/chain exchange
@@ -1582,6 +1596,26 @@ and Unicode escapes. Literal unescaped newlines inside strings are invalid.
Numbers use JSON decimal/exponent syntax; NaN, infinity, hexadecimal numbers,
leading plus signs, and leading zeroes are invalid.
A small model may begin with engineering declarations alone. This complete
source describes two participants, their work, responsibility and an exchange::
arcadia 7;
project distress "Distress response" {
oa_actor vessel "Vessel in distress" {}
oa_entity rescue "Rescue coordination" {}
oa_activity report "Report distress" {}
oa_activity assess "Assess incident" {}
allocation vessel_reports "Crew reports" { source @vessel; target @report; }
allocation rescue_assesses "Team assesses" { source @rescue; target @assess; }
interaction distress_report "Distress report" { source @report; target @assess; }
}
No diagram, placement, empty description or explicit root parent is required.
The accepted source adds identities; keep those clauses during later edits.
Changing ``"Assess incident"`` changes the display name while ``@assess`` still
resolves to the same activity. Behavior-coverage warnings permit this intermediate
model to be saved. Allocation remains explicit and distinct from decomposition.
Aliases match ``[A-Za-z_][A-Za-z0-9_]*``. The following aliases are reserved:
arcadia, project, id, oa, sa, element, relation, diagram, node, artifact,
trace, body, alias, name, description, parent, from, to, entity, actor,
@@ -1596,7 +1630,7 @@ sets and enum constructors are closed by sections 3–5.
.. code-block:: text
document = "arcadia" "5" ";" project
document = "arcadia" "7" ";" project
project = "project" alias string identity? "{" project-entry* "}"
project-entry = "description" string ";" | declaration
declaration = element