|
|
@@ -11,56 +11,20 @@
|
|
|
|
|
|
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/>
|
|
|
-1. 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).
|
|
|
+ Requires Python version >= 2.7 or >= 3.2
|
|
|
```
|
|
|
-python3 -m unittest discover -v CBD.test "*.py"
|
|
|
+### Installation
|
|
|
+The simulator can easily be installed with the following commands.
|
|
|
```
|
|
|
-
|
|
|
-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 src
|
|
|
+python setup.py install --user
|
|
|
```
|
|
|
|
|
|
-```
|
|
|
-cd examples/Fibonacci/
|
|
|
-python3 Fibonacci.py
|
|
|
-```
|
|
|
+### Documentation
|
|
|
+Take a look at the documentation (in the `doc/` folder) for more details
|
|
|
+on this framework. This includes detailed API descriptions, use cases and
|
|
|
+examples (both simple and complex).
|
|
|
|
|
|
-Both will generate an HTML document containing a bokeh plot in the current directory.
|
|
|
+_The HTML-version of the documentation can be built from within the `doc/`
|
|
|
+folder with the `make html` command._
|
|
|
|