The field covers design and implementation of software for real-time and embedded systems. This includes, in addition to techniques and principles for meeting application-level real-time demands, the following;
Error handling and availability.
Distributed systems (sensor networks, process control systems…)
Practical implementation of control algorithms.
Low-level programming (- interfacing hardware)
Implementation of algorithms for Real-Time operating systems (Scheduling, Resource Control…)
Formal Methods relating to real-time systems
Special operating systems and middle-ware for real-time and embedded systems.
Some of the current research activities/interests in this field are:
Highlevel Execution Time Analysis (Source analysis) and the application of execution time data in resource allocation/scheduling as well as implications for design/implementation formalisms.
Lowlevel Execution Time Analysis; Achieving predictability in presense of cache and pipelined execution.
Architectural aspects for achieving quality of service in distributed real-time systems.
Fault-tolerance in distributed hard real-time systems.
CPU-Scheduling based on control-theory.