Skip to Content
ResearchReproducibilityICCD reproducibility

Reproducing the ICCD paper

Target paper: ICCD: CRDT-Based Intent Propagation over Contact-Plan DTN.

Versions pinned for the canonical results

ComponentVersionSHA256 (short)
gossamer_threaded_intelligence wheelTBD (paper rev)TBD
leviathan_engine wheelTBDTBD
maneuver-map backendTBD (git)TBD
Python3.11.x

Fill this table from the provenance block of the canonical experiment.json; replace TBD values with the actual hashes that shipped with the paper.

Environment setup

python3.11 -m venv .venv && source .venv/bin/activate pip install -r maneuver-map/backend/requirements.txt # Or, against a pinned wheel index: pip install --extra-index-url https://us-central1-python.pkg.dev/arboria-research/python-packages/simple/ \ gossamer-threaded-intelligence==<pinned> \ leviathan==<pinned> export ENGINE_MODE=inprocess # skip HTTP for deterministic wall-clock export PYTHONHASHSEED=0

Trial A — ICCD + contact-plan DTN

Canonical body for POST /experiments:

{ "name": "iccd_contact_plan_inner_heliosphere", "steps": 12000, "num_agents": 50000, "dt": 0.5, "generations": 1, "output_frequency": 20, "environment_bound": 2.25e11, "flock_params": { "alignment_weight": 1.0, "cohesion_weight": 1.0, "separation_weight": 1.6, "neighbor_radius": 120000.0, "separation_distance": 500.0, "max_speed": 50.0 }, "algorithm": "flocking", "algo_params": { "iccd": { "initial_aoi": 14400.0, "relay_rotation": true }, "dtn": { "contact_density": 0.15, "bandwidth_kbps": 8.0, "one_way_delay_sec": 10800.0, "custody_transfer": true }, "energy": { "soc_wh": 120.0, "radio_j_per_kb": 0.3 }, "failure": { "relay_attrition_rate_per_hour": 0.002 } }, "seed_base": 42 }

Expected wall-clock on the reference machine (32-core CPU, 256 GB): ~3.5 hours for a full 1e6-agent run; the 50k-agent trial above is ~8 minutes and produces the metrics for Table 1 in the paper.

Expected outputs

After the run completes, the experiment.json at /data/experiments/<exp_id>/experiment.json should contain:

{ "final_swarm_metrics": { "cohesion": "~ expected value, fill from canonical run", "alignment": "~ expected value", "separation": "~ expected value" }, "paper_metrics": { "coverage_ratio": "~ expected", "collision_rate_per_agent_step": "~ expected" } }

Fill in the canonical values from the archived run. The canonical experiment.json blob is published alongside the paper’s DOI.

Cross-reference with baselines

Trials B (Periodic Broadcast) and C (Epidemic Flooding) live in the same format; copy the appropriate config body from §4.7 of the paper and submit with the same seed_base=42 so the comparison is apples-to-apples.

Last updated on