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,PinPmax/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 minimalPamong tasks,Pmin_UB- upper bound for minimalPamong 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, wherePratioisPmax/Pmin.