Executive Service
The Executive is responsible for interpreting and executing behavior trees. Components that would interact with the Executive API would typically be an HMI or language-specific client libraries like the Solution Building Library. It is not to be called from components or services (which could lead to circular dependencies and unsafe behavior).
The Executive can be instructed via its gRPC API
Concepts
There are some basic concepts to be aware of when using the Executive API:
- Operation
- The executive request to run a behavior tree is a long-lived operation. An operation wraps the execution of a particular process and provides access to its result.
- Behavior tree
- The format of processes to execute is a behavior tree. They are a declarative model to describe what needs to happen to perform a certain process, e.g., a sequence of tasks that need to be done.
- Blackboard
- The blackboard is a key-value map internal to the Executive. It is used to store information for a specific operation encoded by protobufs at a specific key. For example, return values of skills are stored in the blackboard. The blackboard can be accessed directly through the blackboard service.
- Dataflow
- The Dataflow guide describes how values from the blackboard are used. For example, output data from skills that is stored on the blackboard can be used to parameterize other skill calls. .