nl en

Embedded Systems and Software



The Embedded Systems and Software course intends to introduce students to state-of-the-art methods, techniques, and tools to design, program, implement, and use embedded systems. This is done through a series of lectures, hands-on sessions, and discussions on relevant journal/conference paper.


Embedded Systems are application domain specific information processing systems that are tightly coupled to their environment. They appear in home appliances, copy machines, automotive entertainment systems, medical imaging systems, wireless and portable multimedia terminals, distributed sensor networks, and more.

The course first introduces the notion of and some basic concepts in embedded systems and software. Then it deals with basic methods, techniques, algorithms, and components that are found in embedded systems. Groups of students are asked to select one of these items, study it in more detail, and present their findings in a short presentation. The course goes on with the discussion of a particular embedded platform and a particular embedded application.

In a second part, the course focuses on methods, techniques, and tools for system-level design, programming and implementation of Embedded Multi-processor Systems-on-Chip (MPSoC). In particular, the DAEDALUS framework for system-level design of MPSoCs will be studied in detail. DAEDALUS features: 1) automated translation of sequential application code to equivalent parallel specification code; 2) automated system-level synthesis of specific MPSoCs; 3) automated mapping of the parallel specification code to the synthesized specific MPSoC; 4) fast implementation/prototyping of the whole MPSoC embedded system on FPGA-based prototyping boards.

In a third part – that is integrated with the second part – the course takes the form of laboratory hands-on sessions in which the DAEDALUS framework is used to design and prototype a relatively simple MPSoC. This MPSoC is based on the embedded application and platform discussed in the first part of the course


It is recommended but not mandatory that the students have taken the Digital Technique, Computer Architectures, and Compiler Construction courses.


List with selected journal/conference papers and book excerpts will be provided to the students. All this literature could be downloaded from Internet.

Table of Contents:

  1. Introduction to Embedded Systems
    a. Systems and Embedded Systems
    b. History of Embedded Systems and Software
    c. Examples
    d. Complexity Issues
    e. Trends and Challenges
    1. Basic concepts, methods, techniques, and tools for Embedded Systems
      a. Modelling and Specification
      b. Separation of Concerns
      c. Models of Computation
      d. Scheduling
      e. Memory Management
    2. Kahn Process Networks
    3. System-level design frameworks for MPSoCs
      a. System on Chip Environment from the UC Irvine
      b. SystemCoDesigner from the University of Erlangen
      c. Metropolis from the UC Berkeley
      d. Koski from the University of Tampere
      e. PeaCE/HOPES from the Seoul National University
    4. The DAEDALUS framework for MPSoC design
      a. Automatic parallelization of streaming media applications (KPNgen)
      b. System-level modelling and simulations for DSE (Sesame)
      c. System-level synthesis in a “plug-and-play” fashion (ESPAM)
      d. Case Studies


Slides will be provided to the students for download.


There is no traditional written exam. The final grade is a combination of grades for
(1) presentation on a give topic related to the course material (40%)
(2) performance during the hands-on sessions (40%) and
(3) pro-active attitude during lectures and paper discussions (20%).


Yes, the hands-on sessions are mandatory components of the course.