1. Cyberphysical Models
We learn how to model an embedded system together with its physical environment . We distinguish between dynamical systems, where the input signals are defined over continuous time, discrete systems, where the input can be defined over discrete instants of time, and hybrid systems, that are composed of both discrete and continuous components. We also learn how to simulate a virtual prototype of an embedded system and understand the limitations of simulation.
2. Sensors, Actuators & Control
We take a look into sensor and actuator hardware. We learn how to design a sensor system, including pitfalls of Analog/Digital-conversion and about implementation of controllers based on sensor values. Further, we learn how to model systems with control loops, how to simulate them, and how to make sure that a controller for a system is stable.
3. Circuit Design
We learn how to describe hardware in the hardware description language VHDL, how to synthesize hardware using FPGAs, and how to simulate hardware.
4. Distribution & Communication
We learn how to model systems with distribution, investigate communication protocols, and how to design a real-time system with communicating components. Further, we learn how to analyze the risk of failure of such systems.
5. Tasks & Resources
We learn how to model real-time requirements and dependencies of tasks in an embedded system and how to schedule them on single and multiprocessor architectures. We also take a look into real-time operating systems and their characteristics, and what distinguishes them from standard operating systems.
6. Verification & Analysis
We learn how make sure that a system satisfies its requirements. By looking into techniques like testing, static analysis and formal verification, we learn how to develop test suites and how to conduct tests for a given type of system, and how to formally analyze properties of system models.
7. Controller Synthesis
We learn how to automatically synthesize controllers from specifications for both discrete and timed controllers. Hereby we learn how to model control problems as games and how to solve these games.