A software fault tolerance platform
Practical reusable UNIX software
Pattern-oriented software architecture: a system of patterns
Pattern-oriented software architecture: a system of patterns
A Classification and Comparison Framework for Software Architecture Description Languages
IEEE Transactions on Software Engineering
ACM SIGSOFT Software Engineering Notes
An infrastructure for the rapid development of XML-based architecture description languages
Proceedings of the 24th International Conference on Software Engineering
Documenting Software Architectures: Views and Beyond
Documenting Software Architectures: Views and Beyond
A survey on software architecture analysis methods
IEEE Transactions on Software Engineering
DDG Task Recovery for Cluster Computing
PPAM '01 Proceedings of the th International Conference on Parallel Processing and Applied Mathematics-Revised Papers
Simple Combinatorial Gray Codes Constructed by Reversing Sublists
ISAAC '93 Proceedings of the 4th International Symposium on Algorithms and Computation
CIL: Intermediate Language and Tools for Analysis and Transformation of C Programs
CC '02 Proceedings of the 11th International Conference on Compiler Construction
Using Clustering Algorithms in Legacy Systems Remodularization
WCRE '97 Proceedings of the Fourth Working Conference on Reverse Engineering (WCRE '97)
Experiments with Clustering as a Software Remodularization Method
WCRE '99 Proceedings of the Sixth Working Conference on Reverse Engineering
Evaluating the Suitability of Data Clustering for Software Remodularization
WCRE '00 Proceedings of the Seventh Working Conference on Reverse Engineering (WCRE'00)
Recovery Oriented Computing (ROC): Motivation, Definition, Techniques,
Recovery Oriented Computing (ROC): Motivation, Definition, Techniques,
Improving availability with recursive microreboots: a soft-state system case study
Performance Evaluation - Dependable systems and networks-performance and dependability symposium (DSN-PDS) 2002: Selected papers
Basic Concepts and Taxonomy of Dependable and Secure Computing
IEEE Transactions on Dependable and Secure Computing
On the Automatic Modularization of Software Systems Using the Bunch Tool
IEEE Transactions on Software Engineering
Introduction to Probability Models, Ninth Edition
Introduction to Probability Models, Ninth Edition
Valgrind: a framework for heavyweight dynamic binary instrumentation
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Microreboot — A technique for cheap recovery
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
Failure Resilience for Device Drivers
DSN '07 Proceedings of the 37th Annual IEEE/IFIP International Conference on Dependable Systems and Networks
Architecture-Based Software Reliability Analysis: Overview and Limitations
IEEE Transactions on Dependable and Secure Computing
Sealing OS processes to improve dependability and safety
Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007
Introducing Recovery Style for Modeling and Analyzing System Recovery
WICSA '08 Proceedings of the Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008)
Software architecture reliability analysis using failure scenarios
Journal of Systems and Software
Increasing the Performability of Computer Clusters Using RADIC II
ARES '08 Proceedings of the 2008 Third International Conference on Availability, Reliability and Security
FLORA: a framework for decomposing software architecture to introduce local recovery
Software—Practice & Experience
ArcheOpterix: An extendable tool for architecture optimization of AADL models
MOMPES '09 Proceedings of the 2009 ICSE Workshop on Model-Based Methodologies for Pervasive and Embedded Software
Architectural Availability Analysis of Software Decomposition for Local Recovery
SSIRI '09 Proceedings of the 2009 Third IEEE International Conference on Secure Software Integration and Reliability Improvement
Architecting dependable systems IV
Developing next generation ADLs through MDE techniques
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Reliability-driven deployment optimization for embedded systems
Journal of Systems and Software
QoSA'05 Proceedings of the First international conference on Quality of Software Architectures and Software Quality, and Proceedings of the Second International conference on Software Quality
Hi-index | 0.00 |
The increasing size and complexity of software systems has led to an amplified number of potential failures and as such makes it harder to ensure software reliability. Since it is usually hard to prevent all the failures, fault tolerance techniques have become more important. An essential element of fault tolerance is the recovery from failures. Local recovery is an effective approach whereby only the erroneous parts of the system are recovered while the other parts remain available. For achieving local recovery, the architecture needs to be decomposed into separate units that can be recovered in isolation. Usually, there are many different alternative ways to decompose the system into recoverable units. It appears that each of these decomposition alternatives performs differently with respect to availability and performance metrics. We propose a systematic approach dedicated to optimizing the decomposition of software architecture for local recovery. The approach provides systematic guidelines to depict the design space of the possible decomposition alternatives, to reduce the design space with respect to domain and stakeholder constraints and to balance the feasible alternatives with respect to availability and performance. The approach is supported by an integrated set of tools and illustrated for the open-source MPlayer software.