The priority ceiling protocol: A method for minimizing the blocking of high priority Ada tasks
IRTAW '88 Proceedings of the second international workshop on Real-time Ada issues
A One-Pass Algorithm for Overload Resolution in Ada
ACM Transactions on Programming Languages and Systems (TOPLAS)
Predicting execution time of real-time programs on contemporary machines
ACM-SE 28 Proceedings of the 28th annual Southeast regional conference
Experiments with a Program Timing Tool Based on Source-Level Timing Schema
Computer - Special issue on real-time systems
Stack-based scheduling for realtime processes
Real-Time Systems
Compile time processing of Ada task constructs for real-time programming
Compile time processing of Ada task constructs for real-time programming
Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment
Journal of the ACM (JACM)
Compile time scheduling of an Ada subset
WADAS '90 Proceedings of the seventh Washington Ada symposium on Ada
Monitors: an operating system structuring concept
Communications of the ACM
Computers and Intractability; A Guide to the Theory of NP-Completeness
Computers and Intractability; A Guide to the Theory of NP-Completeness
A single-pass syntax-directed front end for Ada
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
Real-Time Schedulability Tests for Preemptive Multitasking
WPDRTS Selected papers from the 4th workshop on Parallel and distributed real-time systems
Hi-index | 0.00 |
In this paper, we describe an experimental tool for the scheduling and execution of real-time programs on a single processor. This tool accepts a real-time program implemented as a system of periodic tasks written in a subset of Ada. It translates the program into equivalent Ada source code in which the task bodies are executed by a run-time dispatcher according to a deterministic, cyclic schedule.The schedule is represented as a table of scheduling actions describing the execution of the program for a major cycle, which is repeated at intervals of the major period of the least common multiple of all task periods. Each scheduling action covers an interval in the major cycle, and specifies a sequence of statements within a task that is to be executing during that interval. A compile-time scheduler arranges these scheduling actions within the major cycle such that all timing and rendezvous constraints will be satisfied. The periodic Ada tasks all start simultaneously (there is no task phasing), so that the schedule satisfying all constraints in the first major cycle can be repeated indefinitely.A simple example of a translation is presented, and the results of using this tool to schedule and execute some experimental task systems are described.