Real-Time Programming With Time-Stamped Event Histories* Technical Report: UW-CSE-96-05-02
Alan Shaw and Douglas Rupp
Department of Computer Science and Engineering
University of Washington
Seattle, WA 98195-2350
Assertions on time-stamped event histories (TEHs) have been used in real-time theory for specifying, analyzing, and verifying requirements and designs, and also have been proposed for monitoring implementations. This paper investigates the direct use of TEHs for programming. We define some language and system support mechanisms, show by example the potential benefits of programming with TEHs, and describe an implementation that is an extension of a state-based system. Benefits include cleaner and more readable code, and programs that more closely resemble specifications.
The behavior of a real-time system can be characterized by a set of traces or histories of its
interesting events over time. Each such time-stamped event history (TEH) may be represented by an
H = < X1, X2, . . . , Xi, . . . > .
The ith event, Xi, is a triple (Ei, Vi, Ti) where Ei is the name of the type or class of the event, Vi is
the data, if any, associated with the event, and Ti is the time of the event. Such traces have been
used for the assertional specification, reasoning, verifying, and monitoring of real-time systems, mainly because many required and desired properties can be expressed conveniently in terms of TEHs. However, there has been little or no language and system support for dealing directly with TEHs in application programs.
The purpose of our work is to study the use of TEHs for writing real-time programs. Our proposal is to provide support for accessing TEHs in programs, in addition to normal language and system facilities; we are not suggesting that traces be used as a universal data object to the exclusion of all others. Our contributions are to demonstrate by examples that there are real benefits in
* This research is supported in part by the Army Research Office under grant number DAAH04-94-G-0226 and by the National Science Foundation under grant number CCR-9200858. The work was also supported in part by ENST (Telecom), Paris, when the first author was on sabbatical during Winter and Spring 1995.