Ariadne index page


Ariadne - Technical description


Ariadne Simulator

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:


  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


  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


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
    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  
connect tables      


Form Control Action Query Table Attribute
F980-Sim-manager button
set runsimulation on      
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
  Event Action Query Table Attribute
  form_open get the run-id from 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

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