Execution Manager¶
Plane: Intelligence Plane
Purpose¶
Orchestrates and monitors task execution. The Execution Manager manages the execution contract lifecycle — pushing contracts to edge devices, maintaining projected state during offline periods, and reconciling actual state upon reconnection. It is the bridge between cloud-side planning and edge-side execution.
Responsibilities¶
Push execution contracts to devices
Monitor contract execution via ThingIO (telemetry data)
Maintain the live/projected/reconciled state machine
Detect contract failures and consult Policy Service for recovery
Trigger replanning when reconciliation reveals divergence
Execution Contract¶
When the platform assigns a task to a device, it pushes an execution contract containing the task definition, scoped actions, and required data (e.g., map excerpt from Equator). At the push moment, connectivity is confirmed.
See Execution Contract pattern for full details.
Device State Machine¶
┌────────────┐
│ Live │ ◄── Connected, real-time telemetry
└─────┬──────┘
│ connection lost
▼
┌────────────┐
│ Projected │ ◄── Offline, platform estimates based on contract
└─────┬──────┘
│ device reconnects
▼
┌────────────┐
│ Reconciled │ ◄── Actual state corrects projection
└─────┬──────┘
│ divergence? → replan
▼
┌────────────┐
│ Live │
└────────────┘
State |
Meaning |
Platform Behavior |
|---|---|---|
Live |
Connected, real-time telemetry |
Platform sees truth directly |
Projected |
Offline, no telemetry |
Platform estimates based on contract scope |
Reconciled |
Device reconnects, reports actuals |
Actual corrects projection, triggers replan if needed |
Contract Failure Recovery¶
Handled by the Policy Service, not hardcoded:
Execution Manager detects contract failure
Consults Policy Service for the applicable recovery strategy
Executes recovery: retry, reassign, escalate, hold, or abort
API Surface¶
Operation |
Description |
|---|---|
|
Push a contract to a device |
|
Get contract status |
|
Query contracts |
|
Trigger manual reconciliation |
Dependencies¶
Service |
Relationship |
|---|---|
Scheduler |
Receives assignments to execute |
ThingIO |
Monitors device state during execution (via ThingsBoard telemetry) |
Equator |
Includes spatial data in contracts |
Policy Service |
Failure recovery strategies |
Planner |
Triggers replanning on reconciliation divergence |
Consumed By¶
Consumer |
Usage |
|---|---|
Applications |
Monitor execution progress |
Devices |
Receive and execute contracts |