CorteXforge is an end-to-end framework designed to automate the generation and execution of radio dataset experiments on the SLICES-RI/CorteXlab testbed. It relies on the GNU Radio environment to record labeled transmissions of various signals.
This project is organized into three main components:
- Scenario generation: this part produces configuration files describing the experiment setup. It creates:
- a
scenario.yamlfile defining which nodes will be used on CorteXlab; - an
timeline.csvfile orchestrating the role and sequence of these nodes.
- a
- Experiment execution: this part deploys and executes the generates experiment definitions (
timeline.csv) directly on the SLICES-RI/CorteXlab nodes. - Dataset API
The scenario generator can be executed locally before deployment in Slices/CorteXlab. It allows configuration of experimental parameters such as:
- selected nodes to be used
- time of recording (in seconds)
git clone https://github.com/Andreaj42/CorteXForge.gitpython3.13 -m venv .venv. .venv/bin/activatepip install -e .[planner]cortexforge-planner --nodes-path confis/nodes.yaml --duration 600 --output-path my/path/on/cortexlab
Each nodes defined before in the previous stage will run a GNU Radio flowgraph according to the configuration.
First, connect to the testbed:
ssh username@gw.cortexlab.fr
Next, book the testbed with your selected nodes (nodes: 5, 10, and 31 here) for the time of recording (increase the value):
oarsub -l {"network_address in ('mnode5.cortexlab.fr', 'mnode10.cortexlab.fr', 'mnode31.cortexlab.fr')"}/nodes=3,walltime=0:20:00 -r "2025-10-12 21:03:00"
To delete a job, use:
oardel job_id
And move the previously generated experiment folder into your Cortexlab home, then run:
minus task create experiment -fminus task submit experiment.task
To monitor your experiment, use:
minus testbed statusminus log -d
Just want to use a dataset without running your own experiments? Simply download one of the pre-generated datasets produced with CorteXforge.
First, install the dataset API:
pip install cortexforge
List all available datasets:
cortexforge datasets list
Download a dataset:
cortexforge datasets download <dataset_name>
For example:
cortexforge datasets download modfore
To simplify deployment and ensure reproductibility, we generated a Docker image. This image extends the standard CorteXlab toolchain and adds the required dependencies for forge.