1. Introduction
Embedded systems are typically applied for performing tasks closely related to the hardware, i.e. they can not expect a programmer-friendly multi-layered virtual machine interface and operating system API. This direct connection to the hardware impacts the fundamental implementation aspects (e.g. the interface design), as well as the dependability and timing considerations [3]. Fault tolerance measures can involve redundant communication channels, modular hardware redundancy, software diversity, etc. As a special aspect, real-time operation can be required from the embedded system. In these cases sophisticated task and communication scheduling and special algorithm design are needed [5].