Probabilistic Real Time Systems
This research line covers a novel way to fulfil the timing requirements of current and future multicore-based real-time systems based on (1) injecting randomisation into the timing behaviour of hardware and software; and (2) developing probabilistic timing analysis techniques.
Summary
The advent of unmanned vehicles and criticality-related onboard features means that Embedded Real-time Systems (ERTS) increasingly deal with highly sophisticated and complex value-added software functionalities. These, in turn, require higher levels of computing power to be executed in a timely way. High-performance hardware is the natural way to respond to these performance needs, but it is well known that it challenges timing analysis techniques, which make pessimistic, yet trustworthy, assumptions on resource latencies, resulting in longer (degraded) Worst-Case Execution Time (WCET) estimates.
On this front, probabilistic techniques might help greatly. In particular, with Measurement-Based Probabilistic Timing Analysis (MBPTA) methods the execution time of the application can be accurately modelled – at some level of execution granularity – by a probability distribution. Probabilistic Timing Analysis techniques, and in particular MBPTA, seek to determine WCET estimates for arbitrarily low probabilities of exceedance, which are referred to as pWCET. Even if a pWCET boundary might in principle be exceeded, this can only happen with a given probability, which can be determined at a level low enough to suit the needs of system design in the application domain (e.g 10-15), well below the acceptable probability of failure in certified systems.
Objectives
The main objectives in this reseach line are as follows:
- Develop hardware and software techniques that randomise the timing behaviour of the application so that its timing behaviour can be characterised with probabilistic techniques. Whenever possible, using upper-bounding approaches so that the maximum response time of resources is captured at analysis.
- Develop appropriate Probabilistic Timing Analysis techniques to provide tight and reliable execution time bounds of applications running in time-randomised hardware and software.