The strategic airlift input generator was developed to automatically generate scenarios for use with the strategic airlift simulator. This is required to generate a large volume of scenarios for the simulator to run based on configuration parameters specified by the user through a config file.
The user is able to specify the initial state of the generator which includes the number of locations the user wants to generate, connections to main logistic bases and the number of scenarios to generate. Further details about the initial state are located in the user documentation.
The generator will output scenario configuration files which the strategic airlift simulator can use to run simulations.
Organization: Carleton Unviersity (SYSC 5709)
1. Lukeman Hakkim Sheik Alavudeen
- GitHub: lukemanhakkim
2. Olumide Akinola
- GitHub: Myde001
3. Edwin Omoigui
- GitHub: Edwin-programmer
4. Rob Barwell
- GitHub: robbarwell123
The following file structure is used to organize files in this repository:
- doc - Includes detailed developer documentation. The main documentation can be found on the Strategic Airlift Input Generator Documentation.
- include - The main header files are listed below:
- common_functions.h - Lists all the functions shared throughout the application.
- data_types.h - Defines the custom data types.
- strat_airlift_functions.h - Lists all the main functions of the application.
- Other header files are included to capture supporting functions required for each main function.
- src - Contains the definition for all functions.
- test
- include - Contains the declarations for all unit tests.
- src - Contains the definitions for all unit tests.
test_main.cis used to call all unit tests.
The Strategic Airlift Input Generator only requires optional dependencies. The instructions below have been verified to work on Windows using Cygwin and gcc.
Dependencies
- Doxygen (optional) - Required to rebuild the detailed development documentation. Can be installed using
apt-get install doxygenon most systems.
The following make commands are available to help compile and build the application:
make all(default) Will build the application and test application.make appWill build only the application.make testWill build only the test application.make doxygenWill build the detailed development documentation.make cleanWill remove all build artifacts.
Note: DEBUG can be enabled by appending DEBUG=1 to the make command (i.e. make DEBUG=1)
The application can be run with default values using the following command: ./bin/StratAirliftInit.exe.
To run the application with user defined values you need to execute the application in the bin directory with StratAirliftInit.exe and one or more of the command line options.
-c(Optional) Followed by the configuration file you want to use.-d(Optional) Followed by the common list of airports you want to use.-o(Optional) The output directory to place the scenario files. Will default tooutputif this option is not specified.-v(Optional) Will display the current version of the program and terminate regardless of other options specified.
Additional details can be found in the user and developer documentation.
Use ./bin/StratAirliftInit_Test.exe to run all tests. The results are displayed to stdout. If you want to save the results to a file append "> results.txt" to the command.
User documentation can be found in the Github repository at Strategic Airlift Input User Documentation.
If the user would like to see the detailed developer documentation they will need to generate it using the make doxygen command. This was done to keep the code base clean.
Additional developer documentation is found in the Strategic Airlift Input Developer Documentation.