Common patterns

Waiting for a reply

Wait for a message, or for whichever comes first, a reply or a deadline.

Wait for the reply

A receive task, or a message catch event, waits on the path until the message arrives. With pools, show who the message comes from:

Flowmark
process Quote request
pool Supplier (below)

start Parts needed
send Ask for a quote
  => Supplier: Quote request
receive Receive quote
  <= Supplier: Quote
user Compare quote
end Quote reviewed

Wait for whichever comes first

An event-based gateway (eventgw) waits, and the first event to happen picks the path. Its arrows must lead to catch events or receive tasks:

Flowmark
process Invoice payment

start Invoice sent
eventgw #wait
  -> Payment received
  -> Payment overdue

catch:message Payment received
end Invoice paid

catch:timer(P30D) Payment overdue
send Send payment reminder
end Reminder sent

What to notice

  • The wait is a step on the flow. Messages to and from a pool don't connect steps on their own; the process still needs its own flow from start to end.
  • Each path out of the eventgw starts with something that waits: a message, a timer or a receive task.
  • For a reminder that doesn't stop the wait, put a non-interrupting timer on the receive task instead. See Deadlines and reminders.

On this page