Python Real-Time System Simulator, developed during my final year of Master to help me with my Master Thesis on the integration of preemption costs.
Some code was developed with the help of Paul Rodriguez.
- GLPK v4.45+, see http://www.gnu.org/software/glpk/ or use the provided installer in /GLPK/
- pycairo module for displaying the simulator result
- matplotlib module in some scripts
Systems can be described in a text file. An example is provided in /systems/task_example.system
-
To launch the simulator on a given system:
python3 mainSimu.py -sys path/of/input_file -sched NAME_OF_SCHEDULER
-
To compare two schedulers on a given number of systems:
python3 mainSimuComp.py
. Parameters:sched1
: Name of the supposed 'best' schedulerssched2
: Name of the supposed 'worst' schedulerswriteVict
: Log systems scheduled by 1 but not by 2 (1/0, def: 0)writeFail
: Log systems scheduled by 2 but not by 1 (1/0, def: 0)o
: log file (default: " + outFilePath + "p
: pickle file (default: " + pickFilePath + "n
: number of systems per data point (def: 1000)synchr
: generate synchronous system only (1/0 def: 0)cdf
: float value of the CDF (0: implicit, 1: fully constrained)
-
To calculate the C-space of a given system:
python3 mainCspace.py path/of/input_file
-
To launch tests
python3 runtests.py