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
+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