|
|
My major interest is in the modular design and rapid prototyping of reliable computing structures. Three research projects support this interest: Mobile/Wearable Computers, Concurrent Design, and Reliable Systems. Mobile/Wearable/Context Aware Computers. The information processing industry is undergoing a paradigm shift. In the 1990's wearable computers allow mobile users to remotely access information and collaborate with exerts. We have built over two dozen generations of wearable computer systems in such diverse areas as heavy vehicle maintenance, aircraft manufacturing, plant operations, language translation, and medical monitoring. Example systems can be found on www.cs.cmu.edu/~wearable. Systems involve hardware architecture, software architecture, wireless communications, interaction between energy consumption and functionality, ergonomic design, and human computer interaction. By adding low cost sensors and machine learning algorithms, small platforms such a cell phones, PDAs, and wristwatches can be made context-aware and respond proactively to situations based upon learned user preferences. Research is in cooperation with the Design Department, Electrical and Computer Engineering, and the Human Computer Interaction Institute Concurrent Design. The goal of the project is to support the generation of designs from high level systems specifications into completely assembled electronics, mechanical, and software systems. The goal is to reduce design time by 1 to 2 orders of magnitude. The Concurrent Design methodology has been used in all generations of mobile computers described above. Groups of up to 30 designers representing up to five disciplines design and fabricate multiple copies in less than four months, and develop tools to support the concurrent design process. For all levels of design there are common issues that must be addressed including design data bases, design information representation, human-computer interfaces, simulation/validation/ verification, automatic synthesis, test generation, and design selection criteria. Reliable Systems. For over three decades, computer system design and evaluation has been based upon performance benchmarks. Comparable benchmarks do not exist for evaluating the quality and robustness of computer hardware/software systems. This project is developing a family of portable benchmarks for a variety of operating systems and programming language environments. The benchmarks are based upon over a decade of experimentation with fault injection including the next generation air traffic control system. Information can be found on www.ices.cmu.edu/ballista. Another goal of the project is to develop technology to enable the construction of reliable systems from commercial-off-the-shelf (COTS) hardware and software. One approach is to add middleware between the applications software and the operating system. Sentries can perform error detection, data logging, and automatic retry, all transparent to the application software. Studies indicate that the majority of system downtime is due to human errors in either design or operation. This project also explores the design of software systems and interfaces to reduce human errors. Other research issues include automatic generation of assertion checks, check pointing/rollback, and redundancy through replication. Research is in cooperation with Roy Maxion and Phil Koopman.
|
||||