Queen's chamber · Shared module · swarm-routing/ns3-swarm-core
swarm-core
What two or more protocols share: the swarm-core contrib module every protocol links against.
Under construction: v0.2.0 released, 1 epic planned Computed from its 2 epics · release v0.2.0, as they stood on .
What it does
swarm-core is the shared ns-3 contrib module (libns3.<ver>-swarm-core, #include "ns3/swarm-core-module.h"). Its core/ will hold simulator-free C++20 primitives extracted from AntHocNet's dual-licensed core: the bounded VisitedPath, little-endian wire helpers, PheromoneTable, RouteDecision, the ILinkState / ILinkMetric seams, evaporation and roulette selection.
Its model/ will hold the ns-3 glue: SwarmRoutingBase, a DeferredPacketQueue, WifiLinkMonitor, EnergyMetricHook over ns3::EnergySource, and IslLinkMonitor for satellite links. Nothing protocol-specific lands here: code is promoted only when a second protocol needs it.
Today the skeleton is in place (kSwarmCoreApiVersion, SwarmCoreSeed) and CI already runs every org quality gate on it: strict warnings, debug and sanitized builds, coverage, format, licence headers, and the determinism gate (same seed twice byte-identical, another seed different).
Diagrams
model includes ns3/*.Package structure
The repository's layout, its licence per directory (LICENSING.md) and what exists today.
| Path | What | Licence | State |
|---|---|---|---|
CMakeLists.txt | build_lib(LIBNAME swarm-core ...); ns-3 generates ns3/swarm-core-module.h | GPL-2.0-only | present |
core/ | simulator-free primitives, injected ports, carries core/LICENSE | MIT OR GPL-2.0-only | present |
model/ | ns-3 glue: SwarmRoutingBase, DeferredPacketQueue, the link monitors, EnergyMetricHook | GPL-2.0-only | present |
helper/ | SwarmRoutingHelper, SwarmMonitorHelper, SwarmLifecycleHelper | GPL-2.0-only | present |
test/ | swarm-core test suite: roundtrip, fuzz, primitives, glue | GPL-2.0-only | present |
examples/ | swarm-core-seed: the determinism gate's program | GPL-2.0-only | present |
Where it sits in the colony
Quests
The repository's epics and their sub-issues, as the issues stood on 2026-11-13: 4 of 13 sub-issues closed.
- #82 swarm-core 2.0.0: the host contract, so a protocol core runs on any host
Planned · 0 / 4 sub-issues closed
Closed: 1 epic
- #6 swarm-core: the shared contrib module every swarm protocol links (Phase 2)
Done, closed 2026-11-11 · 4 / 9 sub-issues closed
Cite this project
Using swarm-core in a paper? Cite the project as below, and the works it rests on from its references.
Text
Joppi, Daniel Henrique (n.d.). ns3-swarm-core (version 0.2.0) [Computer software]. https://doi.org/10.5281/zenodo.24138628
BibTeX
@software{ns3swarmcore,
author = {Joppi, Daniel Henrique},
title = {ns3-swarm-core},
version = {0.2.0},
doi = {10.5281/zenodo.24138628},
url = {https://github.com/swarm-routing/ns3-swarm-core}
}- Version
- 0.2.0
- Author
- Daniel Henrique Joppi · ORCID
- Licence
- GPL-2.0-only
Read from CITATION.cff at main when this site was built.
References
The 3 works docs/references.bib lists, read at main when this site was built. Each links its DOI; a work with none links its publisher's or institution's page.
Implemented
- Di Caro, Ducatelle & Gambardella, AntHocNet: An Ant-Based Hybrid Routing Algorithm for Mobile Ad Hoc Networks, Parallel Problem Solving from Nature - PPSN VIII, 2004, pp. 461–470. DOI 10.1007/978-3-540-30217-9_47
Software it builds on
- Joppi, AntHocNet for NS-3, Zenodo, 2026. DOI 10.5281/zenodo.20981979
- Riley & Henderson, The ns-3 Network Simulator, Modeling and Tools for Network Simulation, 2010, pp. 15–34. DOI 10.1007/978-3-642-12331-3_2
Sources
- AntHocNet core/include/anthocnet/core/ (the primitives' source), docs/wire-format.md, ADR-0006
The status and the quests come from the repository's issues and releases (2026-11-13); the other
facts on this page are kept by hand from its AGENTS.md (as of 2026-11-08).