At What Level of Granularity Should We be Componentizing for Software Reliability?

In component-based software systems (CBSSs), software designers need to decide about decomposition level (level of granularity) which involves component sizes and the number of components. In these systems, decomposition level is important due to its major impacts on reliability. However, the basis to choose the decomposition level of a CBSS has not been addressed adequately in the existing research. On the other hand, software system components may vary with respect to their criticalities to different failures. The knowledge about component failure criticalities are currently not incorporated in the architectural design decisions of these systems. As a result, these systems consider different failures equally and disregard the various severities of different failures. In this paper, we study the level of decomposition of CBSSs with respect to its impact on their reliabilities based on various component failure criticalities. We discuss the level of decomposition impacts on CBSS architectures with respect to the architectural attributes and component failure criticalities. We derive the reliability of these systems and show the level of decomposition impacts on these system reliabilities.

[1]  Hany H. Ammar,et al.  Error propagation in software architectures , 2004 .

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

[3]  Bev Littlewood,et al.  Software reliability and dependability: a roadmap , 2000, ICSE '00.

[4]  David Lorge Parnas,et al.  Evaluation of safety-critical software , 1990, CACM.

[5]  Karl-Erwin Großpietsch,et al.  An adaptive approach for n-version systems , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[6]  Norman F. Schneidewind,et al.  Reliability Modeling for Safety Critical Software , 1997, Ada-Europe.

[7]  Mohammad Zulkernine,et al.  Improving Reliability and Safety by Trading off Software Failure Criticalities , 2007 .

[8]  하수철,et al.  [서평]「Component Software」 - Beyond Object-Oriented Programming - , 2000 .

[9]  Pierre Sens,et al.  DARX - a framework for the fault-tolerant support of agent software , 2003, 14th International Symposium on Software Reliability Engineering, 2003. ISSRE 2003..

[10]  Allen S. Parrish,et al.  Cost estimation for component based software development , 1998, ACM-SE 36.

[11]  Meng-Lai Yin,et al.  A design tool for large scale fault-tolerant software systems , 2004, Annual Symposium Reliability and Maintainability, 2004 - RAMS.

[12]  Mohammad Zulkernine,et al.  On Failure Propagation in Component-Based Software Systems , 2008, 2008 The Eighth International Conference on Quality Software.

[13]  Karl-Erwin Großpietsch Optimizing the reliability of component-based n-version approaches , 2002, Proceedings 16th International Parallel and Distributed Processing Symposium.

[14]  I-Ling Yen,et al.  Implementation of a customizable fault tolerance framework , 1998, Proceedings First International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC '98).

[15]  Ivica Crnkovic,et al.  Building Reliable Component-Based Software Systems , 2002 .

[16]  Peter G. Bishop,et al.  Software Criticality Analysis of COTS/SOUP , 2002, SAFECOMP.

[17]  Anand Ranganathan,et al.  Towards fault tolerance pervasive computing , 2005, IEEE Technology and Society Magazine.

[18]  Lars Grunske,et al.  Automatic generation of analyzable failure propagation models from component-level failure annotations , 2005, Fifth International Conference on Quality Software (QSIC'05).

[19]  Laura L. Pullum,et al.  Software Fault Tolerance Techniques and Implementation , 2001 .

[20]  Nuno Neves,et al.  Fuzzing Wi-Fi Drivers to Locate Security Vulnerabilities , 2007 .

[21]  Bojan Cukic,et al.  Error propagation in the reliability analysis of component based systems , 2005, 16th IEEE International Symposium on Software Reliability Engineering (ISSRE'05).

[22]  Nancy G Leveson,et al.  Software safety: why, what, and how , 1986, CSUR.

[23]  Jean Arlat,et al.  Definition and analysis of hardware- and software-fault-tolerant architectures , 1990, Computer.