As embedded systems become more mobile and widespread including use in the human body, in geological and space sensors, and in weapons systems, the issues for systems designers grow more numerous and critical. Power, real-time communications, system availability, reliability, and other Quality of Service (QoS) issues are growing more complex.
Its not just the PDA: Embedded computers are used in growing numbers of every application, from cars and traffic lights, to climate control systems and household appliances. Some experts estimate that each individual in a developed nation may unknowingly use more than 100 embedded computers daily, according to Sandeep Shukla, who is working to develop tools for embedded systems designers. "Embedded computers also constitute the backbone of mission-critical complex systems, such as space mission controls, avionics and weapons systems."
Sandeep Shukla, who joined the ECE faculty last summer, wants to boost the productivity of embedded systems designers by developing formal analysis and validation methods/tools that allow engineers to quickly and accurately choose the optimal strategies for balancing system performance and resource usage.
He recently won a $400,000 National Science Foundation (NSF) Faculty Early Career Development Award to develop the formal methods and to create design automation methodologies and tools based on these formal methods, to optimally design embedded systems with mathematically provable quality of service guarantees. The Career Awards are the NSFs most prestigious awards for new faculty members and are given to those who are expected to become academic leaders in their fields.
According to Shukla, more than 30 times as many computers are used in embedded systems as in general-purpose personal computers. This growth is making design increasingly difficult, states Shukla. Today the design options are huge and there is too much interaction between devices, too much uncertainty that must be modeled into a system, he said.
He used power consumption as an example. If we want to reduce power consumption by a system, we can do that in the hardware, or we can work at the operating system level by using certain programmatic techniques so as to make devices in the system require less power. These decisions in the hardware/software interface are often done in an ad hoc manner today, and are validated by expensive and time-consuming simulations, he said. Such decisions are difficult without proper tool support due to the amount of uncertainty in the system usage patterns, and device characteristics, he added.
Probabilistic Models and Game Theory
Shukla is interested in developing mathematical techniques based on game theoretic models and probabilistic model checking. Probabilistic model checking is inherently exhaustive in searching among all possible scenarios, he said. This means that more useful information can be obtained about the design strategies than can be obtained through existing approaches that only attempt optimization of the average case.
Probabilistic model checking also allows for quick determination of potentially catastrophic corner cases, he said. Corner cases are less probable cases or scenarios that come up under extraordinary conditions. They need to be considered in the design to avoid disasters in case such improbable scenarios do occur.
He expects to integrate game theory to help coordinate multiple competing strategies. A system may be composed of a number of independent devices and their individual power management strategies, which may have opposing goals. Our approach to coordinating these different entities and solving system- level energy minimization is based on the cooperative game approach, he said.
Improving CAD Tools
Shukla plans to develop tools that will help designers choose between competing strategies and verify the probabilistic guarantees of the performance of the strategies. Im developing formal methods to design systems where I can provide mathematical tools that ensure certain conditions are met and the standards can be guaranteed with a high probability, he said.
He has been collaborating with researchers at the University of Birmingham, UK, the developers of PRISM, a publicly available model-checker, and hopes to enhance their offering with his results. I dont see the need to duplicate an existing tool, he said. My goal is to develop an innovative use of their tool with enhancements for use in system design.
Embedded Systems Curriculum
In addition to research and development, Shuklas NSF work will involve the development of an embedded systems specialization for computer engineers. There is a dire shortage of engineers experienced in designing and implementing embedded systems and only a handful of universities around the world currently have specialization programs.
Embedded systems design is no longer simple micro-controller programming and application-specific logic design, he said. It now includes aspects of software patterns, memory management, compilations, system level design languages and synthesis, CAD tools, system-on-a-chip design issues, validation and formal methodology.
Shukla plans to design a number of new courses, including Embedded Systems Design - Hardware Issues, Embedded Software Design, CAD for Embedded Systems Design, Formal Verification of Embedded Systems, Low Power System Design, Formal Approach to Network Application Design, and Designing Embedded Systems with System Level Specific Languages. He is currently collaborating on two textbooks that will support these efforts.