user { # User n1: circle label:"Start A B Testing" n4: rectangle label:"Execute A B Testing action" n7: rectangle label:"Monitor A B Testing status" n10: circle label:"End A B Testing" n1.handle(bottom) -> app.n2.handle(top) n4.handle(bottom) -> app.n5.handle(top) n7.handle(bottom) -> app.n8.handle(top) } app { # App n2: rectangle label:"Receive A B Testing event" n5: rectangle label:"Record A B Testing outcome" n8: rectangle label:"Monitor A B Testing status" n2.handle(bottom) -> service.n3.handle(top) [label="Next"] n5.handle(bottom) -> service.n6.handle(top) [label="Done"] n8.handle(bottom) -> service.n9.handle(top) [label="Processed"] } service { # Service n3: rectangle label:"Validate A B Testing conditions" n6: rectangle label:"Monitor A B Testing status" n9: diamond label:"Monitor A B Testing status" n3.handle(right) -> user.n4.handle(left) n6.handle(right) -> user.n7.handle(left) n9.handle(right) -> user.n10.handle(left) n9.handle(left) -> app.n8.handle(left) [label="Retry/Rejected"] }