Computer Science Seminar
Functional Reactive Programming for Real-Time and Cyber-Physical Systems: Response Time Analysis, Scheduling, and Verification
Abstract: The use of sophisticated digital systems to control complex physical components in real-time has grown at a rapid pace. These applications range from traditional stand-alone systems to highly-networked cyber-physical systems (CPS's), spanning a diverse array of software architectures and control models. Examples include automobile adaptive braking, industrial robotic assembly, medical pacemakers, autonomous (ground, air, and sea) vehicular travel, remote surgery, physical manipulation of nano-structures, search-and-rescue, and space exploration. Since all these applications interact directly with the physical world and often have humans in the loop, we must ensure their physical safety. Obviously, the correctness of these embedded systems and CPS's depends not only on the effects or results they produce, but also on the time at which these results are produced. For example, when the driver of a car applies the brake, the anti-lock braking controller analyzes the environment in which the controller is embedded (car speed, road surface, direction of travel) and activates the brake with the appropriate frequency within fractions of a second. Both the result (brake activation) and the time at which the result is produced are important in ensuring the safety of the car, its driver and passengers. In a CPS consisting of a multitude of vehicles and communication components with the goal to avoid collisions and reduce traffic congestions, formal safety verification and response time analysis are essential to the certification and use of such systems. The benefits of using the functional (reactive) programming (FRP) over the imperative programming style found in languages such as C/C++ and Java for implementing embedded and real-time software are several. The functional programming paradigm allows the programmer to intuitively describe safety-critical behaviors of the system, thus lowering the chance of introducing bugs in the design phase. Its stateless nature of execution does not require the use of synchronization primitives like mutexes and semaphores, thus reducing the complexity in programming. However, accurate response time analysis of FRP-based controllers remains a largely unexplored problem. This talk will introduce a framework for accurate response time analysis, scheduling, and verification of embedded controllers implemented as FRP programs.
*Supported in part by the US National Science Foundation Awards No. 1219082 and No. 0720856.