Documentation and published papers can be found on the link provided above.
Short summary:
Generate reproducible task graphs with homo/heterogeneous processors, with/without communication messages and much more.
Pros:
- Easy to understand/use.
- Reproducible task sets.
- Wide range of parameters can be generated.
Cons:
- No direct control over utilization.
- Utilization distribution: Only Gaussian. (not written in the documentation, but found experimentally)
- No support for conditional checks between same parameters (e.g. Sum of Utilization <= 1) or multiple parameters (e.g. Sum of WCET of longest chain <= deadline of that chain)
Usage:
Each task defines a type (unique or not) instead of all possible parameters (WCET, criticality levels, etc.). Once the type table is generated, corresponding tables for parameters (WCET, criticality levels, etc.) can be generated.
Sample input file:
Code: Select all
seed 1 # Specifies uniqueness of the taskset. Reproduce using same seed.
tg_cnt 1 # Number of task graphs
task_cnt 20 5 # Number of tasks: Average, +- Range
task_degree 2 2 # Predecssors and successors per task
task_trans_time 200 # Hyperperiod Control
period_mul 0.1, 0.5, 1, 2 # Multiples for 'task_trans_time' to be used as Periods
period_g_deadline 1 # Implicit deadlines
task_unique 1 # Task types become unique
tg_write
eps_write
table_label PROC # New table called PROC
table_cnt 1 # Types of tables (i.e. processors, homogeneous in this case)
table_attrib # Number of values per table
type_attrib WCET 50 40 # 'WCET': Average, +- Range
pe_write # Create processor table
table_label COMMUN
table_cnt 1
table_attrib
type_attrib Mess_Len 5 4 # Message length: Average, +-Range
trans_write # Create message table