As part of the Laboratory for Digitalisation, the Systems Architecture Research Group does research on modern, free and open architectures for industrial embedded systems with a strong focus on safety- and mixed-critical systems.
In parallel, the Software Engineering Group of Digitalisation Laboratory develops quantitative techniques that support safety certification efforts for OSS components when being used in safety-critical environments.
The Systems Architecture Research Group has profound experience with the following processor architectures:
The Systems Architecture Research Group works on tailored architectural solutions for industrial environments (such as Static Hardware Partitioning or Embedded Virtualisation) with a strong focus on Hardware/Software-Codesign: Besides taking top-down approaches (i.e., writing software for the hardware), we also take a bottom-up approach (i.e., the sight from the hardware's perspective on the software), and design, conceptualise, and implement custom hardware extensions for computer architectures.
The Group especially focuses on free and open Instruction Set Architectures, such as RISC-V, where we use FPGAs to allow for cycle-accurate simulations of custom hardware modifications.
While hypervisors are often optimised for high throughput and optimal performance in the desktop and enterprise segment, virtualisation solutions for real-time constrained embedded systems significantly differ: the architecture needs to target low latencies, deterministic computation cycles and maintaining real-time capabilities.
Static hardware partitioning is a special case of embedded virtualisation that exclusively assigns hardware resources to isolated computing domains that execute on the same logical platform. It makes the assumption that available resources are greater or equal than the required computational power: there is no need for sharing any resource of the system. This is already the case in numerous industrial appliances, as multi-core CPUs conquered embedded markets.
Static hardware partitioning means that the assignment of physical resources to computing domains is static, that is, the assignment does not dynamically change over time. Partitioning implies strong isolation across partitions or domains. Virtualisation extensions of modern CPUs can be exploited to create such static and distinct execution environments. However, static hardware partitioning does not yet give guarantees on implementing a real-time capable system architecture. If it is possible to implement static hardware partitioning upon virtualisation extensions of modern architectures with no (software-induced) hypervisor resp. virtual machine monitor (VMM) overhead during system operation, then the underlying real-time guarantees of the execution platform (that must exist in any case) are inherited by execution domains (i.e., the guests) by design and without any further software interaction. This architectural approach is implemented by the Open-Source Linux-based partitioning hypervisor Jailhouse. Group members of the Systems Architecture Research Group actively support the development of Jailhouse.