College of Engineering >
Computer Science >
Computer Science Technical Reports >
Please use this identifier to cite or link to this item:
|Title: ||Real-Time System = Discrete System + Clock Variables|
|Authors: ||Alur, Rajeev|
Henzinger, Thomas A.
|Keywords: ||computer science|
|Issue Date: ||Jan-1994|
|Publisher: ||Cornell University|
|Abstract: ||How can we take a programming language off the shelf and upgrade it into a real-time programming language? Programs such as device drivers and plant controllers must explicitly refer and react to time. For this purpose, a variety of language constructs-including delays, timeouts, and watchdogs-has been put forward. We advocate an alternative answer, namely, to designate certain program variables as clock variables. The value of a clock variable changes as time advances. Timing constraints can be expressed, then, by conditions on clock values. A single new language construct-the guarded wait statement-suffices to enforce the timely progress of a program. Our presentation proceeds in two steps. First, we extend untimed systems (Section 1) with clock variables (Section 2); then we introduce the guarded wait statement (Section 3). The usage of clock variables and the guarded wait statement is illustrated with real-time applications such as round-robin (timeout-driven) scheduling, priority (interrupt-driven) scheduling, and embedded process control (Section 4). Indeed, clock variables generalize naturally to variables that measure environment parameters other than time (Section 5). In keeping with an expository style, all references are clustered in bibliographic remarks at the end of each section. We conclude by pointing to selected literature on formal methods and support tools for our approach to real-time programming (Section 6).|
|Appears in Collections:||Computer Science Technical Reports|
Items in eCommons are protected by copyright, with all rights reserved, unless otherwise indicated.