General dependability definition: The dependability of a system is its ability to deliver specified services to the end users so that they can justifiably rely on and trust the services provided by the system. Dependability has several attributes, including reliability, availability, maintainability, confidentiality, integrity, and safety. - - - - Availability. The availability of a system for a period (0,t) is the probability that the system is available for use at any random time in (0,t). Reliability. The reliability of a system for a period (0,t) is the probability that the system is continuously operational (i.e., does not fail) in time interval (0,t) given that it is operational at time 0. Maintainability: The maintainability of a system is a measure of the ability of the system to undergo maintenance or to return to normal operation after a failure. Confidentiality: The confidentiality of a system is a measure of the degree to which the system can ensure that an unauthorized user will not be able to understand protected information in the system. Integrity and Trustworthiness. The integrity of a system is the probability that errors or attacks will not lead to damages to the state of the system, including data, code, etc. Safety. The safety of a system for a period (0,t) is the probability that the system will not incur any catastrophic failures in time interval (0,t). Dependability research for net-centric applications includes methods for assuring and methods for quantitatively assessing each of the dependability attributes of the system. Dependability Requirement Engineering Requirement specification and analysis of dependability aspects of network centric applications. - Dependability requirements elicitation - Formal and informal methods for the specification of system dependability aspects - Requirement analysis focusing on o Determination of overall system dependability requirements as well as dependability requirements of various system entities o Assessment of feasibility, consistency and the cost of achieving specified levels of dependability - Tool support for dependability requirement specification and analysis Dependability Design Architecture, design and techniques of dependability aspects of network centric applications that may dynamically evolve - Aspect-oriented design for separating out consideration of dependability aspects from functional and other non-functional aspects of a given net-centric application - Architectural styles and design patterns for achieving specific dependability objectives, e.g., high reliability and/or safety Determination of component-/subsystem-level dependability requirements for meeting specified dependability objectives for a given architecture Design and development of generic and domain-specific dependability assurance/assessment algorithms and techniques Dependability System Integration and Synthesis Methods for selecting and integrating components into systems or semi-automated or automated synthesis of the systems that achieve desired dependability - Methods for achieving dependability in integrated systems by achieving dependability in individual subsystems - Methods for collaborative composition of a set of net-centric components or services to build an application to ensure satisfaction of dependability requirements and resolution of conflicting dependability goals within and across domains - Synthesis for system dependability aspects (automatic transformation of a system to satisfy dependability requirements) Dependability Verification and Validation Collaborative verification, validation, and quantitative assessment of dependability of dynamically evolving net-centric application systems - Dependability assessment metrics in net-centric settings - Formal methods for verification of the satisfaction of dependability requirements of the system in all phases of the system development process - Testing methods for efficient and effective testing of large-scale net-centric application systems, including testing techniques for different entities in the system and the overall system - Compositional system dependability assessment approaches - Techniques for pin-pointing problem entities Dependability Run Time Monitoring and Adaptation Run time modeling, measurement and analysis of the dependability aspects and adapting to satisfy evolving dependability requirements - Techniques for run time modeling, measurement, and analysis - Distributed monitoring and efficient assembly of individual assessment results to estimate the overall system healthiness and vulnerability - Techniques and middleware for dynamic reconfiguration, adaptation, or swapping of system components to achieve evolving dependability requirements