Skip to content

LENS-TUGraz/APEX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

APEX Framework

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).

Project Structure

  • 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.

Usage

Requirements

Make sure you have the required dependencies installed. You can set up the environment by running:

pip install -r requirements.txt

Configuration

Before running the framework, configure the following:

  1. Input Parameters: Specify your requirements and inputs in the configuration files located in the config folder.
  2. 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.

Running the Framework

To run the main program, execute:

python Main.py

Selecting a Test Environment

Choose one of the following test environments:

  • RecordedTestEnvironment: Use pre-recorded data.
  • DCubeTestEnvironment: Run tests in the D-Cube testbed.

Next Test Point Selection Algorithms

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.

Results

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.


Citation

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}, 
}

Additional Notes

  • If running on the D-Cube testbed, ensure the Binaries folder contains the correct firmware and related files.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages