Scenariofile
The scenariofile is a YAML-based file to specifiy the simulation setup. It can contain the following keys:
title
Can be any string, purely descriptive at the moment.
Properties
- Required: :fontawesome-solid-star-of-life:
- Reasonable default:
ScenarioTitle
- Data type:
std::string
name
Can be any string, purely descriptive at the moment.
Properties
- Required:
- Reasonable default:
ScenarioName
- Data type:
std::string
stop_time
Defines at which simulation time the simulation will be aborted if it does not finish earlier.
Properties
- Required: :fontawesome-solid-star-of-life:
- Data type:
std::string
- Possible values: Any string ending with a unit prefix like "s" or "ms". If no unit is given, it will be treated as seconds.
version
Can be used to differentiate different implementation versions. Currently not used.
Properties
- Required:
- Reasonable default:
0.1
- Data type:
std::string
default_delay
Delay between each simulation step (operations defined in the scenario_sequence
, respectively between each step for x-many operations).
Properties
- Required: :fontawesome-solid-star-of-life:
- Data type:
std::string
- Possible values: Any string ending with a unit prefix like "s" or "ms". If no unit is given, it will be treated as seconds.
random_seed
Seed used for reproducable simulations.
If =0
random results are produced.
Properties
- Required: :fontawesome-solid-star-of-life:
- Reasonable default:
1
- Data type:
uint64_t
output_path
Directory path for the resulting logging output.
Properties
- Required: Only if environment variable
DAISI_OUTPUT_PATH
is not set. This yml paramater takes precedence if both are set. - Reasonable default:
/work/ns3/results/
- Data type:
std::string
number_nodes
The number of SOLA nodes available in the simulation.
Properties
- Required: :fontawesome-solid-star-of-life:
- Reasonable default:
3
- Data type:
uint64_t
scenario_sequence
A dictionary containing a list of possible scenario sequence steps. The steps are executed in the same order as they appear in the sequence.
Properties
- Required: :fontawesome-solid-star-of-life:
- Possible values:
start_sola
,subscribe_topic
,delay
,publish
scenario_sequence.start_sola
Start and initialize SOLA on all nodes. Starting SOLA means, depending on the selected SOLA components, to connect to other nodes.
This is a dictionary containing key, value pairs, that further specify this step.
Properties
- Required:
- Possible values:
delay
scenario_sequence.start_sola.delay
Delay between the nodes joining the SOLA network.
Default delay not added
Only the delay specified with delay
is added between the start of SOLA on different nodes.
The default delay is not added!
Further, this delay is not added after the last schedule of start!
Properties
- Required: :fontawesome-solid-star-of-life:
- Data type:
std::string
- Possible values: Any string ending with a unit prefix like "s" or "ms". If no unit is given, it will be treated as seconds.
scenario_sequence.subscribe_topic
Specifies that all nodes should subscribe to a topic.
This is a dictionary containing key, value pairs, that further specify this step.
Properties
- Required:
- Possible values:
topic
,delay
scenario_sequence.subscribe_topic.topic
The name of the topic to subscribe to.
Properties
- Required: :fontawesome-solid-star-of-life:
- Reasonable default:
helloworld
- Data type:
std::string
scenario_sequence.subscribe_topic.delay
Delay between the nodes joining the SOLA network.
Default delay not added
Only the delay specified with delay
is added between the subscription process of different nodes.
The default delay is not added!
Further, this delay is not added after the last scheduling of a subscribe event!
Properties
- Required: :fontawesome-solid-star-of-life:
- Data type:
std::string
- Possible values: Any string ending with a unit prefix like "s" or "ms". If no unit is given, it will be treated as seconds.
scenario_sequence.delay
This step allows to add delay between steps.
This is a dictionary containing key, value pairs, that further specify this step.
Properties
- Required:
- Possible values:
delay
scenario_sequence.delay.delay
The delay.
Properties
- Required: :fontawesome-solid-star-of-life:
- Data type:
std::string
- Possible values: Any string ending with a unit prefix like "s" or "ms". If no unit is given, it will be treated as seconds.
scenario_sequence.publish
This step allows to let a node publish a message on a topic.
This is a dictionary containing key, value pairs, that further specify this step.
Properties
- Required:
- Possible values:
topic
,message_size
,node_id
scenario_sequence.publish.topic
The name of the topic to which the message should be published to.
Properties
- Required: :fontawesome-solid-star-of-life:
- Data type:
std::string
scenario_sequence.publish.message_size
The size of the message to publish in bytes.
Properties
- Required: :fontawesome-solid-star-of-life:
- Data type:
uint64_t
scenario_sequence.publish.node_id
The node that should publish a message.
Properties
- Required: :fontawesome-solid-star-of-life:
- Data type:
uint64_t