Embedded Software and Systems

Course catalogue number

5364EMSS6Y

Credits

6 EC

Language of instruction

English

Time period(s)

Sem. 1Sem. 2

See also

College/graduate

Graduate School of Informatics

Lecturer(s)

Contact

Education Desk FNWI
Science Park 904
B1
020 5257100

servicedesk-esc-science@uva.nl

Is part of

Add course to planner

Objectives

  • The students know the characteristics of embedded software and systems and how to accommodate these characteristics during the design-phase.
  • The students are able to specify and develop embedded software and systems for a given embedded architecture.

Contents

This course targets the software design and programming of embedded systems, i.e., computing systems which are not immediately recognized as such. Examples include mobile phones, TV sets, consumer electronics, Internet-of-Things, but also airplanes, cars, and satellites. Designing such embedded systems differs fundamentally from traditional design methods for general-purpose computer software: Embedded systems are subject to specific requirements, especially in terms of efficiency (size, weight and power) and costs. At the same time, embedded systems are subject to increased reliability constraints. The go-to solution to resolve system errors for general-purpose computing, i.e., a complete system restart, is typically precluded in an embedded system. The system must always be available and must always reliably produce correct results. To further complicate matters, the correctness of most embedded systems is not just defined by the correct result of a computation, but by the correct result and the correct timing. Imagine an air-bag controller, which must inflate the air-bag in time before the driver’s head hits the steering wheel, or a flight control system, which must correct turbulences, before the airplane becomes instable. Concerning less critical cases, we have for instance media players where the playback is delayed or the quality is degraded.

In this course, we will provide an introduction to the domain of embedded computer systems, and teach common design and development methods of embedded software and systems.

The course covers the following topics:

  • Characteristics and constraints of embedded systems
  • Embedded system design flow
  • Specification of the functional and non-functional behavior of an embedded system
  • Selection and configuration of suitable embedded architectures
  • Analysis of non-functional behavior of embedded systems
  • Correctness verification of (non-)functional properties of embedded systems

Recommended prior knowledge

  • C-Knowledge (preferred, not mandatory)
  • Computer Organization (preferred, not mandatory)

Registration

More information about procedures and registration periods can be found at http://student.uva.nl/se/az/item/course-registration.html

Teaching method

  • Lecture
  • Self-study
  • Working independently on e.g. a project or thesis
  • Laptop seminar

Time

The schedule for this course is published on DataNose.

Assessment and testing

  • Practical Project (group)
  • Assignments (individual)