  Executing temporal plans in the real and open world requires adapting to
uncertainty both in the environment and in the plan actions. A plan executor
must therefore be flexible to dispatch actions based on the actual execution
conditions. In general, this involves considering both event and time-based
constraints between the actions in the plan. A simple temporal network (STN) is
a convenient framework for specifying the constraints between actions in the
plan. Likewise, a behavior tree (BT) is a convenient framework for controlling
the execution flow of the actions in the plan. The principle contributions of
this paper are i) an algorithm for transforming a plan into an STN, and ii) an
algorithm for transforming an STN into a BT. When combined, these algorithms
define a systematic approach for executing total-order (time-triggered) plans
in robots operating in the real world. Our approach is based on creating a
graph describing a deordered (state-triggered) plan and then creating a BT
representing a partial-order (determined at runtime) plan. This approach
ensures the correct execution of plans, including those with required
concurrency. We demonstrate the validity of our approach within the PlanSys2
framework on real robots.
