This page summarizes how four mission-specification formalisms: Behavior Trees (BT), State Machines (SM), Hierarchical Task Networks (HTN), and BPMN, represent fundamental control-flow constructs and mission-level concepts.
We compare the formalisms along two dimensions: (i) how they encode core control-flow constructs (sequential, conditional, parallel, and loop), and (ii) how they capture mission concepts such as skills, tasks, data, communication, events, errors, and pre/post-conditions at the mission level.
The following blocks summarize the primary constructs used by each formalism.
We adopt a mission-level perspective and focus on how each formalism expresses core abstractions: skills (basic robot capabilities), tasks (compositions of skills), and missions (coordinated tasks with precedence and concurrency). We also consider how data, events, errors, communication, and pre/post-conditions can be represented.
| Concept | BT | SM | HTN | BPMN |
|---|---|---|---|---|
| Skill | Action node (leaf) | Simple state | Primitive task | Task (atomic activity) |
| Task | Subtree | Composite state | Compound task | Subprocess / Call activity |
| Data | Inputs / blackboard (implementation-dependent) | State variables (implementation-dependent) | Task parameters (limited built-in storage) | Data objects + process variables |
| Communication | Implementation-dependent | Implementation-dependent | Implementation-dependent | Message / signal events |
| Events | Not first-class (via ticking + conditions) | Event-triggered transitions | Not first-class | First-class events (multiple types) |
| Errors | Failure propagation | Error transitions (when state active) | Not first-class | Error events |
| Pre/Post-conditions | Patterns (e.g., guarded actions) | Guards / protocol transitions | Native (tasks + methods) | Not native (approximations/extensions) |
This mapping reflects typical mission-level usage patterns and the constructs most commonly employed in robotics toolchains.