A tool for the deterministic scheduling of real-time programs implemented as periodic Ada tasks

  • Authors:
  • E. W. Giering, III;T. P. Baker

  • Affiliations:
  • Department of Computer Science, Florida State University, Tallahassee, FL;Department of Computer Science, Florida State University, Tallahassee, FL

  • Venue:
  • SETA2 Proceedings of the second international symposium on Environments and tools for Ada
  • Year:
  • 1994

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.