This repository contains a set of example xApps built using the xDevSM framework.
Clone the repository and initialize the submodules:
git clone https://github.com/wineslab/xDevSM-xapps-examples.git
# clone xDevSM code
git submodule init
git submodule updateNote: The following steps are general, so you can also apply them to build the image of your custom xApp.
- Clone the repository and initialize submodules.
- Pick the xApp folder you wish to build.
- Build the container image using the appropriate Dockerfile in docker.
docker build --tag <xapp-name>:<version> --file docker/Dockerfile.<xapp_folder> .- Tag and push the built image to your registry.
docker tag <xapp-name>:<version> <your_registry>/<xapp-name>:<version>
docker push <your_registry>/<xapp-name>:<version>- Update the xApp's config file (located inside the xApp folder, e.g.,
config/) so that the container image path (registry/name/tag) matches your pushed image.
# Example
docker build --tag kpm-basic-xapp:0.2.0-dev --file docker/Dockerfile.kpm_basic_xapp.dev .
docker tag kpm-basic-xapp:0.2.0-dev <your_username>/kpm-basic-xapp:0.2.0-dev
docker push <your_username>/kpm-basic-xapp:0.2.0-dev // config-file.json
//...
"containers": [
{
"name": "kpm-basic-xapp",
"image": {
"registry": "docker.io",
"name": "<your_username>/kpm-basic-xapp", // use username
"tag": "0.2.0-dev"
}
}
],- Deploy the xApp via your orchestration or deployment environment using the updated configuration. A guide on how to use OSC-based tools is available here.
If you wish to develop your own xApp using this framework:
-
Use one of the example folders above as a reference starting point.
-
Keep the structure:
<name_of_your_xapp>/source_code,<name_of_your_xapp>/config_folder, related Dockerfile indocker/. -
Update the container image name, tag, and registration accordingly.
-
Follow the build workflow above.
Contributions (bug fixes, enhancements, new example xApps) are welcome. Please:
-
Fork the repository.
-
Develop your change on a branch.
-
Submit a Pull Request. Make sure to include:
-
Clear description of the change
-
Any required updates to build steps or documentation
-
Documentation and comments where needed
This project is licensed under Apache License Version 2.0 - see License File for more details.
![]() |
Wireless Networks and Embedded Systems Lab | website |
|---|---|---|
![]() |
Mobile Middleware Research Group | website |

