-
Notifications
You must be signed in to change notification settings - Fork 5
Validation
We guarantee a deterministic simulation execution validated by help of special test cases. Parsing and creation of a new scenario has been tested for determinism as well as resetting of the old graph and re-preparing the old scenario.
The only difference between the above mentioned tests is the number of simulation steps per simulation run. The parsing/creating-test is executing the initial step and compares them once, the refurbish-test executes multiple scenario steps and compares several states. The refurbish-test is described more detailed below.
Implementation details, where r
, s
, c
are defined per test class:
The simulation runs r
times in addition to the initial run (for reference).
So a simulation is tested for deterministic execution r
times.
s
is the number of steps per simulation run.
So one simulation executes s
steps.
c
is the number of state checks.
Using our implementation of a sigmoid number sequence from 1 to s
with c
numbers, the checks are concentrated in the beginning and the end of a simulation run.
Concentration in the beginning saves runtime if the test fails early.
Concentration in the end is a compromise: The longer the simulation executes, the higher is the test precision, but more vehicles are disappeared as well.
A state check compares for a certain simulation step:
- for every vehicle:
(vehicle's id, vehicle's street, vehicle's cell position)
is identical - correct number of vehicles
Home - Usage - Validation - Tools - Implementation Details - Credits - Papers