Speaker: John Regehr , University of Utah
Principles and Pragmatics for Embedded Systems
Abstract: Most of us interact with and depend on embedded software every day: it controls devices such as cell phones, anti-lock brakes, and pacemakers. Embedded software is difficult to develop because it must meet stringent requirements such as using minimal resources, operating correctly over long periods of time, and being developed quickly. In this talk I present CEE: a new framework that helps create software meeting these requirements. CEE supports multiple, high-level "execution environments" that make it easier to solve parts of the overall software design problem as well as supporting aggressive late binding of design requirements to implementation constructs. Late binding is useful because early commitment to implementation decisions leads to inefficiency and inhibits compositionality and reuse of software modules. Underlying CEE are novel models of concurrency and real-time scheduling that support mixing of preemptive and non-preemptive scheduling, generating schedules that maximize the robustness of a system under timing faults, and analyzing global concurrency properties even in the presence of multiple execution environments.
Short Bio: John Regehr's main research interests are in embedded systems, operating systems, and real-time systems. He is a postdoc in the School of Computing at the University of Utah, having received his Ph.D. from the University of Virginia in 2001. In his spare time he hikes and reads.
Host: Robert Fornaro and Mladen Vouk, Computer Science, NCSU