The design of embedded systems requires an interdisciplinary approach of both Computer Science as well as Electrical Engineering. The master’s programme Embedded Systems combines expertises from both fields and is also open to students from both bachelor orientations. Four key attributes that we believe are characteristic for the 3TU Master Embedded Systems are: resource boundedness, dependability, systems design approach, and multi-disciplinary.
The most distinguishing characteristic of an embedded system, as opposed to a ”normal” ICT system, is that it is embedded in a physical environment that poses constraints on the operation of the system. Characteristic for Embedded Systems is their resource boundedness, where resources can be: cost of devices, chip area, size, response time, energy costs, but also development costs. In embedded systems the designers have to face these resource constraints. Therefore, next to functional specifications they have to deal with non-functional (or extra-functional) properties determined by the application domain.
A second aspect is that embedded systems are often functioning independently and should in their functioning be dependable. Our society has become increasingly dependent on complex, distributed embedded systems. Systems must continually provide services in the face of harsh environmental conditions, partial system failures or loss of resources, and human errors. People will no longer tolerate products that do not meet a certain level of dependability. Many Embedded Systems have tight cost constraints that make traditional dependability techniques infeasible. Adding additional hardware for fault tolerance mechanisms such as dual or triple modular redundancy often cannot be justified. Moreover, embedded systems are often software intensive. Millions of lines of code in an embedded system are not an exception. The use of embedded systems sometimes requires a software quality that is far better than that of common software (e.g. pacemakers, brake-control components, etc.).
A third aspect is that for the design of embedded systems a systems design approach is required that mixes functional and non-functional requirements right from the start. Embedded Systems can no longer be designed as two separate threads of hardware and software that are merged at a later stage. Central to this approach is the need to understand the interaction of the embedded system with its physical and network environments. This point of view requires engineering teams that possess skills in a wide range of disciplines such as: computer science, electrical engineering, real-time computing, computer architecture, control and signal processing, computer networking, mathematics, etc. Creating these cross-disciplinary skills requires fundamental changes in engineering education. The scientific challenge to the embedded systems engineers is to learn how to successfully integrate these different domains. Systems design is therefore a key characteristic of our embedded systems curriculum.