Embedded systems are application-specific computer systems that are embedded in a larger device. They are responsible for controlling the input, output, and correct operation of the systems in which they are embedded. Today, embedded systems can be found everywhere: In consumer appliances like smartphones and washing machines, in cars and airplanes, in medical devices, and industrial robots and many others.
Typically, embedded systems must meet real-time requirements and many other non-functional constraints such as power consumption. Their use in safety-critical applications and the use of non-standard hardware and software make the development of embedded systems much more difficult than the development of software for desktop computers.
To meet these challenges, the Embedded Systems Group of the Department of Computer Science at the RPTU Kaiserslautern-Landau is developing the Averest toolkit for model-based design of software and hardware, with the synchronous programming language Quartz at its core. Quartz is ideally suited for developing the complex control logic required for today's embedded systems. Combined with the model-based design approach, where an initial high-level model of the system is formally verified and successively refined, Quartz allows for easier analysis and verification than traditional languages such as C, C++, or VHDL. Quartz programs can be automatically compiled into software for microprocessors or hardware for FPGAs and ASICs.