Bidirectional Loop Workflow
edge-cases
This workflow models circular references between nodes in both directions.
edge-cases
This workflow models lanes that never connect to each other.
laneA { # Lane A
n1: circle label:"Start Disconnected Lanes"
n2: diamond label:"Disconnected Lanes step 2"
n3: rectangle label:"Disconnected Lanes step 3"
n5: rectangle label:"Disconnected Lanes step 5"
n7: circle label:"End Disconnected Lanes"
n1.handle(right) -> n2.handle(left)
n2.handle(right) -> n3.handle(left) [label="Yes/Approved"]
n2.handle(bottom) -> laneB.n4.handle(top) [label="No/Rejected"]
n3.handle(right) -> n5.handle(left)
n5.handle(bottom) -> laneB.n6.handle(top)
loop [retry until success] n2 n3 n4 n5 n6
}
laneB { # Lane B
n4: rectangle label:"Disconnected Lanes step 4"
n6: rectangle label:"Disconnected Lanes step 6"
n6.handle(right) -> laneA.n7.handle(bottom)
n4.handle(right) -> laneA.n5.handle(left)
}
edge-cases
This workflow models circular references between nodes in both directions.