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_Results
with protocol evaluation results for different ARs.
- 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.yaml
if using this feature.
Make sure you have the required dependencies installed. You can set up the environment by running:
pip install -r requirements.txt
Before running the framework, configure the following:
- Input Parameters: Specify your requirements and inputs in the configuration files located in the
config
folder. - API Key: Update the
config/dcubeKey.yaml
file 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.py
Choose 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
Binaries
folder contains the correct firmware and related files.