- Author: Michael De Santis
- CUID: 101213450
- Date: 2025/03/02
Discrete Event System Specification (DEVS) Model and Simulation of a Low Earth Orbit (LEO) User Link (UL). For additional information, please see the doc/ directory.
This repository's contents.
bin/- Generated directory containing built executables for this repository.
build/- Generated directory containing build files for this repository.
build_sim.sh- Shell script defining build rules for host-architecture target.
cadmium_v2/- Cadmium V2 repository
gitsubmodule.
- Cadmium V2 repository
CMakeLists.txt- CMake build instructions for this repository.
doc/- Directory containing documentation for this repository.
- Report:
LEO_User_Link.pdf
- Report:
- Directory containing documentation for this repository.
env.sh- Shell script defining additional environment variables for this repository.
img/- Directory containing images for this repository (graphs/diagrams), as included inline in the project report.
main/- C++ source and header files for this repository's main code module,
leo_user_link.
- C++ source and header files for this repository's main code module,
output/- Generated directory containing output logs from model simulation.
run_all_simulations.sh- Shell script to run all available simulation binaries in
bin/.
- Shell script to run all available simulation binaries in
sample-output/- Directory containing sample output logs from model simulation. These logs correspond to those excerpted in the project report (
docs/LEO_User_Link.pdf), and are presented here in full.
- Directory containing sample output logs from model simulation. These logs correspond to those excerpted in the project report (
test/- C++ header files for this repository's tests.
- Tests are denoted as generator tests if they generate their own inputs without requiring a driver; otherwise, they are noted as driver tests as they have inputs generated by a separate driver.
Usage instructions for this project and repository.
In order to compile this repository's source code, your system must have Cadmium V2 available on your system, and accessible via the environment variable $CADMIUM. This library, and its own dependencies, are included within this repository as a git submodule. To ensure that your system's submodules are up-to-date prior to compilation, issue the following command:
git submodule update --init --recursiveOnce the cadmium_v2 sudmodule directory is available on your file system, enter that directory and follow the instructions provided therein for installation and configuration. Once complete, you should be able to verify that your configuration is correct with the output of the following command:
$ echo $CADMIUM
<path-to>/LEO_User_Link/cadmium_v2/includeIf the above environment variable is discrepant on your system, you can overwrite it by sourcing env.sh in this directory with the following command:
$ . env.shTo build this project, issue the following command:
$ . build_sim.shTo execute this project's simulations, issue the following command:
$ ./run_all_simulations.shUpon successful execution, corresponding output for each simulation binary will be found in the output/ directory.
- With permission and by instruction, this project uses the blank project template provided in the Cadmium V2 manual.
- With permission and by instruction, this project is informed by the sample project provided in the Cadmium V2 manual.
- Thanks Professor Wainer!!