Cyber-physical systems (CPS) are characterized by the interaction of physical and software components. Sensors provide information about the state of the physical world and actuators enable software components to influence their physical environment. Physical components naturally evolve in real time following the rules of physics. As a consequence, to achieve objectives in the physical world, the software components of a CPS also need to perform their computations within limited amounts of real time.
Often CPS are safety-critical. Then, it is imperative to verify their functional correctness, including their timing behavior. This course conveys challenges and solutions in modeling, design, and analysis of time-critical systems:
- Modeling: The execution time of software heavily depends on the underlying hardware: caches, pipelining, and shared resources in multicores all have a huge influence on execution times. Thus, precise microarchitectural models are a prerequisite for timing analysis. We will discuss approaches to obtain faithful microarchitectural models as well as open research challenges.
- Analysis: Given a faithful microarchitectural model, how can the timing behavior of an application be safely bounded? We will first learn about timing-analysis techniques at the level of individual tasks; then we will see emerging compositional techniques to analyze a whole application's timing, accounting for platform-related overheads due to shared resources such as caches and buses.
- Design: How should future multicore architectures be designed to enable precise and efficient timing analysis? We will discuss competing notions of timing predictability, including determinism and monotonicity. Then we will take a look at current academic and commercial projects, such as PRET, XMOS, and the Kalray MPPA-256 that aim to achieve predictability.
Jan Reineke is an assistant professor of computer science at Saarland University.
Before joining Saarland University in 2012, he was a postdoctoral scholar at UC Berkeley in the Ptolemy group from 2009 to 2011. He completed his MSc and PhD in Computer Science at Saarland University in 2005 and 2008, respectively, and his BSc in Computing Science at the University of Oldenburg in 2003.
His research interests include static analysis by abstract interpretation with applications to the verification of cyber-physical systems, static timing analysis, shape analysis, and side-channel analysis. He is also interested in automatic methods to obtain faithful models of microarchitectures and in the design of timing-predictable microarchitectures for use in hard real-time systems.
In 2012, he was selected as an Intel Early Career Faculty Honor Program awardee. He was the program committee co-chair of EMSOFT, the International Conference on Embedded Software, in 2014.