Creating a visual environment for safety-critical embedded software
A new process is needed for writing software for complex, distributed embedded applications such as flight-control, missile control, even automobile control, according to ECE’s Sandeep Shukla. He has a research team working with the U.S. Air Force Laboratories to do just that.
Lemair Stewart (CPE ’09) and Jason Pribble (CPE ’10) spent the summer at the Air Force labs in Rome, N.Y.
“In these systems, the computation takes place in a distributed set of microcontrollers and microprocessors that are connected over a bus or an interconnection network. Based on inputs from sensors that are distributed throughout the system, or from the driver, the complex concurrent real-time computations take place.” he says. “The concurrent real-time processing environment becomes too complex for a software designer to hold in mind and the software becomes error-prone and riddled with bugs that are hard to discover by traditional testing methods.”
His team is tackling these issues by creating a visual environment, called CodeSyn, in which designers create the specifications through a graphical interface, use a visual debugging tool, and generate code automatically.
The implementation of the visual framework was developed this past year by two undergraduate research assistants, Jason Pribble (CPE ’10) and Lemaire Stewart (CPE ’09). Both students spent the summer with Shukla at the Air Force labs in Rome, N.Y., capturing the embedded control problems from a data-flow perspective using a mathematical model called Multi-Rate Instantaneous Channel Connected Data Flow Actor Network (MRICDF). In the model, the time to compute or communicate is assumed to be zero, and the only way time passes is by the arrival of a certain set of events. The next steps involve analyzing the MRICDF model of the problem, creating and analyzing the mathematical representation, creating XML models for storage and exchange of data with other tools, and developing sequencing of computations and the code generator.
There are several challenges in developing the code generator, according to Shukla. “The synthesized code must be optimal, clean code. It must be capable of handling the real-time constraints of multi-processors and operating efficiently in a mult-core, parallel processing environment.”
Graduate students for this project are supported by an AFOSR funding. Bijoy Jose, Bin Xue, and Zeng Wu are the Ph.D. students working on developing the theory involved in the project.