REAL-TIME SYSTEMS

Linguistic Support for Real-Time Programming

G. A. Agha,* M. Saito, S. Ren, B. Nielsen
University of Illinois

The current generation of concurrent programming languages provides inadequate support for real-time computation. The goal of this project is to simplify real-time programming by separating the specification of timing constraints on a group of actors from their logical behavior. Such a separation will support incremental modification of both the timing constraints and the actor representations. Real-time constraints in our approach are represented declaratively and constrain the scheduling of groups of actors.


PERTS A Prototyping Environment for Real-Time Systems

J. W.-S. Liu,* C. L. Liu,* Z. Deng, S. K. Dong, R. Ha, T. Huang, S. Mallikarjun, M. Storch, A. Silberman, J. Sun, T. S. Tia, L. C. Wu
Defense Advanced Research Projects Agency, N00014-92-J-1815; National Aeronautics and Space Administration, NAG 1-613

We are building a system of software tools called PERTS. PERTS currently contains (1) basic building blocks of operating and run-time systems for time-critical applications, and (2) tools for the analysis and validation of real-time systems. PERTS tools are based on new theoretical advances in real-time scheduling paradigms and validation theory. The reusable building blocks provided by PERTS implements a broad spectrum of scheduling algorithms and resource-access protocols. When it is completed, PERTS will also contain timing analysis and measurement tools for automatic extraction of timing and resource requirements of software modules and a simulation environment for profiling the performance of complex systems.


Using Imprecise Computations to Enhance Dependability

J. W.-S. Liu,* C. L. Liu,* D. Hull, W. Feng, C. W. Liu
U.S. Office of Naval Research, N00014-92-J-1146

The imprecise computation technique has been proposed as a way to enhance fault tolerance and graceful degradation. The objective of this research is to establish a solid theoretical foundation for the use of imprecise computations as a fault-tolerance technique. We are developing a comprehensive set of imprecision management strategies to ensure the correct usage of imprecise results and for error recovery making use of imprecise results. We are also building a software system that effectively integrates the domain-specific, imprecision mechanisms with the traditional domain-independent fault-tolerance mechanisms.


Approximate Query Processing and Updates


J. W.-S. Liu*
U.S. Air Force Office of Scientific Research, F49620-93-1-0060

This project is concerned with the design and implementation of update and query processing schemes that allow databases to be modified and queried in an incremental manner. We have developed an approximate query processor that provides approximate answers to relational database queries. These answers improve monotonically in accuracy as more and more data are retrieved and processed. It returns an approximate answer whenever system failures or overloads prevent it from producing the exact answer. We are currently investigating the feasibility of partial updates that require no error recovery action to complete them for several application domains and developing the theoretical underpinnings and algorithms that are needed to support incremental updates.


Architecture and Timing Study

J. W.-S. Liu,* Z. Deng, S. Mallikarjun, M. Storch, J. Sun, T. S. Tia, L. C. Wu
U.S. Naval Surface Warfare Center, N60921-94-M-E073

This project is concerned with assessing the applicability of modern techniques and tools for the design and validation of real-time systems to the reengineering of large and complex real-time systems. Specifically, its objective is to determine how effective the current prototyping tools are when applied to porting of radar control and signal-processing applications from customized hardware platforms and run-time executives to high-performance platforms and commercially available operating systems.


End-to-End Scheduling in Distributed Systems


J. W.-S. Liu,* W. Feng, I. Philp, J. Sun
National Science Foundation, CCR 92-24269

Tasks in distributed real-time systems typically are composed of multiple subtasks, and their timing constraints are end-to-end in nature. The subtasks in each task execute in turn on functionally or physically distinct processors. The primary objective of end-to-end scheduling is to ensure that every time-critical task completes by its deadline. This project is concerned with algorithms for end-to-end scheduling in distributed real-time systems of different sizes, complexity, and dynamics. Its objective is to develop a basic framework in which strategies for end-to-end scheduling, load balancing, concurrency control, and synchronization can be integrated to ensure the responsiveness and robustness of the overall system.