Astro~/0.4
** Conformance
** Astro * Conformance
** /conformance/aos

AOS Space Data Link Protocol

PICS proforma: what this package implements, clause by clause.

Conformance Statement for pkg/aos, CCSDS 732.0-B-4


A1.1 GENERAL INFORMATION

A1.1.1 Identification of PICS

FieldValue
Date of Statement (DD/MM/YYYY)23/08/2026
PICS Serial NumberASTRO-AOS-PICS-001
System Conformance Statement Cross-ReferenceThis document

A1.1.2 Identification of Implementation Under Test (IUT)

FieldValue
Implementation Nameastro/pkg/aos
Implementation VersionSee go.mod / latest commit on main
Special ConfigurationNone
Other InformationGo library implementing CCSDS AOS Space Data Link Protocol. Full pipeline: PhysicalChannel (MC mux/demux) -> MasterChannel (VC mux, 24-bit gap detection) -> VirtualChannel (frame buffer) -> Services (M_PDU with packet spanning via FHP and SPP idle-packet fill, B_PDU with bitstream pointer, VCA with exact-fill SDUs, VCF for raw frame ingest). Partial M_PDU packet zones are completed with SPP idle packets (APID 0x7FF) per clause 4.1.4.2.2; oversized partial B_PDU payloads split across frames rather than clamping the pointer; the idle fill pattern is configurable per channel.

A1.1.3 Identification of Supplier

FieldValue
SupplierRavi Suhag
Contact Point for QueriesGitHub, github.com/ravisuhag/astro
Implementation Name(s) and Version(s)astro/pkg/aos (Go package)
System Name(s)Astro

A1.1.4 Identification of Specification

FieldValue
SpecificationCCSDS 732.0-B-4 (AOS Space Data Link Protocol, Blue Book, Issue 4, August 2021)
Have any exceptions been required?Yes [ ] No [X]

A1.2 PROTOCOL FEATURES

FeatureReferenceStatusSupport
Transfer Frame Version Numberclause 4.1.2.2M
Spacecraft Identifierclause 4.1.2.3M
Virtual Channel Identifierclause 4.1.2.4M
Virtual Channel Frame Countclause 4.1.2.5M
Replay Flagclause 4.1.2.5.2M
VC Frame Count Usage Flagclause 4.1.2.5.3M
Signaling Reserved Sparesclause 4.1.2.5.4M
VC Frame Count Cycleclause 4.1.2.5.5M
Frame Header Error Controlclause 4.1.2.6O
Insert Zoneclause 4.1.3O
Transfer Frame Data Fieldclause 4.1.4M
Operational Control Fieldclause 4.1.5O
Frame Error Control Fieldclause 4.1.6O

A1.3 SERVICES

FeatureReferenceStatusSupport
Multiplexing PDU (M_PDU)clause 3.3.2O
Bitstream PDU (B_PDU)clause 3.3.3O
Virtual Channel Access (VCA)clause 3.3.4O
Virtual Channel Frame (VCF)clause 3.3.5O
Only Idle Data (OID)clause 4.1.2.4M

A1.4 CHANNEL MANAGEMENT

FeatureReferenceStatusSupport
Physical Channelclause 3.2.1MY: PhysicalChannel with MC multiplexing
Master Channelclause 3.2.2MY: MasterChannel with VC multiplexing
Virtual Channelclause 3.2.3MY: VirtualChannel with frame buffering
Frame Gap Detectionclause 3.3MY: Per-VC 24-bit count tracking
VC Multiplexingclause 3.3.2MY: Weighted round-robin via SDL
MC Multiplexingclause 3.3.3MY: Weighted round-robin via SDL

Legend: M = Mandatory, O = Optional, C = Conditional, Y = Yes (supported), N = No (not supported)


Wire test vectors

The octets backing this statement live in the vector corpus — 12 vectors. Each vector names the clause it comes from and carries the derivation that produced it.

File
aos/frame.json10 vectors
aos/mpdu.json2 vectors

These are data files, so any implementation can check itself against the same octets. See CONTRACT.md for how, and how this is verified for what rests on a published vector versus a reading of the clause.