This package defines the classes to support the the AOCS data concept and the interfaces to define data sources and data sinks. 'AOCS data' (also called 'cyclical data') are data that are produced or consumed on a periodic basis by AOCS components. Examples include the sensor outputs produced by sensor objects, the torque requests produced by the controller object, the telemetry data produced by the telemetry manager object, etc. AOCS data are encapsulated in objects that are derived from the base class AocsData. Data sources and data sinks are objects that participates in a data flow. Data sources are objects from which data are read to be used as inputs for some other object. Data sinks are objects to which data produced as outputs by some other objects are written to.

AOCS data present two “faces” to the rest of the AOCS software that reflect the two main purposes for which AOCS components may need to access them. Some components access AOCS data for housekeeping purposes like integrity checking, telemetry reporting, failure investigations, etc. Other components access AOCS data for computational purposes, namely they use them as inputs or outputs of arithmetic computations. Class AocsData exposes operations to allow both housekeeping and computational access to the underlying data. Computational access is through the operations defined by the DataSink and DataSource interfaces. Housekeeping access is through the remaining operations.

The AOCS data concept is discussed in greater detail in a dedicated technical note but note that this document was produced for the C++ version of the framework and is therefore only partially applicable.