How capocchi/devsimpy works
DEVSimPy is a DEVS modeling and simulation environment. Its main workflow is to create or import a model, run it with a selected simulation kernel, and inspect or export results. The graph also preserves documented command-line execution, model libraries, plugins, YAML export, REST access, and broker-based streaming. Paths and runtime relationships are based on the supplied tree, README, and sampled excerpts; several feature links are documented capabilities rather than inspected call sites.
Main entry points: Basic DEVS Objects · Strategies.py Kernel Strategies · devsimpy.py GUI Application · PyDEVS PyDEVS Kernel
Components 22
Modeling
- DEVS Objects
devsimpy/Domain/Basic - Domain Interfaces
devsimpy/DomainInterface - Model Libraries
devsimpy/ImportLibrary.py - Model Archives
devsimpy/ZipManager.py
User Interface
- GUI Application
devsimpy/devsimpy.py - CLI Runner
devsimpy/devsimpy-nogui.py - Diagram Editor
devsimpy/DiagramNotebook.py - Code Editor
devsimpy/Editor.py - Simulation Controls
devsimpy/SimulationGUI.py
Simulation Runtime
- Kernel Strategies
devsimpy/DEVSKernel/Strategies.py - PyDEVS Kernel
devsimpy/DEVSKernel/PyDEVS - PyPDEVS Kernel
devsimpy/DEVSKernel/PyPDEVS/pypdevs221/src - Broker Runtime
devsimpy/DEVSKernel/BrokerDEVS
Results And Integration
- Result Collectors
devsimpy/Domain/Collector - Analysis And Plots
devsimpy/PlotGUI.py - YAML Export
devsimpy/YAMLExportGUI.py - Remote Simulation
devsimpy/Domain/Web/Server.py - Message Brokers
devsimpy/DEVSKernel/BrokerDEVS/Brokers
Extensions
- Plugin Manager
devsimpy/PluginManager.py - Plugins
devsimpy/plugins
Other components
- Modeler
- Remote Client
Connections 24
- Modeler → GUI Application: opens
- Modeler → CLI Runner: runs models
- GUI Application → Diagram Editor: opens editor
- Diagram Editor → DEVS Objects: edits models
- Code Editor → DEVS Objects: edits code
- Model Libraries → Model Archives: imports archives
- Modeler → Model Libraries: imports or exports
- DEVS Objects → Domain Interfaces: implements
- Simulation Controls → Kernel Strategies: selects kernel
- CLI Runner → Kernel Strategies: selects kernel
- Kernel Strategies → PyDEVS Kernel: dispatches
- Kernel Strategies → PyPDEVS Kernel: dispatches
- DEVS Objects → PyDEVS Kernel: simulates model
- DEVS Objects → PyPDEVS Kernel: simulates model
- Simulation Controls → Broker Runtime: runs streaming
- Broker Runtime → Message Brokers: exchanges messages
- PyDEVS Kernel → Result Collectors: emits results
- PyPDEVS Kernel → Result Collectors: emits results
- Result Collectors → Analysis And Plots: feeds analysis
- DEVS Objects → YAML Export: exports model
- Remote Client → Remote Simulation: requests simulation
- Remote Simulation → DEVS Objects: delivers model input
- GUI Application → Plugin Manager: loads extensions
- Plugin Manager → Plugins: dispatches events