A reactive decision making system that shares some aspects of state machines
But has a more declarative structure and enforces an understandable structure
There are three kinds of nodes
Composite
Decorator
Leaf
And at any given time, the nodes can be in three possible states
Success
Failure
Running
Transitions are externalized from states. Instead what you normally think of states in a FSM become behaviors. This allows easy reuse of behaviors as context-specific transitions are decoupled.
Easy for non-programmers to create (usually with visual tools or high level script)
Composable, self contained and easy to alter and reuse