Analyzing Hard-Real-Time Programs for Guaranteed Schedulability

Document Type

Article

Publication Date

1-1-1991

Abstract

The process of verifying that real-time software will meet its timing constraints, referred to as worst-case schedulability analysis, or simply schedulability analysis, is an essential part of the development of real-time software. Currently, real-time software programmers perform schedulability analysis in a manual, nonsystematic, error-prone way. Attempts to systematize schedulability analysis have so far resulted in techniques which can adequately model and analyze only simple real-time systems. When applied to realistic (and thus mostly nontrivial) real-time systems, these techniques result in overly pessimistic worst-case bounds. The failure of these existing schedulability analysis techniques applied to realistic systems can largely be attributed to their lack of detail. That is, practically all information about the language, its implementation, program organization, and hardware configuration is not taken into account or reduced to a small number of parameters. Thus usable techniques for systematic schedulability analysis are badly needed. These techniques need to take into account more information than the existing ones do, and produce good worst-case time bounds when applied to realistic real-time systems. In this paper we present a set of language-independent schedu-lability analysis techniques. Utilizing knowledge of implementation-and hardware-dependent information in a table-driven fashion, these techniques provide accurate worst-case time bounds and other schedulability information. A prototype schedulability analyzer has been developed to demonstrate the effectiveness of these techniques. The analyzer consists of a partially language-dependent front-end, targeted at Real-Time Euclid, a new real-time language specifically designed with a set of schedulability analysis provisions built-in, and a language-dependent back-end. The analyzer has been used on a number of realistic real-time programs, run on a multiple-microprocessor system. Predicted program performance differs only marginally from the actual performance. This is contrasted with an existing schedulability analysis method applied to the same programs. Predictions of this existing method deviate quite considerably from the actual performance. Thus our approach to schedulability analysis is effective and practical. © 1991 IEEE

Identifier

0026205958 (Scopus)

Publication Title

IEEE Transactions on Software Engineering

External Full Text Location

https://doi.org/10.1109/32.83911

ISSN

00985589

First Page

737

Last Page

750

Issue

8

Volume

17

This document is currently not available here.

Share

COinS