Information about Dependability
Dependability is a value showing the reliability of a person to others because of his integrity, truthfulness, and trustfulness, traits that can encourage someone to depend on him.
The wider use of this noun is in Systems engineering.
Dependability as applied to a computer system is defined by the IFIP 10.4 Working Group on Dependable Computing and Fault Tolerance as:
This concept can be further extended to encompass mechanisms to increase and maintain the Dependability of a system [3]. Dependability can be thought of as being composed of three elements:
The field of Dependability has evolved from these beginnings to be an internationally active field of research. This research is fostered by a number of prominent international conferences, notably the International Conference on Dependable Systems and Networks, the International Symposium on Reliable Dependable Systems and the International Symposium on Fault-Tolerant Computing.
The original definition of dependability [6] for a computing system gathers the following attributes or non-functional requirements:
This definition was further enhanced [7] to incorporate Safety and Security.
Attributes are qualities of a system. These can be assessed to determine its overall dependability using Qualitative or Quantitative measures. Avizienis et al define the following Dependability Attributes:
Confidentiality, i.e. the absence of unauthorized disclosure of information is also used when addressing security. Security is a composite of Confidentiality, Integrity, and Availability. Security is sometimes classed as an attribute [8] but the current view is to aggregate it together with dependability and treat Dependability as a composite term called Dependability and Security[9].
Practically, applying security measures to the appliances of a system generally improves the dependability by limiting the number of externally-originated errors.
Once a fault is activated an error is created. An error may act in the same way as a fault in that it can create further error conditions, therefore an error may propagate multiple times within a system boundary without causing an observable failure. If an error propagates outside the system boundary a failure is said to occur. A failure is basically the point at which it can be said that a service is failing to meet its specification. Since the output data from one service may be feed into another, a failure in one service may propagate into another service as a fault so a chain can be formed of the form: Fault leading to Error leading to Failure leading to Error, etc.
Fault Prevention deals with preventing faults being incorporated into a system. This can be accomplished by use of development methodologies and good implementation techniques.
Fault Removal can be sub-divided into two sub-categories:
Removal during development requires verification so that faults can be detected and removed before a system is put into production. Once systems have been put into production a system is needed to record failures and remove them via a maintenance cycle.
Fault Forecasting predicts likely faults so that they can be removed or their effects can be circumvented.
Fault Tolerance deals with putting mechanisms in place that will allow a system to still deliver the required service in the presence of faults, although that service may be at a degraded level.
Dependability means are intended to reduce the number of failures presented to the user of a system. Failures are traditionally recorded over time and it is useful to understand how their frequency is measured so that the effectiveness of means can be assessed.
The flexibility of current frameworks encourage system architect to enable reconfiguration mechanisms that refocus the available, safe resources to support the most critical services rather that over-provisioning to build failure-proof system.
With the generalisation of networked information systems, accessibility was introduced to give greater importance to users' experience.
To take into account the level of performance, the measurement of performability is defined as "quantifying how well the object system performs in the presence of faults over a specified period of time" [12].
Integrity is the basing of one's actions on an internally consistent framework of principles. Depth of principles and adherence of each level to the next are key determining factors.
..... Click the link for more information.
Integrity is the basing of one's actions on an internally consistent framework of principles. Depth of principles and adherence of each level to the next are key determining factors.
..... Click the link for more information.
The wider use of this noun is in Systems engineering.
Dependability as applied to a computer system is defined by the IFIP 10.4 Working Group on Dependable Computing and Fault Tolerance as:
- "[..] the trustworthiness of a computing system which allows reliance to be justifiably placed on the service it delivers [..]" [1]
- "dependability (is] the collective term used to describe the availability performance and its influencing factors : reliability performance, maintainability performance and maintenance support performance"[2]
This concept can be further extended to encompass mechanisms to increase and maintain the Dependability of a system [3]. Dependability can be thought of as being composed of three elements:
- Attributes - A way to assess the Dependability of a system
- Threats - An understanding of the things that can affect the Dependability of a system
- Means - Ways to increase the Dependability of a system
History
The field of Dependability grew out of previous related fields such as fault tolerance and system reliability in the 1960s. As interest in these fields increased during the 1970s and early part of the 1980s the term reliability began to be become overloaded and was being used outside of it's originally intended definition, as a measurement of failures in a system, to encompass more diverse measures which would now come under other classifications such as safety, integrity, etc. [4] Jean-Claude Laprie thus coined the term Dependability to encompass these related disciplines in the early 1980.[5]The field of Dependability has evolved from these beginnings to be an internationally active field of research. This research is fostered by a number of prominent international conferences, notably the International Conference on Dependable Systems and Networks, the International Symposium on Reliable Dependable Systems and the International Symposium on Fault-Tolerant Computing.
The original definition of dependability [6] for a computing system gathers the following attributes or non-functional requirements:
- Availability: readiness for correct service
- Reliability: continuity of correct service
- Maintainability: to undergo modifications and repairs
This definition was further enhanced [7] to incorporate Safety and Security.
Elements of dependability
Attributes
Attributes are qualities of a system. These can be assessed to determine its overall dependability using Qualitative or Quantitative measures. Avizienis et al define the following Dependability Attributes:
- Availability - readiness for correct service
- Reliability - continuity of correct service
- Safety - absence of catastrophic consequences on the user(s) and the environment
- Integrity - absence of improper system alteration
- Maintainability - ability to undergo modifications and repairs
Confidentiality, i.e. the absence of unauthorized disclosure of information is also used when addressing security. Security is a composite of Confidentiality, Integrity, and Availability. Security is sometimes classed as an attribute [8] but the current view is to aggregate it together with dependability and treat Dependability as a composite term called Dependability and Security[9].
Practically, applying security measures to the appliances of a system generally improves the dependability by limiting the number of externally-originated errors.
Threats
Threats are things that can affect a system and cause a drop in Dependability. There are three main terms that must be clearly understood:- Fault: A fault (which is usually referred to as a bug for historic reasons) is a defect in a system. The presence of a fault in a system may or may not lead to a failure, for instance although a system may contain a fault its input and state conditions may never cause this fault to be executed so that an error occurs and thus never exhibits as a failure.
- Error: An error is a discrepancy between the intended behaviour of a system and its actual behaviour inside the system boundary. Errors occur at runtime when some part of the system enters an unexpected state due to the activation of a fault. Since errors are generated from invalid states they are hard to observe without special mechanisms, such as debuggers or debug output to logs.
- Failure: A failure is an instance in time when a system displays behaviour that is contrary to its specification. An error may not necessarily cause a failure, for instance an exception may be thrown by a system but this may be caught and handled using fault tolerance techniques so the overall operation of the system will conform to the specification.
Once a fault is activated an error is created. An error may act in the same way as a fault in that it can create further error conditions, therefore an error may propagate multiple times within a system boundary without causing an observable failure. If an error propagates outside the system boundary a failure is said to occur. A failure is basically the point at which it can be said that a service is failing to meet its specification. Since the output data from one service may be feed into another, a failure in one service may propagate into another service as a fault so a chain can be formed of the form: Fault leading to Error leading to Failure leading to Error, etc.
Means
Since the mechanism of a Fault-Error-Chain is understood it is possible to construct means to break these chains and thereby increase the dependability of a system. Four means have been identified so far:- Prevention
- Removal
- Forecasting
- Tolerance
Fault Prevention deals with preventing faults being incorporated into a system. This can be accomplished by use of development methodologies and good implementation techniques.
Fault Removal can be sub-divided into two sub-categories:
- Removal During Development
- Removal During Use
Removal during development requires verification so that faults can be detected and removed before a system is put into production. Once systems have been put into production a system is needed to record failures and remove them via a maintenance cycle.
Fault Forecasting predicts likely faults so that they can be removed or their effects can be circumvented.
Fault Tolerance deals with putting mechanisms in place that will allow a system to still deliver the required service in the presence of faults, although that service may be at a degraded level.
Dependability means are intended to reduce the number of failures presented to the user of a system. Failures are traditionally recorded over time and it is useful to understand how their frequency is measured so that the effectiveness of means can be assessed.
Dependability of information systems and survivability
Recent works, such [11] upon dependability take benefit of structured information systems, e.g. with SOA, to introduce a more efficient ability, the survivability, thus taking into account the degraded services that an Information System sustains or resumes after a non-maskable failure.The flexibility of current frameworks encourage system architect to enable reconfiguration mechanisms that refocus the available, safe resources to support the most critical services rather that over-provisioning to build failure-proof system.
With the generalisation of networked information systems, accessibility was introduced to give greater importance to users' experience.
To take into account the level of performance, the measurement of performability is defined as "quantifying how well the object system performs in the presence of faults over a specified period of time" [12].
See also
- Safety engineering
- Fault-tolerance
- Fault injection
- Ilities
- Formal methods
- Dependable Systems and Networks Conference
References
1. ^ IFIP WG10.4 on Dependable Computing and Fault Tolerance
2. ^ [1] (search for dependability)
3. ^ A. Avizienis, J.-C. Laprie, B. Randell, and C. Landwehr, "Basic Concepts and Taxonomy of Dependable and Secure Computing," IEEE Transactions on Dependable and Secure Computing, vol. 1, pp. 11-33, 2004.
4. ^ Brian Randell, "Software Dependability: A Personal View", in the Proc of the 25th International Symposium on Fault-Tolerant Computing (FTCS-25), California, USA, pp 35-41, June 1995.
5. ^ J.C. Laprie. "Dependable Computing and Fault Tolerance: Concepts and terminology," in Proc. 15th IEEE Int. Symp. on Fault-Tolerant Computing, 1985
6. ^ J.C. Laprie. "Dependable Computing and Fault Tolerance: Concepts and terminology," in Proc. 15th IEEE Int. Symp. on Fault-Tolerant Computing, 1985
7. ^ A. Avizienis, J.-C. Laprie and B. Randell: Fundamental Concepts of Dependability. Research Report No 1145, LAAS-CNRS, April 2001
8. ^ I. Sommerville, Software Engineering: Addison-Wesley, 2004.
9. ^ A. Avizienis, J.-C. Laprie, B. Randell, and C. Landwehr, "Basic Concepts and Taxonomy of Dependable and Secure Computing," IEEE Transactions on Dependable and Secure Computing, vol. 1, pp. 11-33, 2004.
10. ^ A. Avizienis, V. Magnus U, J. C. Laprie, and B. Randell, "Fundamental Concepts of Dependability," presented at ISW-2000, Cambridge, MA, 2000.
11. ^ John C. Knight, Elisabeth A. Strunk, Kevin J. Sullivan: Towards a Rigorous Definition of Information System Survivability
12. ^ John F. Meyer, Willam H. Sanders Specification and construction of performability models
2. ^ [1] (search for dependability)
3. ^ A. Avizienis, J.-C. Laprie, B. Randell, and C. Landwehr, "Basic Concepts and Taxonomy of Dependable and Secure Computing," IEEE Transactions on Dependable and Secure Computing, vol. 1, pp. 11-33, 2004.
4. ^ Brian Randell, "Software Dependability: A Personal View", in the Proc of the 25th International Symposium on Fault-Tolerant Computing (FTCS-25), California, USA, pp 35-41, June 1995.
5. ^ J.C. Laprie. "Dependable Computing and Fault Tolerance: Concepts and terminology," in Proc. 15th IEEE Int. Symp. on Fault-Tolerant Computing, 1985
6. ^ J.C. Laprie. "Dependable Computing and Fault Tolerance: Concepts and terminology," in Proc. 15th IEEE Int. Symp. on Fault-Tolerant Computing, 1985
7. ^ A. Avizienis, J.-C. Laprie and B. Randell: Fundamental Concepts of Dependability. Research Report No 1145, LAAS-CNRS, April 2001
8. ^ I. Sommerville, Software Engineering: Addison-Wesley, 2004.
9. ^ A. Avizienis, J.-C. Laprie, B. Randell, and C. Landwehr, "Basic Concepts and Taxonomy of Dependable and Secure Computing," IEEE Transactions on Dependable and Secure Computing, vol. 1, pp. 11-33, 2004.
10. ^ A. Avizienis, V. Magnus U, J. C. Laprie, and B. Randell, "Fundamental Concepts of Dependability," presented at ISW-2000, Cambridge, MA, 2000.
11. ^ John C. Knight, Elisabeth A. Strunk, Kevin J. Sullivan: Towards a Rigorous Definition of Information System Survivability
12. ^ John F. Meyer, Willam H. Sanders Specification and construction of performability models
Further Reading
Papers
- Wilfredo Torres-Pomales: Software Fault Tolerance: A Tutorial — a very good tutorial, read it after you have read the previous document, 2002
- Stefano Porcarelli, Marco Castaldi, Felicita Di Giandomenico, Andrea Bondavalli, Paola Inverardi An Approach to Manage Reconfiguration in Fault-Tolerant Distributed Systems
Books
- J.C. Laprie, Dependability: Basic Concepts and Terminology Springer-Verlag, 1992. ISBN 0387822968
Research projects
- DESEREC, DEpendability and Security by Enhanced REConfigurability, FP6/IST integrated project 2006-2008
- ESFORS, European security Forum for Web Services, Software, and Systems, FP6/IST coordination action
- HIDENETS HIghly DEpendable ip-based NETworks and Services, FP6/IST targeted project 2006-2008
- RESIST FP6/IST Network of Excellence 2006-2007
- RODIN Rigorous Open Development Environment for Complex Systems FP6/IST targeted project 2004-2007
- SERENITY System Engineering for Security and Dependability, FP6/IST integrated project 2006-2008
- Willow Survivability Architecture, and STILT, System for Terrorism Intervention and Large-scale Teamwork 2002-2004
Systems Engineering (SE) is an interdisciplinary field of engineering, that focuses on the development and organization of complex artificial systems. Systems Engineering integrates other disciplines and specialty groups into a team effort, forming a structured development
..... Click the link for more information.
..... Click the link for more information.
In general, reliability (systemic def.) is the ability of a person or system to perform and maintain its functions in routine circumstances, as well as hostile or unexpected circumstances.
The IEEE defines it as ". . .
..... Click the link for more information.
The IEEE defines it as ". . .
..... Click the link for more information.
DSN may be:
..... Click the link for more information.
- Data Set Name (on IBM mainframe computers)
- Database Source Name
- Deep Space Network
- Star Trek:
- Defense Switched Network
- Delivery Status Notification, especially E-mail bounces
- Dell Solutions Network
..... Click the link for more information.
availability has the following meanings:
1. The degree to which a system, subsystem, or equipment is operable and in a committable state at the start of a mission, when the mission is called for at an unknown, i.e., a random, time.
..... Click the link for more information.
1. The degree to which a system, subsystem, or equipment is operable and in a committable state at the start of a mission, when the mission is called for at an unknown, i.e., a random, time.
..... Click the link for more information.
In general, reliability (systemic def.) is the ability of a person or system to perform and maintain its functions in routine circumstances, as well as hostile or unexpected circumstances.
The IEEE defines it as ". . .
..... Click the link for more information.
The IEEE defines it as ". . .
..... Click the link for more information.
Safety is the state of being "safe" (from French sauf), the condition of being protected against physical, social, spiritual, financial, political, emotional, occupational, psychological, educational or other types or consequences of failure, damage, error, accidents, harm
..... Click the link for more information.
..... Click the link for more information.
Security is the condition of being protected against danger or loss. In the general sense, security is a concept similar to safety. The nuance between the two is an added emphasis on being protected from dangers that originate from outside.
..... Click the link for more information.
..... Click the link for more information.
"Qualitative" is an important qualifier in the following subject titles:and
..... Click the link for more information.
- Qualitative marketing research
- Qualitative research
..... Click the link for more information.
A quantitative attribute is one that exists in a range of magnitudes, and can therefore be measured. Measurements of any particular quantitative property are expressed as a specific quantity, referred to as a unit, multiplied by a number.
..... Click the link for more information.
..... Click the link for more information.
availability has the following meanings:
1. The degree to which a system, subsystem, or equipment is operable and in a committable state at the start of a mission, when the mission is called for at an unknown, i.e., a random, time.
..... Click the link for more information.
1. The degree to which a system, subsystem, or equipment is operable and in a committable state at the start of a mission, when the mission is called for at an unknown, i.e., a random, time.
..... Click the link for more information.
In general, reliability (systemic def.) is the ability of a person or system to perform and maintain its functions in routine circumstances, as well as hostile or unexpected circumstances.
The IEEE defines it as ". . .
..... Click the link for more information.
The IEEE defines it as ". . .
..... Click the link for more information.
Safety is the state of being "safe" (from French sauf), the condition of being protected against physical, social, spiritual, financial, political, emotional, occupational, psychological, educational or other types or consequences of failure, damage, error, accidents, harm
..... Click the link for more information.
..... Click the link for more information.
- For other uses, see .
Integrity is the basing of one's actions on an internally consistent framework of principles. Depth of principles and adherence of each level to the next are key determining factors.
..... Click the link for more information.
Confidentiality has been defined by the International Organization for Standardization (ISO) as "ensuring that information is accessible only to those authorized to have access" and is one of the cornerstones of Information security.
..... Click the link for more information.
..... Click the link for more information.
Confidentiality has been defined by the International Organization for Standardization (ISO) as "ensuring that information is accessible only to those authorized to have access" and is one of the cornerstones of Information security.
..... Click the link for more information.
..... Click the link for more information.
- For other uses, see .
Integrity is the basing of one's actions on an internally consistent framework of principles. Depth of principles and adherence of each level to the next are key determining factors.
..... Click the link for more information.
availability has the following meanings:
1. The degree to which a system, subsystem, or equipment is operable and in a committable state at the start of a mission, when the mission is called for at an unknown, i.e., a random, time.
..... Click the link for more information.
1. The degree to which a system, subsystem, or equipment is operable and in a committable state at the start of a mission, when the mission is called for at an unknown, i.e., a random, time.
..... Click the link for more information.
Fault-tolerance or graceful degradation is the property that enables a system (often computer-based) to continue operating properly in the event of the failure of (or one or more faults within) some of its components.
..... Click the link for more information.
..... Click the link for more information.
An Information System (IS) is the system of persons, data records and activities that process the data and information in a given organization, including manual processes or automated processes.
..... Click the link for more information.
..... Click the link for more information.
Service-oriented Architecture (SOA) is an architectural design pattern that concerns itself with defining loosely-coupled relationships between producers and consumers. While it has no direct relationship with software, programming, or technology, it's often confused with an
..... Click the link for more information.
..... Click the link for more information.
Survivability is the ability to remain alive or continue to exist. The term has more specific meaning in certain contexts.
..... Click the link for more information.
Engineering
In engineering, survivability..... Click the link for more information.
Accessibility is a general term used to describe the degree to which a system is usable by as many people as possible. In other words, it is the degree of ease with which it is possible to reach a certain location from other locations.
..... Click the link for more information.
..... Click the link for more information.
Safety engineering is an applied science strongly related to systems engineering and the subset System Safety Engineering. Safety engineering assures that a life-critical system behaves as needed even when pieces fail.
..... Click the link for more information.
..... Click the link for more information.
Fault-tolerance or graceful degradation is the property that enables a system (often computer-based) to continue operating properly in the event of the failure of (or one or more faults within) some of its components.
..... Click the link for more information.
..... Click the link for more information.
In software testing, fault injection is a technique for improving the coverage of a test by introducing faults in order to test code paths, in particular error handling code paths, that might otherwise rarely be followed.
..... Click the link for more information.
..... Click the link for more information.
Within systems engineering, -ilities are aspects or non-functional requirements. They are so-named because most of them end in "-ility."
The "-ilities" often include:
..... Click the link for more information.
The "-ilities" often include:
- accessibility
- accountability
- agility
..... Click the link for more information.
In computer science and software engineering, formal methods are mathematically-based techniques for the specification, development and verification of software and hardware systems.
..... Click the link for more information.
..... Click the link for more information.
The International Conference on Dependable Systems and Networks (or DSN) is an annual conference on topics related to dependable computer systems and reliable networks.
..... Click the link for more information.
..... Click the link for more information.
Brian Randell is a British computer scientist, specializing in research in software fault tolerance and dependability. He is also interested in, and a noted authority on, the early (prior to 1950) history of computers; he was a co-founder of the
..... Click the link for more information.
..... Click the link for more information.
Brian Randell is a British computer scientist, specializing in research in software fault tolerance and dependability. He is also interested in, and a noted authority on, the early (prior to 1950) history of computers; he was a co-founder of the
..... Click the link for more information.
..... Click the link for more information.
This article is copied from an article on Wikipedia.org - the free encyclopedia created and edited by online user community. The text was not checked or edited by anyone on our staff. Although the vast majority of the wikipedia encyclopedia articles provide accurate and timely information please do not assume the accuracy of any particular article. This article is distributed under the terms of GNU Free Documentation License.
Herod_Archelaus