Kwei-Jay Lin

Professor, Electrical Engineering and Computer Science
The Henry Samueli School of Engineering

PH.D., University of Maryland, College Park

Phone: (949) 824-7839
Fax: (949) 824-2321

University of California, Irvine
516E Engineering Tower
Mail Code: 2625
Irvine, CA 92697
Research Interests
Real-Time Systems, Distributed Systems
Research Abstract
Using Imprecise Computations to Enhance System Dependability
Investigator: K-J. Lin
Support: Office of Naval Research

The imprecise computation model is a promising approach to provide fault tolerance and graceful degradation for both real-time and non-real-time applications. Using the techniques, tasks are designed to produce useful but maybe imprecise results whenever a hardware failure or system overload prevents the tasks from completing their normal executions. In this way, systems can achieve fault tolerance more effectively. For the past few years, we have established the theoretical foundations and studied scheduling algorithms for the use of imprecise computations as a fault-tolerance technique in real-time systems. In the next few years, we will study the run-time system protocols to support these techniques and the actual performance gains when applying these techniques in specific applications. Our goal is to develop a domain-independent framework so that the feasibility, effectiveness and merits of using the imprecise computation approach for fault tolerance can be easily achieved.

Building Complex Real-Time Systems using the Object-Oriented Paradigm
Investigator: K-J. Lin
Support: National Science Foundation

Real-time systems software must be able to express, to maintain and to enforce timing constraints. Using the object oriented approach allows us to apply the principles of hierarchical structuring and component abstraction, which are essential in building large, complex systems. To meet the strong requirement of graceful system degradation, we enhance the adaptability and flexibility of real-time objects by extending the object model to include performance polymorphism. In our systems, timing constraints may be defined explicitly in the program for effective management of time. A real-time program module is defined as a set of objects with a range of execution time requirements; one of them will be selected for execution either dynamically or statically based on the deadline constraint. Our approach provides three forms of flexibility for real-time programs against timing errors. First, an object may actively evaluate its timing constraints to select the execution path with the most desirable response time. Second, the run-time system, given global scheduling knowledge, may bind a real-time request dynamically to an object with that meets time and space requirements. Finally, an object may resort to producing imprecise results if its timing constraints are so dynamic that they are beyond the control of the previous two mechanisms. In our approach, the execution time is modeled as a first-class object so that it can be dynamically managed.

Real-Time Databases
Investigator: K-J. Lin

Many real-world applications involve time-constrained access to data as well as access to data that has temporal validity. All of these involve gathering data from the environment, processing the information gathered in the context of information acquired in the past, and providing a timely and temporally correct response. Although conventional databases have features that allow data to be managed correctly and efficiently, they may not guarantee the speed and predictability of performance of transactions, and the temporal nature of data and transactions. In this project, we pursue a unified theory for real-time scheduling and concurrency control that maximizes both concurrency and resource utilization subject to three constraints: data consistency, transaction correctness, and timing constraints. We also develop design and analysis tools that handle temporal and performance information.
Last updated