challenges and potential solutions for complex embedded systems
In the 20th century, an embedded system was most often thought of as a single piece of equipment driven by a single software program. Many efficient modeling, programming and verification paradigms have been developed in this setting: mathematical modeling using differential equations, reactive and synchronous programming, data-flow based signal processing, model-checking, etc. In the 21st century, systems are becoming much more complex. They mix hardware and software in subtle ways, involve a large number of sensors and actuators, become physically distributed, and may be remotely controlled by Web-based devices such as smartphones. Designing and verifying such systems raises many challenges that were independently known in particular areas but now need to be solved together. Here are some: understanding the relation between continuous and discrete time models, still quite unclear in the available mathematical modelers; understanding the ways in which synchronous and asynchronous communication could work in harmony; relaxing determinacy and timing constraints without losing too much predictability; being able to write full and faithful simulators of systems before building them, which is still a big problem in areas such as SoCs or transportation networks; developing methods to couple classical embedded systems with Web-based systems, which are of a very different nature. We will review some of the new problems posed in this area and some emerging solutions that could be applied to them, taking the notion of causality as the pivot of our reflections.
embedded systems plenum talk