The project will investigate a new program analysis, interaction analysis, and a new set of implementation techniques to support future generations of embedded systems. Instead of executing low-level code whose sole responsibility is to control a specific piece of hardware, these future systems will be built in a layered fashion, with the core control software surrounded by outer layers of software that integrate the core software and the device that it controls into a larger integrated, distributed system of devices and users. The key challenge associated with realizing this vision is the need to effectively apply implementation mechanisms that enable the outer layers to share the hardware device without disrupting the actions of the time and safety critical core code. The economics of developing large software systems will ensure that most of the outer layers will consist of standard, off-the-shelf software components from the world of laptop, desktop, and server computing. The outer layer software will therefore have been developed to use implementation mechanisms that are unsuited for use in time-critical control software. Nevertheless, the core software and the outer layer software will need to interact. With standard implementation mechanisms, interactions mediated by objects shared with outer layers could easily lead to unacceptable delays and a loss of real-time control in the core. The focus of this research is the development and investigation of new interaction analysis algorithms that extracts the interaction patterns between the core and outer layers, then uses these patterns to classify objects into several categories. Each category can then use an implementation mechanism appropriate for how it is used in the system. The end result is a system in which the outer layers and core software effectively cooperate without a loss of safety or predictability. The envisioned analysis has several properties that will make it suitable for this application. First, it is capable of extracting a meaningful result with an analysis of only part of the program. Second, it can effectively analyze the multithreaded programs that come from the integration of the outer layers and the core. Third, the partial analysis is goal-driven to extract the required information with an analysis of only those parts of the program required to obtain the result.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Network Systems (CNS)
Application #
0209075
Program Officer
D. Helen Gill
Project Start
Project End
Budget Start
2002-09-01
Budget End
2004-08-31
Support Year
Fiscal Year
2002
Total Cost
$180,000
Indirect Cost
Name
Massachusetts Institute of Technology
Department
Type
DUNS #
City
Cambridge
State
MA
Country
United States
Zip Code
02139