This tool computes a schedule the instruction of a basic block, i.e., actions without dynamic dependencies. The scheduling problem is specified by the dependencies of the actions where an action is encoded by an integer value. Moreover, you can specify the resources used by the actions as well as their runtimes which is done in the section about resource uses: a:(ri,t) denotes that action a uses resource ri and will run for t units of time. Finally, you can specify the number of available resources which are considered by resource aware scheduling algorithms.
This tool considers a set of nested loops whose reduced dependency graph is given. The nodes of the reduced dependency graph are the atomic statements of the loop body, and the dependence vectors refer to the loop variables and show loop-carried dependencies if an entry is different to zero, and an inner loop dependency otherwise. The tool checks which of the loops can be distributed to the inner parts and whether the loop can be replaced with a parallel forall loop.
This tool computes a schedule for processes that must be periodically scheduled. Each process is determined by a pair of integers (c,p) where c denotes the runtime of this process within a period which has duration p. The list of processes determines their priorities so that the processes are scheduled from left to right.
If rate monotonic scheduling is wanted, makes sure that the given processes are ordered by their periods (rates).