Generator of real-time task sets.
-
Install IBM ILOG CPLEX Optimization Studio. It contain CPLEX and Concert software that is used in the project.
-
Edit makefile: specify path to CPLEX and Concert binaries by replacing CPLEXDIR and CONCERTDIR values with corresponding paths.
-
Compile the tool in terminal:
make
If make
produce errors like below, then follow the instructions of clang warnings in console.
generate_tasks.cpp:1:10: fatal error: 'iostream' file not found
-
Make sure that prerequisites are satisfied
-
Run the tool in terminal:
./generate_tasks
-
Follow instructions in terminal
-
First, choose the varying parameter for task system. Notation:
n
- tasks number,P
inPmax/Pmin
- a minimum time separation between consecutive job releases by a sporadic task,U
- task set utilization (sum of tasks' utilization ratesU_t
, whereU_t
= (execution_time of a taskC_t
/P
)),Umax
- maximum utilization rate among tasks.
-
Then choose default values of the task system. Notation:
Pmin_LB
- lower bound for minimalP
among tasks,Pmin_UB
- upper bound for minimalP
among tasks.Allowed deviation
- size of the deviation of the parameters, value of type float.
-
Specify number of cases to generate.
-
-
Check out randomly generated task sets satisfying given constaints at
task_sets_varying_<param>[<constraints>].tsv
. Each row of the file contain parameters of a generated task set in the following order:n, U, Umax, Pratio, C_1, P_1, C_2, P_2, C_3 ... P_n
, wherePratio
isPmax/Pmin
.