SpolettaDocs

The OPM language

Zooming in

OPM keeps big systems readable by zooming: a process can contain a diagram of its own sub-processes. In Spoletta that is a flow process, and the objects it takes and yields outside are its interface inside.

ExceptionsList of itemsEach exceptionFlow · recordedOutcomesList of items
Outside: one flow process between a list it takes and a list it yields.
Inside Each exceptionExceptionsOne item of the listStartFixAgentPatchObjectapprovedchanges requestedReviewHumanOpen PRAgentOutcomesGenerated item
Inside: the same Exceptions and Outcomes, drawn dashed as they belong to the board outside. Here Exceptions is one item.

Zooming in and out

  • Double-click a flow process, press its magnifier (Zoom in), right-click it and choose Zoom in, or press Open its board in its settings.
  • A breadcrumb at the top of the canvas, Flow › Each exception, takes you back out.
  • To turn processes you already drew into a flow process, select them (shift-click or drag a box) and press Group into flow in the toolbar.

The interface

Nothing is declared twice. The objects linked to the flow process outside are the same objects inside:

  • What it takes sits above the inner Start and leads into it; what it yields sits above End.
  • They are drawn dashed. You can move them, but not delete them from inside.
  • Processes inside link to them directly. The inner Start's process is given everything the flow process was given, linked to it or not.

Once per item

When a flow process takes a list, it runs once per item, and inside it the list object is the item. Whatever the inner processes generate of a list the flow process yields is one item of it, and the items are collected into the list outside. Each item gets its own git branch, so items running at once don't meet.

Tick Record each time it runs as a run of its own and each item becomes a run of its own, listed under the outer run, whose failure or duplicate only ends that item's branch. See Lists and items.

OPL

Each exception is a flow process, made of processes of its own.

Each exception takes Exceptions.

Each exception yields Outcomes.

Each exception zooms into:

Fix takes Exceptions.

Fix yields Patch.

Open PR yields Outcomes.

Each exception starts with Fix.

Spoletta · spoletta.comBusiness processes, drawn and run.