APEX (Automated Parameter Exploration) is a framework designed for optimizing protocol parameters in low-power wireless systems. This project provides tools to optimize protocol parameters for a given application requirements (ARs).
- APEX/: Contains the main functionalities of the framework, including core modules for test environments, result storage, utility functions, model fitting, and next test point selection algorithms. Detailed information about this folder is provided in its own README file.
- Results:
- Contains recorded results used for evaluation.
- Includes a subfolder
Evaluation_Resultswith protocol evaluation results for different ARs. - Includes a subfolder
Synthetic_Datawith synthetic datasets and evaluations to assess APEX in high-dimensional optimization scenarios.
- config:
- Contains files for specifying user requirements, including application goals, parameter ranges, and termination criteria for optimization.
- Example inputs include selecting the test environment, defining optimization targets, setting constraints, and configuring the next test point selection algorithm.
- Binaries:
- Contains firmware and related files for scheduling experiments in the D-Cube testbed.
- Ensure the correct API key is updated in
config/dcubeKey.yamlif using this feature.
Make sure you have the required dependencies installed. You can set up the environment by running:
pip install -r requirements.txtBefore running the framework, configure the following:
- Input Parameters: Specify your requirements and inputs in the configuration files located in the
configfolder. - API Key: Update the
config/dcubeKey.yamlfile with your D-Cube API key if you plan to schedule experiments on the D-Cube testbed.
To run the main program, execute:
python Main.pyChoose one of the following test environments:
- RecordedTestEnvironment: Use pre-recorded data.
- DCubeTestEnvironment: Run tests in the D-Cube testbed.
The framework includes several algorithms for next test point selection, implemented in the APEX folder. Key methods include:
- EI (Expected Improvement): Maximizes the expected improvement to focus on areas of high potential gain.
- GP-LCB (Gaussian Process Lower Confidence Bound): Explores the parameter space while considering uncertainty.
- Baseline Approaches:
- GEL (Greedy for Exploration): A straightforward method for exploring parameter space.
- GUC (Greedy for Uncertainty): Focuses on uncertain regions in the parameter space.
- etc.
The results of the experiments are stored in the Results folder, which contains recorded results for the evaluated protocols. The evaluation results related to the paper for different application requirements (ARs) can be found in the Evaluation_Results subfolder.
If you use APEX in your research or project, please consider citing our preprint:
APEX: Automated Parameter Exploration for Low-Power Wireless Protocols
Mohamed Hassaan M. Hydher, Markus Schuss, Olga Saukh, Kay Römer, Carlo Alberto Boano
Preprint available at arXiv:2501.19194.
BibTeX citation:
@misc{hydher2025apexautomatedparameterexploration,
title={APEX: Automated Parameter Exploration for Low-Power Wireless Protocols},
author={Mohamed Hassaan M. Hydher and Markus Schuss and Olga Saukh and Kay Römer and Carlo Alberto Boano},
year={2025},
eprint={2501.19194},
archivePrefix={arXiv},
primaryClass={cs.NI},
url={https://arxiv.org/abs/2501.19194},
}- If running on the D-Cube testbed, ensure the
Binariesfolder contains the correct firmware and related files.