| 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 devsimpyand to start:
$ devsimpy$ git clone --recurse-submodules -b version-5.1 --depth=1 https://github.com/capocchi/DEVSimPy.git
$ git fetch --unshallow
$ pip install -r requirements.txtand to start:
$ python devsimpy.pyor for macOS user:
$ pythonw devsimpy.py # Required due to wxPython dependencies- Conda Environment: Use the
conda_devsimpy_env.ymlfile. - 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 pdevsor
$ python devsimpy.py --nogui test.dsp -sim 10 -kernel pdevsFor PyDEVS kernel:
$ python devsimpy-nogui.py test.dsp -kernel PyDEVS 10Check 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. 🚀
