Skip to content

History / Metadata excerpt

Revisions

  • Document the two event sections and the non transition responses The xsm language gained an ignore and a can't happen section per state block, each response carrying an explanation, and the single events header split into interaction events and completion events. Rewritten: - Events: the two headers, one block_end closing both, and the rule that an event is a completion event only when that is its sole use. The Door's Hold released is the worked example. - Ignore: was documenting the bare event name in transitions as the way to ignore. Now covers the ignore section, keeping the bare form as legacy. - Can't Happen: was a stub plus a note deferring to the state table spreadsheets. Now covers declaring a reason and the omission default, and explains why the event split is what makes the default judgeable. - Reason tags (new): the angle bracket labels, file scoping, definition versus reference, and conventions. Corrected along the way: - Can't Happen claimed omission from the Events section implies can't happen. It is omission from a state's response sections. - Lifecycle or Assigner still quoted events* in the top level rule. - Initial transitions showed Execute > WAITING FOR CABIN where transfer.xsm has initial > CREATED. - Deletion states showed a stale destination in the Delete activity. Example links now point at the migrated models in xsm-parser/input rather than the older copies in xuml-populate. Those resolve once docs merges to main. References to the popsystem module itself are unchanged. Every grammar snippet was checked line by line against state_model.peg and every xsm example against the files in input/. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

    @modelint modelint committed Aug 4, 2026
  • Document the xsm modeling language Builds out the wiki from state_model.peg, which stays the ground truth. Structure follows the grammar's own sections rather than mirroring the xcm-parser wiki, since a state model has different concerns: the lifecycle vs assigner choice, events, initial transitions, and the state block with its signature, activity, transitions and deletion marker. The metadata pages are carried over from xcm-parser nearly verbatim, the grammars being all but identical; xsm's resource_item is a single name, so that page is adjusted accordingly. Examples come from the Elevator Management domain in xuml-populate, mostly door.xsm with R53.xsm for the assigner case, referenced by absolute URL. Every grammar excerpt was checked against the .peg verbatim and every snippet shown was run through the parser. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

    @modelint modelint committed Jul 24, 2026