Structure of Source Code Collection

The source code collection is structure into four disjoint layers:

     Data Handling Software Layers

Basic Services
This collection of software components provides a range of simple services being shared among all the PUS services.

CDH Structure
The general framework in which application processes are to be implemented is provided by this collection. This covers onboard routing and facilities for management of the uplink and downlink data streams.

PUS Services
This is a collection of components each implementing a service from the packet utilisation standard. These may be combined (through instantiation) to implement application processes for specific missions.

PROBA
This layer contains software components implementing application processes. These are based on instantiations of the ‘generic’ PUS services provided in the PUS Services collection. At the current time only a PROBA command and data handler is included as inspiration for future reuse.

A more elaborate description of the layers may be found in Data Handling System Concepts & Structure.

Source Code Standards

The source code is based on the Ada 83 programming language. Care has been taken to use only standard Ada 83 constructs whenever possible. Only the following non-standard features are used in the current implementation based on the AONIX ERC32 cross-compiler.

Passive tasks
Real-Time package
Dynamic Priorities package

Development of the source code has been performed according to the guidelines given in Ada '83 Quality and Style: Guidelines for Professional Programmers.