Course syllabus - Design of dependable and fault-tolerant embedded systems 7.5 credits

Design av pålitliga och feltoleranta inbyggda system

Course code: DVA460
Valid from: Autumn semester17
Level of education: Second cycle
Subject: Informatics/Computer and Systems Scie...
Main Field(s) of Study: Computer Science,
In-Depth Level: A1N (Second cycle, has only first-cycle course/s as entry requirements),
School: IDT
Ratification date: 2017-01-31


The purpose of this course is to provide the student with a systematic study of the area of fault tolerance, applied to embedded systems. The course will increase the participant’s competence to identify dependability vulnerabilities in embedded systems, design fault-tolerant solutions to eliminate such vulnerabilities and evaluate these solutions with proper dependability analysis techniques.

Learning outcomes

After completing the course, the student shall be able to:

1. describe the basic concepts of dependability as they are described in the classical literature, and illustrate these concepts with examples from real systems
2. describe the most common fault-tolerance techniques for software systems, particularly redundancy-based techniques, and contrast them in terms of dependability improvement
3. describe and apply the most common evaluation techniques for dependability analysis of embedded systems
4. analyze and identify dependability vulnerabilities in a given embedded system
5. choose and implement a fault-tolerant solution to adequately solve/mitigate the dependability vulnerabilities of a given system and justify, both qualitatively and quantitatively, the suitability of this solution


Course content

1. Dependability fundamentals
a. Dependability concepts and terminology.
b. Fault tolerance fundamentals and principles

2. Design of fault-tolerant systems
a. Redundancy management
b. Techniques to tolerate software faults
c. Fault-tolerant communication

3. Verification techniques for dependable systems
a. Reliability analysis
b. Fault injection

4. Analysis and design of fault-tolerant embedded systems
a. Examples
b. Case study (project-based)

Teaching methods

Video lectures.

Specific entry requirements

120 credits, of which 80 credits in engineering or informatics, including at least 30 credits in programming or software development.
In addition, 18 months documented work experience in software development or related areas.  In addition, Swedish B/Swedish 3 and English A/English 6 are required. For courses given entirely in English exemption is made from the requirement in Swedish. B/Swedish 3.


Written assignment (INL1), 1 credit, (examines the learning objective 1), Marks Fail (U) or Pass (G)
Written assignment (INL2), 1 credit, (examines the learning objective 2), Marks Fail (U) or Pass (G)
Written assignment (INL3), 1 credit, (examines the learning objective 3), Marks Fail (U) or Pass (G)
Project (PRO1), 4 credits, (examines the learning objectives 4 and 5, Marks Fail (U), 3, 4 or 5

Rules and regulations for examinations



Course literature is preliminary until 15 days before the course starts.

Valid from: Autumn semester17

Decision date: 2017-08-28

Last update: 2017-08-28

Other materials

Links to the scientific papers and videos will be provided within the course website.