PHILADELPHIA The National Science Foundation has awarded $1 million to a University of Pennsylvania team to identify better techniques for software development, particularly ways to get a jump-start, during product design, on debugging the embedded computers that run modern automobiles and a host of other electronic devices and appliances.
The funds come from the NSF information technology initiative, created by President Clinton to create a better infrastructure for software nationwide. Principal investigator is Rajeev S. Alur, professor of computer and information science at Penn.
Embedded computers are found everywhere from toasters to cellular phones to airplanes, and their many life-or-death roles make their reliability critical. They support medical equipment such as heart-lung machines, defibrillators, dialysis machines and imaging devices from mammography machines to MRIs. Most new automobiles house multiple small computers to regulate key functions such as antilock braking systems and engine performance. Air traffic control systems and the machinery that monitors nuclear reactors are rife with the specialized processors.
"It can be very labor-intensive to assess the reliability of embedded devices during design of a product," Alur said. "Often lengthy testing occurs only after design is completed. Being able to better predict the reliability of embedded computers during the product design phase, not after, could increase dependability and reduce costs."
Alur team will examine ways to systematically incorporate a focus on embedded computer reliability into the beginning stages of product design, working any bugs out early on and foreseeing why certain designs and products wouldn work.
"We are building tools that would allow designers to first build models, and validate their properties before generating code from the models," Alur said. "This approach of model-based design is common in traditional engineering disciplines, but largely absent in writing of software. A key challenge is to develop powerful analysis tools that would test the model in all possible cases so that even the rarest of bugs would be revealed up front."
Embedded devices usually operate in a physical world with continuously changing parameters. For example, a car cruise control system has to continuously sense and adjust the speed. Designing such a system is the domain of control theory.
Implementing the design on a microprocessor requires coding, and that where computer scientists can help. The role of software becomes crucial as the features of onboard processors grow, and also in the presence of multiple devices that communicate and cooperate with one another. Alur proposal is to develop an integrated approach that considers the software and the physical environment as a single system.
Alur and other Penn researchers will build upon recent results from computer science, control theory and hybrid systems to develop new models to better predict how embedded processors might respond under such multifaceted circumstances.
Alur colleagues on the NSF grant include Vijay Kumar, professor of mechanical engineering; Insup Lee, professor of computer and information science; and George Pappas, assistant professor of electrical engineering. The NSF grant will support their work for five years.