Robot behavior ============== := :paused | :patrol | :fault := :pause | :run | :rejected | :reset #Robot(mode, event) => := | :Dispatch(mode, event) | :Paused | :Patrol | :Fault. #Robot(mode, event) -> :Dispatch(mode, event) :Dispatch(*, :reset) -> :Paused :Dispatch(*, :rejected) -> :Fault :Dispatch(:fault, *) -> :Fault :Dispatch(*, :pause) -> :Paused :Dispatch(*, :run) -> :Patrol :Paused => :paused :Patrol => :patrol :Fault => :fault .