Simulator for Causal Block Diagrams

rparedis a86c55d2da Tracking simulator il y a 4 ans
doc ea719ca433 Subtle changes + tracking sim il y a 5 ans
examples a86c55d2da Tracking simulator il y a 4 ans
src 56f7617be5 Tracking sim -- erroneous il y a 5 ans
.gitignore ea719ca433 Subtle changes + tracking sim il y a 5 ans
README.md 4934896dad Fixed simple examples with new library + added live plotting possibilities. il y a 5 ans
requirements.txt 7f76e9060d Tested PlotManager against PlotBlocks il y a 5 ans
test.sh ec562b52c7 Swapped src/CBD directory names to allow for setup.py il y a 5 ans
whishlist.txt 78e87a80f2 Fixed signalling + remade docs il y a 5 ans

README.md

CBD Simulator Framework

 Copyright the Modelling, Simulation and Design Lab (MSDL)
           http://msdl.cs.mcgill.ca/

 Author(s): Marc Provost
            Hans Vangheluwe
            Joachim Denil
            Claudio Gomes
            Randy Paredis
  
 Purpose: simulates CBD models in Python.

 Requires Python version >= 3.6

 Uses the following Python libraries 
  unittest
  math 
  collections (for collections.namedtuple)
  os
  sys
  re
  datetime
  bokeh (https://bokeh.org/) for plotting
  Graphviz to display the dependency structure of the CBD

How to use the Simulator Framework:

Prerequisites

For plotting, the code uses the Bokeh library. To install bokeh for Python, if it is not already installed, follow the instructions in: https://bokeh.pydata.org/en/latest/docs/user_guide/quickstart.html#installation

To display dependencies between CBD blocks, the Graphviz library is used. To install Graphviz, if it is not already, follow the steps:

  1. Download and install Graphviz: https://www.graphviz.org/download/
  2. Make sure the Graphviz binaries are accessible in the PATH environment variable. For example, on windows there should be an entry in the PATH with: C:\Graphviz2.38\bin

Running the tests

From the root directory of the CBD Simulator Framework (i.e., where this README file resides).

python3 -m unittest discover -v CBD.test "*.py"

testDerivatorBlock and testIntegratorBlock will fail while working on the Discrete-Time CBD simulator.

Running examples

Make sure that PYTHONPATH includes the root directory of the CBD Simulator Framework.

cd examples/EvenNumberGen/
python3 EvenNumberGen.py
cd examples/Fibonacci/
python3 Fibonacci.py

Both will generate an HTML document containing a bokeh plot in the current directory.