Skip to main content

Constellation DAG

Single-satellite planning assigns steps to orbital windows on one spacecraft. Constellation DAG planning distributes a workload across multiple satellites, routing intermediate data through inter-satellite links (ISL) and ground relays to minimize end-to-end latency.
When to use this — Any workload that benefits from parallelism across satellites, or where a single satellite lacks the resources (compute, power, storage, contact time) to complete the job within the deadline.

Architecture

Constellation planning is built on two core components:

ContactGraph

The ContactGraph builds a time-expanded graph of all communication opportunities across the fleet within the planning horizon. The graph edges are weighted by link capacity (data rate x duration) and propagation delay. Dijkstra finds the minimum-latency path for transferring data from any satellite to any other satellite or ground station.

ConstellationPlacer

The placer runs a 5-phase algorithm to assign steps to satellites: Scoring considers four factors: available compute capacity, proximity to upstream data, upcoming contact windows, and current battery state-of-charge.
For fleets of 10 or more satellites, the placer uses a k-d tree spatial index to accelerate nearest-neighbor queries during ISL detection. This keeps planning time sub-linear with fleet size.

ISL Transfer Segments

When two dependent steps are placed on different satellites, the planner inserts ISL transfer segments. These are scheduled during mutual visibility windows and include FEC overhead.
If no direct ISL path exists, the contact graph routes through intermediate satellites or ground relay (satellite A downlinks to a ground station, which uplinks to satellite B during a later pass).

API Usage

Create Constellation Plan

Request Parameters

Response Structure

The response extends the standard plan format with constellation-specific fields:

Metrics

Console Integration

The Console displays constellation plans in a DAG tab powered by React Flow:
  • Each satellite is a swim lane
  • Steps are nodes, colored by satellite assignment
  • ISL transfers appear as animated edges between lanes
  • The critical path is highlighted
  • Clicking a node shows step detail, resource usage, and the scoring breakdown from the placement phase
Constellation planning requires valid TLE data for all satellites in the request. If any satellite ID is not found in the CelesTrak catalog, the request returns a 400 error with the missing IDs listed.

Pareto Planning

Multi-objective optimization for constellation plans

Agent Protocol

Agent constellation mode for multi-satellite execution