Each module contains 3 ECTS. You choose a total of 10 modules/30 ECTS in the following module categories:
- 12-15 ECTS in technical scientific modules (TSM)
TSM modules teach profile-specific specialist skills and supplement the decentralised specialisation modules.
- 9-12 ECTS in fundamental theoretical principles modules (FTP)
FTP modules deal with theoretical fundamentals such as higher mathematics, physics, information theory, chemistry, etc. They will teach more detailed, abstract scientific knowledge and help you to bridge the gap between abstraction and application that is so important for innovation.
- 6-9 ECTS in context modules (CM)
CM modules will impart additional skills in areas such as technology management, business administration, communication, project management, patent law, contract law, etc.
In the module description (download pdf) you find the entire language information per module divided into the following categories:
Embedded Systems, although they are not visible, they have become integral parts of this world. Embedded Systems essentially consist of two components, hardware and software. In contrast to information systems in the banking world, hardware is more application specific. Due to this fact, the software that interacts directly with the hardware is more specific as well.
Real-time and Concurrency are important issues in Embedded System development, which come on top of the generally valid requirements for correctness and reliability.
The module teaches methods to develop Embedded System Software and deals with the following two complementary aspects:
- Embedded Programming, Programming close to hardware
- Abstract Modeling Concepts.
Both parts are based on Object-Oriented Concepts.
- Programming language C++/C
- Computer architectures
- Fundamentals of Operating Systems
Based on requirements, the students will be able to apply the optimal method to develop and verify an Embedded System,
- on the boundary between hard- and software using modern C++,
- on application layer using modeling methods.
Contents of Module
In the first part, the focus is on Near-Hardware-Programming. We use a typical (small) System on Chip (SoC) equipped with a RISC V.
The programming language is C++, the programming environment is Linux.
- Using C++: showing the huge advantages of C++ for a small SoC
- ISA Instruction Set Architecture
- for a SoC
- for a Linux based System
In the second part, the focus is on modeling, a model driven approach: from requirements, over modeling to the running system
- Development Process
- Generic Software-Architecture
- Modeling functional requirements
- System of cooperating state machines
- CIRO (Communicating Interacting Reactive Objects)
- Modeling connection software
- Connection between hardware and reactive system
- Code Generation
- Generated Code
- Testing executable Models
- Real-Time Scheduling
- Task and Event Scheduling
- Exercises and laboratories using concrete tool-chain and microcontroller
Teaching and Learning Methods
- Ex-cathedra teaching
- Self-study (study of papers, case studies)