This project installs as a Python package. It can then either be imported from other scripts or run on its own.
To setup (optionally) install a Python 3.9+ environment and activate it.
python3 -m venv venv
source venv/bin/activateInstall the package and its requirements.
- Use
pip install .to do a normal Python package install. - Use
pip install -e .to install it in "editable" mode (source changes to the package are effective immediately without reinstall)
pip install -e .Set the UPPAAL license key in the UPPAAL_KEY environment variable or pass it on the command line with the --uppaal-key flag.
Just run rnetwork --help to see commands. Can run help on the subcommands too rnetwork generate --help.
To generate example file:
rnetwork generate -c example/config_sampling.toml --model-type=sampling -o my-uppaal-file.xml --ext-name=libmyextension.soEnsure build package is installed.
Run python -m build. Will place build outputs, both the source directory, and a Python wheel in ./dist.
After the configuration file for model generation is read there are possible overwrites controlled by the parameters --si (set integer), --sb (set boolean), --ss (set string). Be sure to specify the key proper of overriding, e.g. --si model.num_nodes=12.
The --model-type parameter is important. The choice determines which templates inside src/rnetwork/data will be used. These templates contain <<PLACEHOLDERS>> that have their content replaced by the model generation. For example the capacity of the ports are embedded thus:
const packet_t PORT_CAPACITIES[port_t] = <<GEN_PORT_CAPACITIES>>;