One important challenge to address is the fact that real-time embedded systems cover a large number of application sectors with specific needs.
The approach of TECOM is to develop a general abstract execution platform architecture for real-time embedded systems which can then be specialised/instantiated to a specific application sector and customised to adapt to specific standards and needs, e.g. AUTOSAR in the automotive sector, OSGi (Java middleware framework) in gateways, Windows CE.
Two key components have been identified to make up the general abstract execution platform architecture:
- A security layer which sits between applications and the underlying operating systems. The security layer is responsible for consistency between execution flow control (e.g. task 1 executes application A, task 2 executes application B), data flow (e.g. application A and B produce specific data) within the execution system, and policies (e.g. application A cannot access data owned by application B). This applies as well to system resources including security services (e.g. updating credentials). This layer also provides a framework to allow the secure integration of device drivers.
- A secure OS, which relies on the underlying hardware platform to interface with the security layer. Two approaches will be investigated, (1) partitioning or virtualisation through hypervisor capabilities and (2) microkernel OS approaches:
- In a hypervisor approach, the processor is made virtual through a software layer which emulates multiple virtual processors. Consequently, several operating systems can be executed in parallel. A typical configuration includes a real-time operating system to run application A and a non real-time operating system to run application B.
- In a microkernel approach, we use a classical operating system approach using an onion based structure. The inner part of the onion is the microkernel, which supplies basic OS functions. Additional layers then provide other richer operating services.
From the general abstract architecture, customisation can be applied to take into account two variation axes:
- Hardware and OS specific aspects. We can list the following technologies:
- Trango: virtualisation technology adapted to mobile applications, usable in other application sectors
- Xtratum: virtualisation technology from Universidad Politécnica de Valencia
- Arinc653: partitioning standard in the avionics sector
- XEN: virtualisation technology
- L4: Linux with a microkernel implementation based on a secure architecture
- RT-Linux
- OSEK: OS for the automotive sector
- Application sectors such as mobile applications, home control systems, video surveillance, automotive, and avionics.