Quick Start
The Illuminator is written in Python and all its dependencies are also based on Python.
Installation
Requirements
Python >= 3.8
Miniconda (optional)
A Rasberry Pi cluster (See cluster set up for specific instructions)
Using Pip
You can install the Illuminator directly from PYPI:
pip install illuminator
Using Conda
If you prefer to use conda the environment.yml
provides all dependecies to create a conda environment called Ecosystem.
Clone the repository or download the environment.yml file.
Use Miniconda to create a new invironment:
conda env create -f environment.yml
conda activate Ecosystem
From Source
To install the Illuminator in from source:
Clone this repository.
git clone https://github.com/Illuminator-team/Illuminator.git
Go to the root of the repository and nstall using
pip
:
cd Illuminator/
pip install .
Usage
In version 3.0.0 and above, simulation scenarios are configure using YAML
files with the following structure:
# config.yaml
scenario:
name: "AddingNumbers" # a name for the simulation scenario
start_time: '2012-01-02 00:00:00' # ISO 8601 start time for simulation
end_time: '2012-01-02 00:00:10'
time_resolution: 900 # time step in seconds. Defaults to 15 minutes (900 s)
models: # list of models for the simulation
- name: Model1 # name for the model in the simulation (must be unique)
type: MyModel # name of the type of model (must match the name of an existing model)
inputs: # list of initial values for the inputs of the model type
# input names are defined by the model type
in1: 10 # input-name: initial value, default values will be used if not set.
in2: 20
outputs:
out1: 0
parameters:
param1: "adding tens"
- name: Model2
type: MyModel # models can reuse the same type
inputs:
in1: 100
in2: 200
parameters:
param1: "adding hundreds"
connections:
- from: Adder1.out1 # origin model, format: <model_name>.<output>
to: Adder2.in1 # destination model, format: <model_name>.<input>
monitor: # a list of models, its inputs, output and states to be monitored and logged
- Adder2.out2 # format: <model_name>.<input>/<output>/<states>
To run a simulation scenario, you can use the CLI. On the terminal:
illuminator <path/to/scenario-config.yaml>
Contact and Support
For more comprehensive support, please contact us at illuminator@tudelft.nl. Additionally, you can reach out to the main contributors for specific inquiries: