On the impact of fault tolerance tactics on architecture patterns

One important way that an architecture impacts fault tolerance is by making it easy or hard to implement tactics that improve fault tolerance. Information about how the implementation of fault tolerance tactics affects the architecture patterns of a system should be useful to architects during architectural design in selecting optimal fault tolerance tactics and architecture patterns. In order to understand more about how useful this information can be, we performed an informal study of teams designing fault tolerance tactics in an architecture. One group used information about the interaction of tactics and architecture patterns; the other did not. We observed that the group with the information produced better quality architectures, and were able to better estimate the difficulty of implementing the tactics. We recommend that information about the interaction of tactics and architecture patterns be made available to architects, particularly those with less familiarity about fault tolerance tactics.

[1]  Rick Kazman,et al.  Evaluating Software Architectures: Methods and Case Studies , 2001 .

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

[3]  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.

[4]  Jan Bosch,et al.  Documenting after the fact: Recovering architectural design decisions , 2008, J. Syst. Softw..

[5]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[6]  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).

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

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

[9]  Jan Bosch,et al.  Software Architecture: The Next Step , 2004, EWSA.

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

[11]  Neil B. Harrison,et al.  Incorporating fault tolerance tactics in software architecture patterns , 2008, SERENE '08.

[12]  Shari Lawrence Pfleeger,et al.  Preliminary Guidelines for Empirical Research in Software Engineering , 2002, IEEE Trans. Software Eng..

[13]  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).

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

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

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

[17]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

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

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

[20]  Frank Buschmann,et al.  Pattern-Oriented Software Architecture, a Pattern Language for Distributed Computing , 2007 .

[21]  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.

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

[23]  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 .

[24]  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).

[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..

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