|
Ariadne - Technical description
1. Description
With Ariadne-simulator run-events of an earlier competition can be 'replayed',
for simulation of a competition, testing of procedures, and testing of
Ariadne modules.
Ariadne-simulator has four competing units, which can be started to perform
a run. The run to perform is taken from the T990-simulation-runlist table,
which states the endcondition of the run (normal completion with an elapsed
time, DNF (start without finish), initialization of a run). The simulation
runlist can be populated with real runevents from a earlier competition.
Run types can be changed in the runlist, as to add extra DNF and initializtion
runs.
The simulation-CU's are started by the Simulation-manager. This module
looks every 10 seconds if a simulation-CU is available, and if so, supplies
it with the id of a run te be executed, and starts the Simulation-CU.
The status of an simulation-CU is maintained in the table T992-Simulation-CU-status.
Used tables:
T990-Simulation-runlist
|
Attribute |
Type |
Length |
Remark, example |
|
simulation-run-id |
counter |
|
internal id |
|
time-stamp |
data |
|
is sorting order of the runlist |
|
run-type |
numeric |
integer |
2=normal completion; 3=initalization;
4=DNF |
|
series |
numeric |
integer |
1, 2 |
|
start-number |
numeric |
integer |
1 - 999 |
|
elapsed-time |
numeric |
double |
time in milli-seconds |
|
processed |
yes/no |
|
whether the run is yes /no processed |
This runlist is processed in order of time-stamp
T992-Simulation-CU-status
|
Attribute |
Type |
Length |
Remark, example |
|
CU-id |
numeric |
integer |
number of the simulation competing
unit (1,2,3,4) |
|
CU-available |
yes/no |
|
wheter a CU is available for processing
a new run |
|
simulation-run-id |
numeric |
double |
id of the run to be performed |
The simulation-CU's and the Simulation-manager are forms. The timing
is realized with the timer-facility of the forms.
A active simulation-CU gets the specified run from the runlist. If the
run-event-type is an initialization, the simulation-CU only puts a initialization-event
in the T600-Run-event-table. If the run-type is a normal completion, the
simulation-CU first puts a start-event in the T600-Run-event-buffer, and
after the elapsed time is past, it puts a finish event in the T600-Run-event-buffer.
If the run-type is a DNF, it only gives a start-event, and no finish event.
2. Access path
autoexec |
|
P000_Initialization |
|
F700-Set-Ariadne-main |
|
F980-Sim-manager |
|
F981-Simulation-CU1 |
|
F982-Simulation-CU2 |
|
F983-Simulation-CU3 |
|
F984-Simulation-CU4 |
|
3. Function structure
Module |
Function |
Action |
Query |
Table |
Attribute |
P000-Initialization |
P000_initialization |
initialize public variables:
StartUpError = 0
|
|
|
|
|
|
Get path and name of Ariadne-main *) |
Q702-AriadneSimulator-system |
T702-AriadneSimulator-system |
|
|
|
connect tables **) |
|
T700-Ariadne-system
T600-Run-event-monitoring |
|
|
|
start F980-Sim-manager |
|
|
|
*) Ariadne-simulator has to run in the same directory as Ariadne-main
**) If not found, start F700-Set-ariadne-main
Form |
Control |
Action |
Query |
Table |
Attribute |
F700-Set-ariadne-main |
|
|
Q702-Ariadne-main-location |
T702-AriadneSimulator-system |
|
|
button
button-link |
connect tables |
|
|
|
Form |
Control |
Action |
Query |
Table |
Attribute |
F980-Sim-manager |
button
ButtonStartSimulation |
set runsimulation on |
|
|
|
|
button
ButtonStopSimulation |
set runsimulation off |
|
|
|
|
Event |
Action |
Query |
Table |
Attribute |
|
form_load |
set timer to 10000 (10 secs) |
|
|
|
|
form_timer |
see if a simulation-CU is available
|
|
|
|
|
|
open the simulation runlist and get a
run to be simulated |
Q990-Simulation-runlist |
T990-Simulation-runlist |
|
|
|
give the simulation-CU an order to simulate
the run |
|
|
|
|
|
|
|
|
|
Form |
Control |
Action |
Query |
Table |
Attribute |
F981-Simulation-CU1 |
|
|
|
|
|
|
Event |
Action |
Query |
Table |
Attribute |
|
form_open |
get the run-id from T992-Simulation-CU-status
|
|
T992-Simulation-CU-status
|
|
|
|
get the run data from T990-Simulation-runlist
|
|
T990-Simulation-runlist |
|
|
|
generate a start or initialization event
to T600-Run-event-buffer |
|
T600-Run-event-buffer |
|
|
form_load |
set timer to elapsed-time |
|
|
|
|
form_timer |
generate finish event to T600-Run-event-buffer
close form |
|
T600-Run-event-buffer |
|
F982-Simulation-CU2, F983-Simulation-CU3, F984-Simulation-CU4, same procedure.
Change history Ariadne Simulator
date |
version |
change |
26-Dec-02 |
2.0.0 |
Underlying application framework translated
into English |
01-Sep-02 |
1.0.1 |
Last bug fixes before the competition
GM2002 |
01-Apr-01 |
1.0 |
Developed as testing tool |
|
|
|
Change history this document
date |
version |
change |
26-Dec-02 |
1.5 |
Translated to English, converted to html |
|