Incorporating fault tolerance tactics in software architecture patterns

One important way that an architecture impacts fault tolerance is by making it easy or hard to implement measures that improve fault tolerance. Many such measures are described as fault tolerance tactics. We studied how various fault tolerance tactics can be implemented in the best-known architecture patterns. This shows that certain patterns are better suited to implementing fault tolerance tactics than others, and that certain alternate tactics are better matches than others for a given pattern. System architects can use this data to help select architecture patterns and tactics for reliable systems.

[1]  T. S. E. Maibaum,et al.  Towards specification, modelling and analysis of fault tolerance in self managed systems , 2006, SEAMS '06.

[2]  Robert Hanmer,et al.  Patterns for Fault Tolerant Software , 2007 .

[3]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[4]  Cecília M. F. Rubira,et al.  A comparative study of exception handling mechanisms for building dependable object-oriented software , 2001, J. Syst. Softw..

[5]  Cecília M. F. Rubira,et al.  Explicit representation of exception handling in the development of dependable component-based systems , 2001, Proceedings Sixth IEEE International Symposium on High Assurance Systems Engineering. Special Topic: Impact of Networking.

[6]  Neil B. Harrison,et al.  Analysis of Architecture Pattern Usage in Legacy System Architecture Documentation , 2008, Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008).

[7]  Henry Muccini,et al.  Architecting Fault Tolerant Systems , 2007, 2007 Working IEEE/IFIP Conference on Software Architecture (WICSA'07).

[8]  Antonio Bucchiarone,et al.  Architecting Fault-tolerant Component-based Systems: from requirements to testing , 2007, Electron. Notes Theor. Comput. Sci..

[9]  Cecília M. F. Rubira,et al.  A fault-tolerant architectural approach for dependable systems , 2006, IEEE Software.

[10]  Yali Zhu,et al.  Exception handling in component composition with the support of middleware , 2005, SEM '05.

[11]  Neil B. Harrison,et al.  Pattern-Driven Architectural Partitioning: Balancing Functional and Non-functional Requirements , 2007, 2007 Second International Conference on Digital Telecommunications (ICDT'07).

[12]  Neil B. Harrison,et al.  Leveraging Architecture Patterns to Satisfy Quality Attributes , 2007, ECSA.

[13]  Robert L. Nord,et al.  Generalizing a Model of Software Architecture Design from Five Industrial Approaches , 2005, 5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05).

[14]  Neil B. Harrison,et al.  The dynamics of changing dynamic memory allocation in a large-scale C++ application , 2006, OOPSLA '06.

[15]  Uwe Zdun,et al.  Architectural Patterns Revisited - A Pattern Language , 2005, EuroPLoP.

[16]  Robert L. Nord,et al.  A general model of software architecture design derived from five industrial approaches , 2007, J. Syst. Softw..

[17]  B. J. Ferro Castro,et al.  Pattern-Oriented Software Architecture: A System of Patterns , 2009 .

[18]  Valérie Issarny,et al.  Architecture-based exception handling , 2001, Proceedings of the 34th Annual Hawaii International Conference on System Sciences.

[19]  Uwe Zdun,et al.  Focus Group Report: Capturing Architectural Knowledge with Architectural Patterns , 2006, EuroPLoP.

[20]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[21]  B. F. Castro Buschmann, Frank; Meunier, Regine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael. Pattern-oriented software architecture: a system of patterns, John Wiley & Sons Ltd, 1996 , 1997 .

[22]  Carl E. Landwehr,et al.  Basic concepts and taxonomy of dependable and secure computing , 2004, IEEE Transactions on Dependable and Secure Computing.

[23]  Cecília M. F. Rubira,et al.  An Architectural-Based Reflective Approach to Incorporating Exception Handling into Dependable Software , 2000, Advances in Exception Handling Techniques.

[24]  James Noble,et al.  Small memory software - patterns for systems with limited memory , 2000 .

[25]  Greg Utas Robust Communications Software: Extreme Availability, Reliability and Scalability for Carrier-Grade Systems , 2005 .

[26]  Elena Troubitsyna,et al.  Fault tolerance in a layered architecture: a general specification pattern in B , 2004, Proceedings of the Second International Conference on Software Engineering and Formal Methods, 2004. SEFM 2004..