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:
-
Logging of simulation data
-
Visual displaying of simulation data
-
Monitoring of key simulation variables to ensure that they follow pre-defined
profiles
-
Simulation of the environment (sensors, actuators, environment dynamics,
etc)
-
Processing of operator commands (stop/start simulation, inject fault, override
simulation variables, etc)
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:
-
The logging medium and the variables to be logged
-
The display medium and the variables to be displayed
-
The monitoring profile and the variables to be monitored
-
The environment models
-
The operator commands
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 telecommand manager
-
the telemetry manager
-
the failure detection manager
-
the failure recovery manager
-
the manoeuvre manager
-
the controller manager
-
one or more unit triggers
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:
-
its basic functionalities should be implemented as additional functionality
managers that are conceptually similar to the functionality managers already
proposed by the AOCS Framework
-
data exchanges between simulation components and the AOCS components should
be through shared data areas - possibly obtained by extending through inheritance
the AOCS shared data area - with the exception of operation in UBS
mode.
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