AOCS Simulation Framework


The AOCS Simulation Framework is a framework for a software-only simulation for AOCS applications instantiated from the AOCS Framework. The development of an AOCS Simulation Framework is one of the follow-on projects for the AOCS Framework project. This document describes the main requirements that should be satisfied by such a simulation framework.

The first project started in February under phase II of the present contract with ESA. It is described under the Real Time Java Project web site.

Back to Top, Back to Aocs Framework Project Home


Basic Functionalities

The simulation framework should model the following basic functionalities: The above functionalities give rise to a number of major hot-spots, or points where behaviour adaptation takes place to customize the framework to the needs of a specific user. They include: For each of these hot-spots, design patterns and adaptation mechanisms must be proposed.

Back to Top, Back to Aocs Framework Project Home


Simulation Modes

The software framework should allow simulation operation in both open- and closed-loop.

Additionally, two operational modes are foreseen that define the level at which the exchange of unit data between the AOCS under test and the environment exchange data. The AOCS Framework models external units (sensors and actuators) through proxy components that represent the external unit within an AOCS application. The unit proxy components have a plug-in component of type AocsUnithardware that models the low-level interface to the physical link between the AOCS software and the external unit.

In Unit-Based Simulation mode (or UBS mode), the exchange of unit data between the (simulated) environment and the AOCS application takes place at the level of the unit proxy components in the AOCS application. In practice, this could be done by customizing these components with dedicated AocsUnitHardware components that model the data exchanges with the simulated environment rather than with a unit physical link.

In UnitLess Simulation mode (or ULS mode), the unit proxy components in the AOCS application are by-passed and the exchange of unit data between the environment and the AOCS application is entirely through the shared data area. This operational mode is useful because it allows to perform functional tests even before the unit models have been fully defined.

Back to Top, Back to Aocs Framework Project Home


Integration with AOCS Framework

The primary requirement of the simulation framework is that it should be smoothly integrated with the AOCS Framework. The high-level structure of the AOCS Framework is depicted in the figure:

The framework is constituted by a set of so-called functionality managers (yellow blocks in the figure) that are customized at run-time by object-composition to implement the functionalities required for a specific AOCS application. The following functionality managers are foreseen:

The functionality managers are plugged into a scheduler (not part of the AOCS Framework) which is responsible for periodically activating it. The AOCS Framework generates component-based applications. The data flow between the framework components is through shared data areas (the data pools for cyclical data and the event repositories for asynchronous data). 

The framework simulator should be integrated with the AOCS Framework in the sense that:

Back to Top, Back to Aocs Framework Project Home

Software Under Test

In order to increase confidence in the validity of the test results, the components of the AOCS application under test should be, as far as possible, integrated in the simulation environment without changes to their source code. When modifications to these components are necessary, they should be done by subclassing the original component and adding simulation-specific code. Behaviour modifications at application level, should be done by modifying the application instantiation code and by composing the application components with simulation-specific components.

Back to Top, Back to Aocs Framework Project Home


Last updated on Feb. 5-th 2002 by Alessandro Pasetti