Critical Systems
Keywords |
Classification |
Keyword |
OFICIAL |
Automação Industrial |
Instance: 2011/2012 - 2S
Cycles of Study/Courses
Acronym |
No. of Students |
Study Plan |
Curricular Years |
Credits UCN |
Credits ECTS |
Contact hours |
Total Time |
MIEIC |
8 |
Syllabus since 2009/2010 |
4 |
- |
6 |
56 |
162 |
Teaching language
Suitable for English-speaking students
Objectives
1- BACKGROUND
Increasingly, are being used computer systems to support applications where their correct operation is vital to ensure the safety of users and the environment: from "anti-lock braking systems" used in automobiles, up to "fly-by-wire systems" used in aircraft and "shut-down systems" used in the chemical process industry. It is therefore vital that software engineers (and / or computer engineers) become aware of the potential implications of their work upon the safety of systems they are developing.
2- SPECIFIC AIMS
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- PREVIOUS KNOWLEDGE
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.
4- PERCENTAGE DISTRIBUTION
Scientific component: 70%
Technological component: 30%
5- LEARNING OUTCOMES
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.
Program
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
Mandatory literature
Storey, Neil;
Safety-critical computer systems. ISBN: 0-201-42787-7
Pullum, Laura L.;
Software fault tolerance techniques and implementation. ISBN: 1-58053-137-7
Complementary Bibliography
Shooman, Martin L.;
Realiability of computer systems and networks. ISBN: 0-471-29342-3
Rausand, Marvin;
System reliability theory. ISBN: 0-471-47133-X
M. Xie;
Software reliability modelling. ISBN: 981-02-0640-2
John Knight; Fundamentals of Dependable Computing for Software Engineers, Chapman and Hall/CRC, 2011. ISBN: 978-1439862551
The Motor Industry Software Reliability Association;
MISRA-C 2004. ISBN: 0-9524156-2-3
Teaching methods and learning activities
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.
keywords
Technological sciences > Engineering > Computer engineering
Evaluation Type
Distributed evaluation with final exam
Assessment Components
Description |
Type |
Time (hours) |
Weight (%) |
End date |
Attendance (estimated) |
Participação presencial |
36,00 |
|
|
|
Trabalho escrito |
48,00 |
|
|
|
Total: |
- |
0,00 |
|
Amount of time allocated to each course unit
Description |
Type |
Time (hours) |
End date |
|
Estudo autónomo |
78 |
|
|
Total: |
78,00 |
|
Eligibility for exams
To be admitted to exams students have to attain a minimum grade of 7 out of 20 in the continuous assessment component.
Calculation formula of final grade
1 practical assignment (design and implementation of software fault-tolerant architectures): 40%
A written exam (closed book exam- 2.30h): 60%
Examinations or Special Assignments
Students will have to do one assignment during the semester, about software fault tolerance.
Special assessment (TE, DA, ...)
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.
Classification improvement
Improvement of Final Grade: written exam at recurso (resit) season
Improvement of Continuous Assessment: following year