Softanza
StartFrançais
Softanza
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 type
composed example
o1 = new stzWorkflow("affirm65b")
? o1.WorkflowType()
#--> sequential
composed from the signature, run for this page
no extension
IsSequential
workflow type
composed example
o1 = new stzWorkflow("affirm65b")
? o1.IsSequential()
#--> 1
composed from the signature, run for this page
no extension
IsStateMachine
workflow type
composed example
o1 = new stzWorkflow("affirm65b")
? o1.IsStateMachine()
#--> 0
composed from the signature, run for this page
no extension
AddStep_
sequential workflowno extension
AddStepXT
sequential workflowno extension
AddStepXTT
sequential workflowno extension
Step_
sequential workflowno extension
ExpandEndingsPerArrival
Returns the number of markers it added.
composed example
o1 = new stzWorkflow("affirm65b")
? o1.ExpandEndingsPerArrival()
#--> 0
composed from the signature, run for this page
QCSXTZZZIBWU
Steps
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 path
composed example
o1 = new stzWorkflow("affirm65b")
? o1.IsExceptionalTransition("an", "an", "an")
#--> 0
composed from the signature, run for this page
no extension
State
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 metrics
composed example
o1 = new stzWorkflow("affirm65b")
? o1.TotalDuration()
#--> 0
composed from the signature, run for this page
no extension
CriticalPath
performance metricsno extension
AllPathsFromStartToEnd
performance metricsno extension
Bottlenecks
performance metricsno extension
ValidateDeadlock
validation
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 page
no extension
ValidateSLA
validation
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 page
no extension
ValidateBottleneck
validation
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 page
no extension
ViewCriticalPath
visualizationno extension
ViewBottlenecks
visualizationno extension
ViewSLAViolations
visualizationno extension
ViewByActor
visualizationno extension
ViewByRole
visualizationno extension
ToWorkflow
export
composed example
o1 = new stzWorkflow("affirm65b")
? o1.ToWorkflow()
#--> workflow "affirm65b"
#-->     type: sequential
#--> steps
#--> flow
composed from the signature, run for this page
no extension
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
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