The use of a cyclic executive represents the normal implementation scheme for periodic real-time systems, such systems being found in many areas of the control industry. One difficulty with this form of cyclic scheduling is that the schedule itself is difficult to lay out and is fragile in its response to even minor changes to the software it contains. This paper addresses the issues involved in automatically generating, or re-generating, cyclic executives. Four techniques are considered: heuristic search, simulated annealing, stochastic evolution and genetic algorithms, the first two being investigated in detail with prototype tools being implemented and applied to a representative case study. The paper concludes that tool support for this activity is viable. The paper also considers the limitations of static scheduling and considers the use of a more flexible scheme.
The STRESS environment is a collection of CASE tools for analysing and simulating the behaviour of hard real‐time safety‐critical applications. It is primarily intended as a means by which various scheduling and resource management algorithms can be evaluated, but can also be used to study the general behaviour of applications and real‐time kernels. This paper describes the structure of the STRESS language and its environment, and gives examples of its use.
The incorporation of unbounded components (i,e. software modules that cannot be analysed to produce realistic worst case execution times) into hard real-time applications has been recognized as a key issue for the next generation of systems. We present a system model that caters for the three main approaches to integrating unbounded components - imprecise computation, sieve functions and multiple versions. This model is feasible because it is supported by schedulability tests that will guarantee the bounded tasks. These tests are defined in the paper. A simple computational model thal uses preemptive priority-based dispatching is required. The widespread use of techniques such as imprecise computation will only happen if they are integrated into standard software engineering methods. We therefore show how the techniques can be realized in Ada 9X.
Scheduling theories are now sufficiently mature that a genuine engineering approach to the construction of hard real-time systems is possible. In this paper we discuss the application of Deadline Monotonic Scheduling Theory (DMST). This theory is an extension of the more familiar approach based on rate monotonic priority assignment. The model presented can accomodate periodic and sporadic processes, different levels of criticality, process interaction and blocking, precedence constrained processes and multi-deadline processes. It is particularly well integrated with the use of Immediate Priority Ceiling Inheritance for control over process blocking. A basic pseudo-polynomial schedulability test is outlined and then supplemented by the introduction of offsets to control jitter, and period transformation to enable critical (hard) processes to be “protected” during potential transient overloads. These mathematical techniques derived within DMST can help designers experiment with alternative formulations and prove essential properties of systems before they are deployed.
The DrTee architecture is aimed at guaranteeing the crucial components of hard real-time distributed systems. A technique of simulated annealing is used to allocate processes to nodes. At each node schedulability tests are employed based on the deadline monotonic approach. At run-time, simple techniques are used: a preemptive priority based scheduler at each node, and a token passing broadcast protocol on the communications bus. Global timing requirements are guaranteed by choosing the priority of each process and the size of the token holding time for each node. The resulting execution environment has the flexibility to cater for sporadic events, mode changes and the dynamic allocate of resources that become available at run-time. These can be used to improve the utility of the services delivered by the real-time system.
Scheduling theories are now sufficiently mature that a genuine engineering approach to the construction of hard real-time systems is possible. In this paper we discuss the application of Deadline Monotonic Scheduling Theory (DMST). This theory is an extension of the more familiar approach based on rate monotonic priority assignment. The model presented can accommodate periodic and sporadic processes, different levels of criticality, process interaction and blocking, precedence constrained processes and multi-deadline processes. It is particularly well integrated with the use of Immediate Priority Ceiling Inheritance for control over process blocking. A basic pseudo-polynomial schedulability test is outlined and then supplemented by the introduction of offsets to control jitter, and period transformation to enable critical (hard) processes to be "protected" during potential transient overloads. These mathematical techniques derived within DMST can help designers experiment with alternative formulations and prove essential properties of systems before they are deployed.
The scheduling of processes to meet deadlines is a difficult problem often simplified by placing severe restrictions upon the timing characteristics of individual processes. One restriction often introduced is that processes must have deadline equal to period. This paper investigates schedulability tests for sets of periodic processes whose deadlines are permitted to be less than their period. Such a relaxation enables sporadic processes to be directly incorporated without alteration to the process model. Following an introduction oudining the constraints associated with existing scheduling approaches and associated schedulability tests, the deadline-monotonic approach is introduced. New schedulability tests are derived which vary in computational complexity. The tests are shown to be directly applicable to the scheduling of sporadic processes.