Real-Time Software
This research area focuses on real-time operating system (RTOS) to properly support real-time safety-critical applications. In particular, it investigates scheduling and synchronization algorithms to ensure low and predictable latencies in the computational activities.
Following the recent evolution of software systems, this research line has also been extended to cover virtualized systems and hypervisors with real-time constraints, both in the context of embedded applications and cloud computing.
More recently, research efforts have also been devoted to support heterogeneous platforms that integrate asymmetric multiprocessors, field-programmable gate arrays (FPGAs), general-purpose graphical processing units (GP-GPUs), and other accelerators.
The most relevant investigated topics are the following:
- Predictable scheduling and synchronization algorithms for real-time operating systems and virtualized systems;
- Timing analysis for RTOS kernels and hypervisors;
- Development of new real-time kernels and hypervisors;
- Strong isolation mechanisms for hypervisors (e.g., cache partitioning, control of memory contention);
- Time-predictable virtualization of FPGAs;
- Support for trusted execution environments (TEEs) in virtualized real-time systems.
Key Recent Projects
- On-going: AMPERE - A model-driven development framework for highly parallel and energy-efficient computation supporting multi-criteria optimization. H2020, 2020-2022.
- On-going: SPHERE - Software Architecture for Predictable Heterogeneous Real-time Systems. PRIN 2017, 2019-2022.
- Concluded: Spatial and temporal isolation mechanisms on a custom heterogeneous computing platform for automotive systems. Industrial project, 2020-2021.
- Concluded: Design and development of a real-time kernel for safety critical systems. Industrial project, 2020-2021.