In addition, various other parameters define a task, such as its priority, deadline requirement and worst-case computation time. Schedulers, on the other hand, are classified as being preemptive or non-preemptive and make use of task priorities in order to decide which task is next given permission to execute on the host processor. Lastly, tasks sometimes require access to shared resources for interaction with other tasks. The run-time behaviour of such a system is complex, and programmers would benefit from a tool that allows them to visualise the system's dynamic behaviour. In order to simulate such a multi-tasking system, the commercial tool Foresight is used here.
Foresight is a tool for modelling, simulation and prototyping of control systems.