• Avizienis, A.; Laprie, J.-C.; Randell, B.; Landwehr, C. “Basic concepts and taxonomy of dependable and secure computing” IEEE TDSC, Vol. 1 Page(s): 11- 33, 2004.
• Siewiorek, D.P, Swarz R."Reliable Computer Systems: Design and Evaluation", 3rd edition, A. K. Petres, Ltd., 1998
• Hermann Kopetz: Real-Time Systems: Design Principles for Distributed Embedded Applications, second edition, Springer, 2011
• Paulo Verissimo, Luis Rodrigues: Distributed Systems for System Architects, Springer, 2001.
• Andrew S. Tanenbaum, Maarten van Steen: Distributed Systems: Principles And Paradigms, Pearson Prentice Hall, 2006.
Learning Objectives
More and more our society relies on the proper functioning of critical systems and infrastructures with important real-time constraints whose failure may have catastrophic consequences.
The course aims to introduce the problems related to the design, validation and certification of systems with critical requirements and time.
You will learn the basic concepts of the discipline and the main techniques both at the system architecture level and at the increasingly important software level.
At the end of the course, abilities will be acquired to:
i) think about the implications of non-functional requirements regarding dependability especially on architectural choices for the system under development;
ii) distinguish and chose fault tolerant solutions according to major schemes and techniques already established;
iii) understand the implications of the certification of critical systems according to international standards
Prerequisites
None
Teaching Methods
CFU: 6
Total hours of the course: 180
Hours reserved to private study and other individual formative activities: 132
Prof. Andrea Bondavalli, by appointment.
Contact professor by phone number or e-mail (bondavalli@unifi.it).
DiMaI, Universita' di Firenze, Viale Morgagni, 65 - 50134 Firenze
Tel. 055 2751481
Dott. Paolo Lollini, by appointment.
Contact professor by phone number or e-mail (lollini@unifi.it).
DiMaI, Universita' di Firenze, Viale Morgagni, 65 - 50134 Firenze
Tel. 055 2751486
Type of Assessment
The Assessment consists of two parts:
- Development of a specific investigation on a topic of the course or a project;
- Oral interview.
Conditional to the oral interview is the acceptance of the report on the project.
Course program
Basic Concepts of Dependability:
- Dependability attributes: reliability, availability, safety,...
- The chain fault - error – failure.
- The means for dependability: fault prevention, fault tolerance, fault removal, and fault forecasting.
System dependability:
- Design methodologies and design phases. System Development Life Cycle, Waterfall and V-shaped models.
- HW Fault Tolerance. Techniques for fault detection. Redundancy techniques for masking.
- SW Fault tolerance and
SW dependability. Safety Net approach. Design diversity.
Structure for Software Fault Tolerance: recovery blocks, N-version programming.
Exception Handling and examples of languages supports.
Real-time aspects:
- Distributed real-time critical systems
- Time and ordering of events.
- Time base, Rs&A Clock, basics of real-time scheduling.
- System models: Synchronous and Asynchronous models.
- The Consensum problem and FLP Theorem.
- Intermediate models: Failure detectors, Timed Asynchronous, Wormholes.
Certification aspects:
- The certification process: the actors involved, the procedures and techniques.
- Safety case.
- Reference standards for certification.
- IEC61508 Functional safety of
electrical/electronic/programmable
electronic safety-related systems.
- International standards for the certification of critical systems in different application domains.
- Learn through examples and case studies: automotive (ISO / IEC 26262) and railway (Cenelec 5012x).