Critical systems design Atliko: Nerijus Jusas
Three types of critical system Safety-critical systems. Mission-critical systems. Business-critical systems.
General guidance for developing critical system Avoid complexity in the design. Use deterministic design techniques. Separate critical from non-critical portions of the system.
Dependability
Other dimensions of dependability Repairability: reflects the extent to which the system can be repaired in the event of a failure; Maintainability: reflects the extent to which the system can be adapted to new : reflects the extent to which the system can be adapted to new requirements; Error tolerance: reflects the extent to which user input errors can be avoided and tolerated;
Cost of dependability
Reliability Failure function, is a probability that the system will survive beyond a specified time t. Failure rate (λ(t)) expresses the number of failures in a given time period.
Failure rate
Fault – system failure concept Design reliability Fault – system failure concept
Design reliability (2) The first step in a safety analysis process is to determine and identify the hazards of the system and to evaluate their severity and probability/likelihood, which expresses risk: If the total hazard resulting from system operation consists of n disjunctive hazards then total risk of the system can be calculated:
Fault – error – failure chain Redundancy Because electronics can fail suddenly and without warning, redundant and fault-tolerant systems are traditionally used for safety-critical functions, such as in aerospace. Fault – error – failure chain
Redundancy in computer system There are two types of redundancy in critical computer systems: Active (‘hot’) Passive (‘cold’)
N-modular redundancy
Critical systems software Reliability of software can be hard to determine; Software does not wear out or break down; It may have a large number of states that cannot be fully tested;
Characteristic of critical software developing Degree of Control: The degree of control that the software exercises over safety-critical functions in the system. Complexity: The complexity of the software system. Greater complexity increases the chances of errors. Timing criticality: The timing criticality of hazardous control actions.
Five rules for creating critical software 1. Communicate; 2. Have and follow good software engineering practices and procedures; 3. Perform safety and development analyses; 4. Incorporate appropriate software development methodologies, techniques &design features; 5. Caveat emptor;
Communication in software developing
V-Model
Conclusion A critical system is a system where failure can lead to high economic loss, physical damage or threats to life; The dependability in a system reflects the user’s trust in that system; Reliability and availability are generally seen as necessary but not sufficient conditions for safety; The more and more software are used in critical system, so it must be designed and created as goo as possible;
Questions Types of critical systems ? What is demonstrated by fault function ? What type of redundancy are used in computer system ? What characteristics of critical software developing ? Five rules for creating critical software ?