The reference deployment application is to demonstrate a collection of ISF components interconnected to form a deployment. The deployment represents a "reference" spacecraft that includes commanding, events, telemetry channels and parameters.
The application illustrates some example application components:
Component | Description | Link |
---|---|---|
SendBuffApp | A component that sends a buffer | HTML MD |
RecvBuffApp | A component that receives a buffer | HTML MD |
BlockDriver | A notional driver that relays buffers from SendBuffApp to RecvBuffApp | HTML MD |
SignalGen | A component that generates telemetry following a waveform | HTML MD |
PingReceiver | A test component that gets health pings that can be turned off | HTML MD |
It interconnects those application components with reusable service components:
Component | Description | Link |
---|---|---|
ActiveLogger | Logs events for downlink | HTML MD |
ActiveRateGroup | Executes a rate group by calling components | HTML MD |
BufferManager | Manages a pool of buffers | HTML MD |
CmdSequencer | Loads a set of commands from a binary file and executes them | HTML MD |
CmdDispatcher | Dispatches commands from a ground system to registered components | HTML MD |
FileDownlink | Component to downlink files to ground system | HTML MD |
FileManager | Component to perform various file operations | HTML MD |
FileUplink | Component to receive uplinked files from ground system | HTML MD |
FPManager | Component to handle fault events | HTML MD |
FPStateMgr | Component to exercise fault behaviors | HTML MD |
Health | Pings active components in the topology to verify their aliveness | HTML MD |
PrmDb | Loads sets of parameters from storage at startup and provides them to components | HTML MD |
RateGroupDriver | Sends messages to ActiveRateGroup instances to run a cycle | HTML MD |
TlmChan | Provides storage for telemetry channels and periocially sends them to the ground system | HTML MD |
PolyDb | Manages a database of polymorphic data values | HTML MD |
There is a set of application-level components developed on previous projects that can be used:
Component | Description | Link |
---|---|---|
ThermalControl | Provided PID loops for thermal monitor and control | HTML MD |
There is a set of useful utility components that can be used on supported operating systems:
Component | Description | Link |
---|---|---|
LinuxTime | Provides time stamps for telemetry on a Linux system | HTML MD |
PassiveConsoleTextLogger | Prints the text form of events to standard output | HTML MD |
SocketGndIf | Provides a socket for communicating with the ground system | HTML MD |
Each software module that has a Software Design Document written can be found here: HTML MD
The topology of the reference example is the interconnection of all the components used in the reference deployment (a deployment is a set of components connected together and compiled into a binary). There are a large number of connections so it is not feasible to show them all in one diagram. The following sections have views of the topology that show the connections for a particular purpose. The topology diagrams will be broken down into the core set of Command and Data Handling (C&DH) connections that would be reused from project to project as well as the connections unique to the reference example. The diagrams were generating using MagicDraw, while the XML defining the topology connections was generated using the MagicDraw plug-in developed for ISF.
The commanding view consists of connections for components to register commands, the dispatching of commands and the return of command execution status.
The connections for the C&DH commanding are as follows:
The connections for the reference deployment commanding are as follows:
The telemetry view consists of connections for components to update telemetry channels in the TlmChan
component.
The connections for the C&DH telemetry are as follows:
The connections for the reference deployment telemetry are as follows:
The logging view consists of connections for components to send events for logging to the ActiveLogger
component.
The connections for the C&DH logging are as follows:
The connections for the reference deployment logging are as follows:
The parameters view consists of connections for components to retrieve and update parameters stored in the PrmDb
component.
The core C&DH components do not have any parameters.
The connections for the reference deployment parameters are as follows:
The time view consists of connections for components to get time for time-tagging events and telemetry.
The connections for the C&DH time are as follows:
The connections for the reference deployment time are as follows:
The health view consists of connections for components to respond to pings from Health
to verify their threads are alive.
The connections for the C&DH health are as follows:
The connections for the reference deployment health are as follows:
The rate group view consists of connections for components to be executed at different rates in the reference topology.
The connections for the rate groups are as follows:
The ground view consists of connections for C&DH components to receive commands from and send telemetry to a ground system. The ground system in the reference example is communicated with via a TCP/IP socket.
The connections for the ground system are as follows:
The drivers view consists of connections for the reference components to send packets to and from the example "driver." The driver also provides ticks to the RateGroupDriver
component that cycles the rate groups.
The connections for the drivers are as follows:
Date | Description |
---|---|
6/19/2015 | Initial version |
4/20/2017 | Rel1.9 |