|Responsible unit:||Department of Electrical and Computer Engineering|
|Course/CS Responsible:||Master in Informatics and Computing Engineering|
|Acronym||No. of Students||Study Plan||Curricular Years||Credits UCN||Credits ECTS||Contact hours||Total Time|
|MIEIC||14||Syllabus since 2009/2010||4||-||6||56||162|
|Francisco Manuel Madureira e Castro Vasques de Carvalho|
|Francisco Manuel Madureira e Castro Vasques de Carvalho||2,50|
|Paulo José Lopes Machado Portugal||0,50|
This course unit aims to broaden students’ knowledge regarding Critical Systems. This course unit will cover notions related to safety, which are fundamental during the development life-cycle of Critical Systems. The main topics covered in this course include: a) the life-cycle phases for the development of safety critical systems, since its design and specification, to its certification, installation, maintenance and deactivation; b) Information about how to assess safety and how to determine the required measures to develop safety-critical computer systems; c) the available techniques to deal with critical safety aspects in computer systems and methodologies that can be used to improve its reliability. 3-
At the end of this course, it is expected that students will have consolidated their knowledge about: a) The need for a systemic approach to safety; b) The main software-based fault tolerance techniques; c) The main verification and validation guidelines for the reliable operation in Critical Systems.
This course provides an introduction to safety-critical computer systems and assumes no prior knowledge about safety concepts, or any specific hardware or programming language. The previous knowledge presented by 4th year students (MIEIC) about system development (life-cycle), programming and software testing are appropriate to attend this course.
Chapter 1 - Introduction to Critical Systems - Taxonomy - Presentation of relevant case studies related to safety - Safety criteria Chapter 2 - Development of safety-critical systems - Hazards analysis - Risk analysis Chapter 3 - Obtaining confidence: prevention, fault tolerance - Fault prevention - Quality management of Critical Systems - Development environments - Programming languages - Software fault tolerance: - Types of recovery - Techniques, Languages and Programming Environments - Diversion of Design/Implementation - Data diversity - Time diversity - Results adjudication Chapter 4 - Verification and validation of confidence: - Confidence modelling: basic concepts; - Modelling techniques: confidence blocks and fault trees - Software liability: fault prediction, error models, fault prediction models - HW/SW architecture modelling
Theoretical classes will be based on the presentation of the most relevant case studies of Critical Systems. Theoretical-practical will be based on practical assignments to design and implement fault-tolerant software architectures. They will also be based on the analysis of confidence of Critical Systems.
|Frequência das aulas||42,00|
To be admitted to exams students have to attain a minimum grade of 7,0 out of 20 in the continuous assessment component.
1 practical assignment (design and implementation of software fault-tolerant architectures): 40% A written exam (closed book exam- 2.30h): 60%
Students will have to do one assignment during the semester, about software-based fault tolerance.
Students with a special status do not need to attend to classes. However, they have to do all the assignments and deliver them on the scheduled date. Students have to schedule meetings with the professors on a regular basis, so that professors can supervise the evolution of the work.
Improvement of Final Grade: written exam at recurso (resit) season Improvement of Continuous Assessment: following year