Paper submitted to INCOSE (International Council on Systems Engineering)
This repository contains all code, data links, and analysis scripts used in the PiperABM paper submitted to INCOSE. The project is structured to allow users to run full simulations, explore existing results, and reproduce the analysis presented in the paper.
├── analysis/ # Analysis scripts for processing and visualizing results
├── assets/ # Extra figures and assets used in the paper
├── main/ # Main simulation code and results
│ ├── main.py # Entry point for running full simulations
│ └── result/ # Simulation outputs: each subfolder represents a scenario
│ └── setups.csv # Metadata describing each scenario
├── test/ # Test runs for quick checks
│ ├── single-run/ # Single-scenario test (smaller, faster)
│ └── multi-run/ # Parallel multi-scenario test (small-scale)
├── .gitignore # Git ignore rules
├── LICENSE # MIT License
├── README.md # This file
└── requirements.txt # Python dependencies
- Python 3.10 or higher
- Install dependencies:
pip install -r requirements.txt
- To run the main simulation suite, run
main/main.py
cd main
python main.py
- Results will be saved under
main/result/<scenario_name>/
. - Each folder name corresponds to a unique scenario.
- Scenario details (parameters, seeds, etc.) are listed in
main/result/setups.csv
.
- Local: After running
main/main.py
, inspect themain/result/
directory. - Remote: Precomputed results are hosted on Hugging Face: https://huggingface.co/datasets/cmudrc/incose-paper-data
All post-processing and figure-generation scripts live in the analysis/
folder. Each subfolder in analysis/
corresponds to a specific analysis pipeline.
Scripts are designed to:
- Look for local results in
main/result/
. - If unavailable, fetch data from the Hugging Face repository automatically.
Two lightweight test suites are provided to verify functionality before running full simulations:
- single-run: runs one scenario end-to-end (fast sanity check)
- multi-run: runs multiple scenarios in parallel on a smaller scale
Supplementary figures and assets (e.g., diagrams, raw images) are stored in assets/
.
For questions or issues, please open an issue on GitHub or contact the authors.