IDL Simulator
Simulation [RD01 - 3.3.4. Simulation]
is supported within ACS at the level of Components. That is, ACS provides the
necessary libraries for dynamically implementing IDL interfaces derived from
the ACSComponent IDL interface at run-time.
The simulator framework is available by specifying a special Python library
as implementing the Component within the ACS Configuration Database
The behavior of simulated components can be configured "ahead of time" using
the ACS Configuration Database in cases where a standardized behavior is desired
Complete implementations of all IDL methods and attributes can be implemented
on the fly by the simulator framework
The behavior of simulated components can be configured at run-time using:
- a GUI which is spawned automatically with the creation of the first simulated
Component
- the command-line and an easy-to-use API provided by ACS if the Python Container
hosting the simulated Components was started within an interactive Python
session
- the IDL interface provided by a Simulator Component. This Component shall
be deployed in the Python Container where the simulated components are deployed.
Using any of these techniques it is possible to:
- replace or retrieve the code of each simulated method,
- set timeouts
- set/get the value of global variables
The framework provides realistic behavior of certain ACS types such as BACI
properties and is capable of invoking Callbacks properly
The simulator includes the capability of creating other CORBA Objects where
applicable
Simulated components adhere to the Component LifeCycle design policies
End-users have the capability of specifying sleep times which occur before
simulated methods return control to the caller
Exception throwing is supported
The capability of sharing local variables between simulated Components has
been included
The parameters passed into simulated methods are made available to end-users