A Configurable Fault Tolerant Architecture for Component-Based Systems

Component-based software engineering is an emerging paradigm for software development. Benefits of component-based development include significant reduction in the development cost, time and improvement in the dependability requirements. Commercial offthe-shelf (COTS) components are used without any code modification and inspection. When such components are integrated to build safety-critical systems, faults within individual COTS components or faults due to their collaboration may cause catastrophic failures. Therefore, for systems with high dependability requirements, it is essential to incorporate ways for tolerating the software faults at architectural level to deal with the faults that are not catered within the components. The existing component based fault tolerant architectures provide fault tolerance through either exception handling or design diversity. In this paper, we propose a fault tolerant architecture, which supports design diversity and exception handling fault tolerance strategies. The proposed fault tolerant component architecture employs special-purpose connectors called design diverse-multiple version connectors (DD-MVC). These connectors allow design diverse N-variants of COTS to run in parallel. Moreover, proposed architecture also has fault tolerant architectural level connector. The proposed architecture can be configured to adjust the tradeoff between dependability and efficiency and exhibits the ability to tolerate the anticipated and unanticipated faults effectively. The applicability of proposed architecture is demonstrated with a prototype implementation and a case study.

[1]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[2]  Mark R. Vigder,et al.  An architectural approach to building systems from COTS software components , 1997, CASCON.

[3]  David Garlan,et al.  Documenting software architectures: views and beyond , 2002, 25th International Conference on Software Engineering, 2003. Proceedings..

[4]  Richard N. Taylor,et al.  A Component- and Message-Based Architectural Style for GUI Software , 1995, 1995 17th International Conference on Software Engineering.

[5]  Alexander Romanovsky Exception handling in component-based system development , 2001, 25th Annual International Computer Software and Applications Conference. COMPSAC 2001.

[6]  Lorenzo Strigini,et al.  On systematic design of protectors for employing OTS items , 2001, Proceedings 27th EUROMICRO Conference. 2001: A Net Odyssey.

[7]  Purnendu Sinha,et al.  A novel approach for component-based fault-tolerant software development , 2005, Inf. Softw. Technol..

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

[9]  Marija Mikic-Rakic,et al.  Increasing the confidence in off-the-shelf components: a software connector-based approach , 2001, SSR '01.

[10]  Andrea Bondavalli,et al.  A Cost-Effective and Flexible Scheme for Software fault Tolerance , 1993 .

[11]  Rogério de Lemos,et al.  Integrating COTS software components into dependable software architectures , 2003, Sixth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, 2003..

[12]  Cecília M. F. Rubira,et al.  On applying coordinated atomic actions and dependable software architectures for developing complex systems , 2001, Fourth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing. ISORC 2001.

[13]  Cecília M. F. Rubira,et al.  A Dependable Architecture for COTS-Based Software Systems Using Protective Wrappers , 2003, WADS.

[14]  Michael Eonsuk Shin,et al.  Connector-based self-healing mechanism for components of a reliable system , 2005, ACM SIGSOFT Softw. Eng. Notes.

[15]  Tai-hoon Kim,et al.  Design Diverse-Multiple Version Connector: A Fault Tolerant Component Based Architecture , 2008, 2008 Advanced Software Engineering and Its Applications.

[16]  Algirdas Avizienis,et al.  Fault Tolerance by Design Diversity: Concepts and Experiments , 1984, Computer.

[17]  Cecília M. F. Rubira,et al.  Architecture-Centric Fault Tolerance with Exception Handling , 2007, LADC.

[18]  Chrysanthos Dellarocas Toward Exception Handling Infrastructures for Component-Based Software , 2000 .

[19]  Jie Xu,et al.  Dynamic Adjustment of Dependability and Efficiency in Fault-Tolerant Software , 1995 .

[20]  Jonathan E. Cook,et al.  Highly reliable upgrading of components , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[21]  Fernando Castor Filho,et al.  FaTC2: An Object-Oriented Framework for Developing Fault-Tolerant Component-Based Systems , 2003 .

[22]  Fan Ye,et al.  Justifying the use of COTS components within safety critical applications , 2005 .