Category | Status |
---|---|
Builds & Tests | |
PyPI | |
Activity | |
QA | |
Other |
DEVSimPy is an open-source framework (GPL v3) designed for modeling and simulating discrete event systems (DEVS) with a graphical user interface. Developed in Python with wxPython, it simplifies interaction with PyDEVS and PyPDEVS models.
Feature | Description |
---|---|
Graphical Modeling | Design, save, and export DEVS models easily. |
Simulation & Analysis | Run, suspend, and analyze simulations in real-time. |
Code Editing | Modify DEVS models on the fly. |
Model Libraries | Import/export libraries for domain-specific applications. |
Command-Line Execution | Run simulations via CLI with devsimpy-nogui.py . |
Plugin System | Extend functionality with custom plugins. |
YAML Export | Generate YAML models for DEVSimPy-mob. |
REST API | Enable remote simulation execution via DEVSimPy-REST. |
- Python 3.10+
- wxPython 4.0+
- SciPy & NumPy (for spectrum analysis, optional)
$ pip install devsimpy
and to start:
$ devsimpy
$ git clone --recurse-submodules -b version-4.0 --depth=1 https://github.com/capocchi/DEVSimPy.git
$ git fetch --unshallow
$ pip install -r requirements.txt
and to start:
$ python devsimpy.py
or for macOS user:
$ pythonw devsimpy.py # Required due to wxPython dependencies
- Conda Environment: Use the
conda_devsimpy_env.yml
file. - Portable Version: Use Portable Python with PyScripter.
- Virtual Machine: Download a preconfigured XUbuntu 19.10 VM with DEVSimPy here (Login:
devsimpy-user/devsimpy
).
Execute DEVSimPy models without the GUI:
$ python devsimpy-nogui.py test.dsp -sim 10 -kernel pdevs
or
$ python devsimpy.py --nogui test.dsp -sim 10 -kernel pdevs
For PyDEVS kernel:
$ python devsimpy-nogui.py test.dsp -kernel PyDEVS 10
Check CLI options:
$ python devsimpy-nogui.py -h
- DEVSimPy User Guide v2.8 (French)
- S. Toma Ph.D. Thesis (English) (Winner of the 2014 DEVS PhD Dissertation Award)
- Technical Report (Polish)
If you use DEVSimPy in your research, cite it using:
@misc{capocchi2019devsimpy,
author = {Laurent Capocchi},
title = {DEVSimPy},
year = {2019},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/capocchi/DEVSimPy}},
}
@INPROCEEDINGS{5990023,
author={L. {Capocchi} and J. F. {Santucci} and B. {Poggi} and C. {Nicolai}},
booktitle={2011 IEEE 20th International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises},
title={DEVSimPy: A Collaborative Python Software for Modeling and Simulation of DEVS Systems},
year={2011},
pages={170-175},
doi={10.1109/WETICE.2011.31},
}
For extensions, see this repository.
We welcome contributions and feedback! Feel free to submit issues, pull requests, or join discussions to help improve DEVSimPy. 🚀