Svc/Subtopologies/FileHandling/docs/sdd.md
The FileHandling subtopology packages the core file-transfer services commonly needed in F´ deployments: file uplink (ground → flight), file downlink (flight → ground), on-board file management, and parameter management via filesystem. By providing these as a pre-wired subgraph, integration engineers avoid repetitive wiring and get a consistent, reusable baseline for file operations.
| ID | Description | Validation |
|---|---|---|
| SVC-FILEHANDLING-001 | The subtopology shall provide file uplink functionality to receive and reconstruct files from ground. | Inspection |
| SVC-FILEHANDLING-002 | The subtopology shall provide file downlink functionality to segment and transmit files to ground. | Inspection |
| SVC-FILEHANDLING-003 | The subtopology shall provide on-board file management functionality (e.g., list, remove, hash, mkdir). | Inspection |
| SVC-FILEHANDLING-004 | The subtopology shall provide parameter management via the filesystem. | Inspection |
| SVC-FILEHANDLING-005 | The subtopology shall support configurable instance properties (IDs, queue sizes, stack sizes, priorities). | Inspection |
| SVC-FILEHANDLING-006 | The subtopology shall expose rate-group connection points for any rate-drive components it contains. | Inspection |
| Instance name | Type (Svc) | Kind | Purpose (core function) |
|---|---|---|---|
fileUplink | FileUplink | Active | Ingest deframed file packets; reconstruct files. |
fileDownlink | FileDownlink | Active | Read files; segment into packets for downlink. |
fileManager | FileManager | Active | Local file operations. |
prmDb | PrmDb | Active | Filesystem based parameter management. |
FileHandlingConfig for these static instances (see §4).fileDownlink.ComCcsds, ComFprime, FramingFprime, FramingCcsds) to complete uplink/downlink paths.Focused on file transfer and on-board file ops only. It does not provide general uplink/downlink routing for non-file traffic, framing/deframing for non-file data, or broader CDH services.
topology Flight {
instance FileHandling.Subtopology
param connections instance FileHandling.prmDb
# Schedule the active/queued file components (example)
connections RateGroups {
rg.RateGroupMemberOut[0] -> FileHandling.Subtopology.fileDownlinkRun
}
connections ComCcsds_FileHandling {
# File Downlink <-> ComQueue
FileHandling.Subtopology.fileDownlinkBufferSendOut -> ComCcsds.Subtopology.bufferQueueIn[ComCcsds.Ports_ComBufferQueue.FILE]
ComCcsds.Subtopology.bufferReturnOut[ComCcsds.Ports_ComBufferQueue.FILE] -> FileHandling.Subtopology.fileDownlinkBufferReturn
# Router <-> FileUplink
ComCcsds.Subtopology.fileUplinkOut -> FileHandling.Subtopology.fileUplinkBufferSendIn
FileHandling.Subtopology.fileUplinkBufferSendOut -> ComCcsds.Subtopology.fileUplinkReturnIn
}
Configure only the instance properties for the static instances owned by the subtopology. All knobs live under:
Svc/Subtopologies/FileHandling/FileHandlingConfig/FileHandlingConfig.fpp. The generated constants header for this module (e.g.,FppConstantsAc.hpp) reflects these settings. ([FPrime][2])
FileHandlingConfig.fpp)fileUplink, fileDownlink, fileManager.fileUplink, fileDownlink).These knobs tailor runtime footprint and scheduling without modifying the subtopology wiring.
| Requirement ID | Satisfied by |
|---|---|
| SVC-FILEHANDLING-001 | fileUplink — Svc.FileUplink |
| SVC-FILEHANDLING-002 | fileDownlink — Svc.FileDownlink |
| SVC-FILEHANDLING-003 | fileManager — Svc.FileManager |
| SVC-FILEHANDLING-004 | prmDb — Svc.PrmDb |
| SVC-FILEHANDLING-005 | FileHandlingConfig (instance properties) |
| SVC-FILEHANDLING-006 | Run/scheduling connection specifiers |