22,525 research outputs found
An architecture-based dependability modeling framework using AADL
For efficiency reasons, the software system designers' will is to use an
integrated set of methods and tools to describe specifications and designs, and
also to perform analyses such as dependability, schedulability and performance.
AADL (Architecture Analysis and Design Language) has proved to be efficient for
software architecture modeling. In addition, AADL was designed to accommodate
several types of analyses. This paper presents an iterative dependency-driven
approach for dependability modeling using AADL. It is illustrated on a small
example. This approach is part of a complete framework that allows the
generation of dependability analysis and evaluation models from AADL models to
support the analysis of software and system architectures, in critical
application domains
Reliability Analysis of Concurrent Systems using LTSA
The analysis for software dependability is considered an important task within the software engineering life cycle. However, it is often impossible to carry out this task due to the complexity of available tools, lack of expert personnel and time-to-market pressures. As a result, released software versions may present unverified dependability properties subjecting customers to blind software reliability assessment. In particular, concurrent systems present certain behaviour that require a more complex system analysis not easily grasped at system design and architecture level
Software dependability modeling using an industry-standard architecture description language
Performing dependability evaluation along with other analyses at
architectural level allows both making architectural tradeoffs and predicting
the effects of architectural decisions on the dependability of an application.
This paper gives guidelines for building architectural dependability models for
software systems using the AADL (Architecture Analysis and Design Language). It
presents reusable modeling patterns for fault-tolerant applications and shows
how the presented patterns can be used in the context of a subsystem of a
real-life application
A Reasoning Framework for Dependability in Software Architectures
The degree to which a software system possesses specified levels of software quality attributes, such as performance and modifiability, often have more influence on the success and failure of those systems than the functional requirements. One method of improving the level of a software quality that a product possesses is to reason about the structure of the software architecture in terms of how well the structure supports the quality. This is accomplished by reasoning through software quality attribute scenarios while designing the software architecture of the system. As society relies more heavily on software systems, the dependability of those systems becomes critical. In this study, a framework for reasoning about the dependability of a software system is presented. Dependability is a multi-faceted software quality attribute that encompasses reliability, availability, confidentiality, integrity, maintainability and safety. This makes dependability more complex to reason about than other quality attributes. The goal of this reasoning framework is to help software architects build dependable software systems by using quantitative and qualitative techniques to reason about dependability in software architectures
Software Architecture and Dependability
International audienceDependable systems are characterized by a number of attributes including: reliability, availability, safety and security. For some attributes (namely for reliability, availability, safety), there exist probability- based theoretic foundations, enabling the application of dependability analysis techniques. The goal of dependability analysis is to forecast the values of dependability attributes, based on certain properties (e.g. failure rate, MTBF, etc.) that characterize the system's constituent elements. Nowadays, architects, designers and developers build systems based on an architecture-driven approach. They specify the system's software architecture using Architecture Description Languages or other standard modeling notations like UML. Given the previous, we examine what we need to specify at the architectural level to enable the automated generation of models for dependability analysis. In this paper, we further present a prototype implementation of the proposed approach, which relies on UML specifications of dependable systems' software architectures. Moreover, we exemplify our approach using a case study system
SIMULATION-BASED PERFORMABILITY ANALYSIS OF MULTIPROCESSOR SYSTEMS
The primary focus in the analysis of multiprocessor systems has traditionally been on their performance. However, their large number of components, their complex network topologies, and sophisticated system software can make them very unreliable. The dependability of a computing system ought to be considered in an early stage of its development in order to take influence on the system architecture and to achieve best performance with high
dependability. In this paper a simulation-based method for the combined performance and dependability analysis of fault tolerant multiprocessor systems are presented which provide meaningful results already during the design phase
Recommended from our members
Fault tolerance via diversity for off-the-shelf products: A study with SQL database servers
If an off-the-shelf software product exhibits poor dependability due to design faults, then software fault tolerance is often the only way available to users and system integrators to alleviate the problem. Thanks to low acquisition costs, even using multiple versions of software in a parallel architecture, which is a scheme formerly reserved for few and highly critical applications, may become viable for many applications. We have studied the potential dependability gains from these solutions for off-the-shelf database servers. We based the study on the bug reports available for four off-the-shelf SQL servers plus later releases of two of them. We found that many of these faults cause systematic noncrash failures, which is a category ignored by most studies and standard implementations of fault tolerance for databases. Our observations suggest that diverse redundancy would be effective for tolerating design faults in this category of products. Only in very few cases would demands that triggered a bug in one server cause failures in another one, and there were no coincident failures in more than two of the servers. Use of different releases of the same product would also tolerate a significant fraction of the faults. We report our results and discuss their implications, the architectural options available for exploiting them, and the difficulties that they may present
Statistical Reliability Estimation of Microprocessor-Based Systems
What is the probability that the execution state of a given microprocessor running a given application is correct, in a certain working environment with a given soft-error rate? Trying to answer this question using fault injection can be very expensive and time consuming. This paper proposes the baseline for a new methodology, based on microprocessor error probability profiling, that aims at estimating fault injection results without the need of a typical fault injection setup. The proposed methodology is based on two main ideas: a one-time fault-injection analysis of the microprocessor architecture to characterize the probability of successful execution of each of its instructions in presence of a soft-error, and a static and very fast analysis of the control and data flow of the target software application to compute its probability of success. The presented work goes beyond the dependability evaluation problem; it also has the potential to become the backbone for new tools able to help engineers to choose the best hardware and software architecture to structurally maximize the probability of a correct execution of the target softwar
Context Oriented Software Middleware
Our middleware approach, Context-Oriented Software Middleware (COSM),
supports context-dependent software with self-adaptability and dependability in
a mobile computing environment. The COSM-middleware is a generic and
platform-independent adaptation engine, which performs a runtime composition of
the software's context-dependent behaviours based on the execution contexts.
Our middleware distinguishes between the context-dependent and
context-independent functionality of software systems. This enables the
COSM-middleware to adapt the application behaviour by composing a set of
context-oriented components, that implement the context-dependent functionality
of the software. Accordingly, the software dependability is achieved by
considering the functionality of the COSM-middleware and the adaptation
impact/costs. The COSM-middleware uses a dynamic policy-based engine to
evaluate the adaptation outputs and verify the fitness of the adaptation output
with the application's objectives, goals and the architecture quality
attributes. These capabilities are demonstrated through an empirical evaluation
of a case study implementation
An Operating System Architecture for Future Information Appliances
Abstract. A software platform for developing future information appliances requires to satisfy various diverse requirements. The operating system architecture presented in this paper enhances the flexibility and dependability through virtualization techniques. The architecture allows a system to use multiple operating systems simultaneously, and to use multi-core processors in a flexible way. Also, dependability mechanisms in our architecture will avoid crashing or hanging a system as much as possible in order to improve the user experience when defects in the software are exposed. We present a brief overview of each component in the operating system architecture and some sample scenarios that illustrate the effectiveness of the architecture
- …