dependability in systems engineering dependability is a measure of a systems availability reliability and its maintainability and maintenance support performance and in some cases other characteristics such as durability safety and security the international electrotechnical commission iec via its technical committee tc 56 develops and maintains international standards that provide systematic methods and tools for dependability assessment and management of equipment services and systems throughout their life cycles dependability can be broken down into 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 a systems dependability history some sources hold that word was coined in the nineteenteens in dodge brothers automobile print advertising but the word predates that period with the oxford english dictionary finding its first use in 1901 as interest in fault tolerance and system reliability increased in the 1960s and 1970s dependability came to be a measure of the field of dependability has evolved from these beginnings to be an internationally active field of research fostered by a number of prominent international conferences notably the international conference on dependable systems and networks the international symposium on reliable distributed systems and the international symposium on software reliability engineering traditionally dependability for a system incorporates availability reliability maintainability but since the 1980s safety and security have been added to measures of dependability elements of dependability attributes taxonomy showing relationship between dependability security and attributes threats and means after laprie et al 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 users and the environment integrity absence of improper system alteration maintainability ability for a process to undergo modifications and repairs as these definitions suggested only availability and reliability are quantifiable by direct measurements whilst others are more subjective for instance safety cannot be measured directly via metrics but is a subjective assessment that requires judgmental information to be applied to give a level of confidence whilst reliability can be measured as failures over time confidentiality ie 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 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 that particular fault 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 it is important to note that failures are recorded at the system boundary they are basically errors that have propagated to the system boundary and have become observable faults errors and failures operate according to a mechanism this mechanism is sometimes known as a faulterrorfailure chain as a general rule a fault when activated can lead to an error which is an invalid state and the invalid state generated by an error may lead to another error or a failure which is an observable deviation from the specified behaviour at the system boundary 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 fed 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 faulterrorchain 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 subdivided into two subcategories removal during development and 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 assessed11 dependability of information systems and survivability recent works such upon dependability take benefit of structured information systems eg 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 nonmaskable failure the flexibility of current frameworks encourage system architects to enable reconfiguration mechanisms that refocus the available safe resources to support the most critical services rather than overprovisioning to build failureproof 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 dependable systems and networks fault injection faulttolerance formal methods list of system quality attributes rams reliability engineering safety engineering papers wilfredo torrespomales software fault tolerance a tutorial 2002 stefano porcarelli marco castaldi felicita di giandomenico andrea bondavalli paola inverardi an approach to manage reconfiguration in faulttolerant distributed systems journals prognostics journal is an open access journal that provides an international forum for the electronic publication of original research and industrial experience articles in all areas of systems dependability and prognostics international journal of critical computerbased systems latinamerican symposium on dependeable computing books jc laprie dependability basic concepts and terminology springerverlag 1992 research projects deserec dependability and security by enhanced reconfigurability fp6ist integrated project 20062008 nodes network on dependable systems esfors european security forum for web services software and systems fp6ist coordination action hidenets highly dependable ipbased networks and services fp6ist targeted project 20062008 resist fp6ist network of excellence 20062007 rodin rigorous open development environment for complex systems fp6ist targeted project 20042007 serenity system engineering for security and dependability fp6ist integrated project 20062008 willow survivability architecture and stilt system for terrorism intervention and largescale teamwork 20022004 aniketos dependable and secure service composition fp7ist integrated project 20102014 vtemajor fields of computer sciencenote this template roughly follows the 2012 acm computing classification systemhardware printed circuit board peripheral integrated circuit very large scale integration systems on chip socs energy consumption green computing electronic design automation hardware acceleration computer systemsorganization computer architecture embedded system realtime computing dependability networks network architecture network protocol network components network scheduler network performance evaluation network service software organization interpreter middleware virtual machine operating system software quality software notationsand tools programming paradigm programming language compiler domainspecific language modeling language software framework integrated development environment software configuration management software library software repository software development software development process requirements analysis software design software construction software deployment software maintenance programming team opensource model theory of computation model of computation formal language automata theory computational complexity theory logic semantics algorithms algorithm design analysis of algorithms algorithmic efficiency randomized algorithm computational geometry mathematicsof computing discrete mathematics probability statistics mathematical software information theory mathematical analysis numerical analysis informationsystems database management system information storage systems enterprise information system social information systems geographic information system decision support system process control system multimedia information system data mining digital library computing platform digital marketing world wide web information retrieval security cryptography formal methods security services intrusion detection system hardware security network security information security application security humancomputerinteraction interaction design social computing ubiquitous computing visualization accessibility concurrency concurrent computing parallel computing distributed computing multithreading multiprocessing artificialintelligence natural language processing knowledge representation and reasoning computer vision automated planning and scheduling search methodology control method philosophy of artificial intelligence distributed artificial intelligence machine learning supervised learning unsupervised learning reinforcement learning multitask learning crossvalidation graphics animation rendering image manipulation graphics processing unit mixed reality virtual reality image compression solid modeling appliedcomputing ecommerce enterprise software computational mathematics computational physics computational chemistry computational biology computational social science computational engineering computational healthcare digital art electronic publishing cyberwarfare electronic voting video games word processing operations research educational technology document management book category portal wikiproject commons 