Dependability Properties

Dependability Properties

Computer system failures are a common issue, with computers crashing or malfunctioning unexpectedly. This often leads to mistrust in personal computers. The dependability of a computer system refers to its trustworthiness, indicating the user's confidence in its expected operation without failure during normal use. Dependability cannot be quantified numerically.

There are four principal dimensions of dependability, as shown

  1. Availability:- the availability of a system is the probability that it will be up and running and able to deliver useful services to users at any given time.

  2. Reliability:- the reliability of a system is the probability, over a given period, that the system will correctly deliver services as expected by the user.

  3. Safety:- the safety of a system is a judgment of how likely it is that the system will cause damage to people or its environment.

  4. Security:- Informally, the security of a system is a judgment of how likely it is that the system can resist accidental or deliberate intrusions.

As well as these four main dependability properties, you may also think of other system properties as dependability properties:

  1. Repairability System:- failures are inevitable, but the disruption caused by failure can be minimized if the system can be repaired quickly. For that to happen, it must be possible to diagnose the problem, access the component that has failed, and make changes to fix that component. Repairability in software is enhanced when the organization using the system has access to the source code and has the skills to make changes to it. Open source software makes this easier but the reuse of components can make it more difficult.

  2. Maintainability:- As systems are used, new requirements emerge and it is important to maintain the usefulness of a system by changing it to accommodate these new requirements. Maintainable software is software that can be adapted economically to cope with new requirements, and where there is a low probability that making changes will introduce new errors into the system.

  3. Survivability:- A very important attribute of Internet-based systems is survivability. Survivability is the ability of a system to continue to deliver service whilst under attack and, potentially, whilst part of the system is disabled. Work on survivability focuses on identifying key system components and ensuring that they can deliver a minimal service.

  4. Error tolerance:- This property can be considered as part of usability and reflects the extent to which the system has been designed so that user input errors are avoided and tolerated. When user errors occur, the system should, as far as possible, detect these errors and either fix them automatically or request the user to reinput their data.

In addition, you should usually assume that your software is not perfect and that software failures may occur. Your system should therefore include recovery mechanisms that make it possible to restore normal system service as quickly as possible.