Execute
The optional execution environment runs the model’s processes as the model states them. What was specified is what runs: there is no hand-written program to drift from the model.
From approved model to running process
Each environment runs one model’s approved main line, so it runs only what a project team approved. The model’s processes are run as the model states them, on Temporal: a new revision needs no build and no redeploy, and executions already running finish on the revision they started on.
A promotion gate
Every new revision is first a candidate, and what cannot run is refused before anything starts, never half-way through an execution. Promotion is automatic, manual or frozen per environment, and can be rolled back.
Who answers each contract
An environment’s configuration says, for each service contract, whether a process or a decision of the model answers it, a person, an external system, a coded implementation, a fixed stub, or the contract’s own post-conditions.
Contracts checked as it runs
Every answer, a person’s or an external provider’s included, is checked against its contract. A refusal undoes what was already committed through the model’s compensations, and monitored activities remind, escalate or withdraw work that is taking too long.
People and other systems
Where a process asks a person for something, that person answers a human task in the task portal, on forms generated from the model. Systems the organisation already runs answer requests over HTTP, Kafka and AMQP.
Tests nobody writes
Unit test runs run each process against cases generated wholly from the model, with the contracts’ own conditions as the oracle. The signed report is what a project’s Testing phase is signed off on.
Operating and auditing
Operators follow each execution, promote and roll back in the console; what happened is recorded for auditors and streamed as events to monitoring and SIEM tools.