The library documents itself · Diagramming & graphs
stzWorkflow
48 own methods · 5 forms written with extensions, listed under their method · Also inherits from stzDiagram (245) · stzGraph (291)
the source: base/graph/stzWorkflow.ring(opens in a new tab) · All classes · The area reference: Diagramming & graphs
Under each method, its extensions (Q CS XT Z ZZ IB W U): bold and ticked, it exists; struck, it does not. The extensions and what they mean
Examples: 0 come from the library's tests; 10 were composed from each method's signature and run for this page, on a fresh object, for example o1 = new stzWorkflow("affirm65b"). 38 methods have none yet. Examples run on 2026-10-03 12:54 inside the library at commit 0e72e2e2c.
Method
Explanation, as the source carries it
init
(no comment in the source: the name reads as a sentence) initno extension
SetWorkflowType
workflow typeno extension
WorkflowType
workflow typeno extension
composed example
o1 = new stzWorkflow("affirm65b")
? o1.WorkflowType()
#--> sequentialcomposed from the signature, run for this pageIsSequential
workflow typeno extension
composed example
o1 = new stzWorkflow("affirm65b")
? o1.IsSequential()
#--> 1composed from the signature, run for this pageIsStateMachine
workflow typeno extension
composed example
o1 = new stzWorkflow("affirm65b")
? o1.IsStateMachine()
#--> 0composed from the signature, run for this pageAddStep_
sequential workflowno extension
AddStepXT
sequential workflowno extension
AddStepXTT
sequential workflowno extension
Step_
sequential workflowno extension
ExpandEndingsPerArrival
Returns the number of markers it added.QCSXTZZZIBWU
composed example
o1 = new stzWorkflow("affirm65b")
? o1.ExpandEndingsPerArrival()
#--> 0composed from the signature, run for this pageSteps
sequential workflowno extension
ConnectSteps
sequential workflowno extension
Then
sequential workflowno extension
AddState
state machineQCSXTZZZIBWUXTT
AddTransition
state machineQCSXTZZZIBWU
SetExceptionEvents
See the BPMN layout law, section 2, for why this is load-bearing.QCSXTZZZIBWU
ExceptionEvents
intended vs exceptional pathno extension
AddExceptionTransition
intended vs exceptional pathno extension
IsExceptionalTransition
intended vs exceptional pathno extension
composed example
o1 = new stzWorkflow("affirm65b")
? o1.IsExceptionalTransition("an", "an", "an")
#--> 0composed from the signature, run for this pageState
intended vs exceptional pathno extension
States
intended vs exceptional pathno extension
Transitions
intended vs exceptional pathno extension
AddActor
actors & rolesno extension
AssignStepTo
actors & rolesno extension
Actor
actors & rolesno extension
Actors
actors & rolesno extension
SetStepSLA
sla managementno extension
SetStepDuration
sla managementno extension
SLAViolations
sla managementno extension
SetOrgChart
org chart linkingno extension
MapRoleToPosition
org chart linkingno extension
GetPositionForStep
org chart linkingno extension
WorkloadByPosition
org chart linkingno extension
TotalDuration
performance metricsno extension
composed example
o1 = new stzWorkflow("affirm65b")
? o1.TotalDuration()
#--> 0composed from the signature, run for this pageCriticalPath
performance metricsno extension
AllPathsFromStartToEnd
performance metricsno extension
Bottlenecks
performance metricsno extension
ValidateDeadlock
validationno extension
composed example
o1 = new stzWorkflow("affirm65b")
? @@( o1.ValidateDeadlock() )
#--> [ [ "status", "pass" ], [ "domain", "deadlock" ], [ "rulegroup", "deadlock" ], [ "issuecount", 0 ], [ "issues", [ ] ], [ "affectednodes", [ ] ] ]composed from the signature, run for this pageValidateSLA
validationno extension
composed example
o1 = new stzWorkflow("affirm65b")
? @@( o1.ValidateSLA() )
#--> [ [ "status", "pass" ], [ "domain", "sla" ], [ "rulegroup", "sla" ], [ "issuecount", 0 ], [ "issues", [ ] ], [ "affectednodes", [ ] ] ]composed from the signature, run for this pageValidateBottleneck
validationno extension
composed example
o1 = new stzWorkflow("affirm65b")
? @@( o1.ValidateBottleneck() )
#--> [ [ "status", "pass" ], [ "domain", "bottleneck" ], [ "rulegroup", "bottleneck" ], [ "issuecount", 0 ], [ "issues", [ ] ], [ "affectednodes", [ ] ] ]composed from the signature, run for this pageViewCriticalPath
visualizationno extension
ViewBottlenecks
visualizationno extension
ViewSLAViolations
visualizationno extension
ViewByActor
visualizationno extension
ViewByRole
visualizationno extension
ToWorkflow
exportno extension
composed example
o1 = new stzWorkflow("affirm65b")
? o1.ToWorkflow()
#--> workflow "affirm65b"
#--> type: sequential
#--> steps
#--> flowcomposed from the signature, run for this pageImportFlow
The READ side of ToWorkflow() above: it writes .stzflow, this reads it back. It used to live in stzWorkflowSimulation -- but every line of it calls stzWorkflow methods (AddStepXTT, AddActor, ConnectSteps, SetStepDuration, SetStepSLA), none of which a simulation has. It was written for THIS class and declared in the wrong one, so `This` was always the wrong object. A simulation proposes CHANGES (OptimizeStep, ReassignStep, ParallelizeSteps); importing a file is not a what-if.no extension
LoadFlow
Same as ImportFlow: The READ side of ToWorkflow() above: it writes .stzflow, this reads it back. It used to live in stzWorkflowSimulation -- but every line of it calls stzWorkflow methods (AddStepXTT, AddActor, ConnectSteps, SetStepDuration, SetStepSLA), none of which a simulation has. It was written for THIS class and declared in the wrong one, so `This` was always the wrong object. A simulation proposes CHANGES (OptimizeStep, ReassignStep, ParallelizeSteps); importing a file is not a what-if.no extension

