Assessment of High Integrity Software Components for Completeness, Consistency, Fault-Tolerance, and Reliability

The use of formal model based (FMB) methods to evaluate the quality of components is an important research area. Except for a growing number of exceptions, FMB methods are still not really used in practice. This chapter presents two case studies that illustrate the value of FMB approaches for developing and evaluating component-based software. In the first study, Zed (or Z) and Statecharts are used to evaluate (a priori) the software requirement specification of a Guidance Control System for completeness, consistency and fault-tolerance. The second study evaluates (post-priori) the reliability of a complex vehicle system using Stochastic Activity Networks (SANs). The FMB approach presented here provides further evidence that such methods can indeed be useful by showing how these two different industrial strength systems were assessed and the results. Clearly, future investigations of this nature will help to convince software system developers using component based approaches that such FMB methods should be considered as a valuable tool toward improving the software product lifecycle (quality, schedule and cost).

[1]  Jean Arlat,et al.  Dependability Modeling and Evaluation of Software Fault-Tolerant Systems , 1990, IEEE Trans. Computers.

[2]  Frederick T. Sheldon,et al.  Validation of guidance control software requirements specification for reliability and fault-tolerance , 2002, Annual Reliability and Maintainability Symposium. 2002 Proceedings (Cat. No.02CH37318).

[3]  Gilda Pour,et al.  Accelerating Development with Agent Components , 2001, Computer.

[4]  Kam-Fai Wong,et al.  Component-based software engineering: technologies, development frameworks, and quality assurance schemes , 2000, Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000.

[5]  Alan W. Brown Component-Based Software Engineering: Selected Papers from the Software Engineering Institute , 1996 .

[6]  Hany H. Ammar,et al.  A component-based approach to reliability analysis of distributed systems , 1999, Proceedings of the 18th IEEE Symposium on Reliable Distributed Systems.

[7]  Günter Haring,et al.  Performance Evaluation: Origins and Directions , 2000, Lecture Notes in Computer Science.

[8]  Richard G. Hamlet,et al.  Theory of software reliability based on components , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[9]  Michael R. Lyu,et al.  Optimal resource allocation and reliability analysis for component-based software applications , 2002, Proceedings 26th Annual International Computer Software and Applications.

[10]  Albertas Caplinskas,et al.  Databases and information systems : Fourth International Baltic Workshop, Baltic DB&IS 2000 Vilnius, Lithuania, May 1-5, 2000 selected papers , 2001 .

[11]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[12]  Heinrich Müller,et al.  Effiziente Methoden der geometrischen Modellierung und der wissenschaftlichen Visualisierung, Dagstuhl Seminar 1997 , 1999, Effiziente Methoden der geometrischen Modellierung und der wissenschaftlichen Visualisierung.

[13]  Jonathan Jacky,et al.  The Way of Z: Practical Programming with Formal Methods , 1996 .

[14]  Karama Kanoun,et al.  Dependability of fault-tolerant systems-explicit modeling of the interactions between hardware and software components , 1996, Proceedings of IEEE International Computer Performance and Dependability Symposium.

[15]  Kishor S. Trivedi,et al.  Stochastic Modeling Formalisms for Dependability, Performance and Performability , 2000, Performance Evaluation.

[16]  Janis Barzdins,et al.  Databases and Information Systems , 2001, Springer Netherlands.

[17]  Philip T. Cox,et al.  A formal model for component-based software , 2001, Proceedings IEEE Symposia on Human-Centric Computing Languages and Environments (Cat. No.01TH8587).

[18]  Judith A. Stafford,et al.  Ensembles: abstractions for a new class of design problem , 2001, Proceedings 27th EUROMICRO Conference. 2001: A Net Odyssey.

[19]  David Harel,et al.  Modeling Reactive Systems With Statecharts : The Statemate Approach , 1998 .

[20]  Jeffrey M. Voas,et al.  Dependability certification of software components , 2000, J. Syst. Softw..

[21]  Robert L. Glass,et al.  Software reliability guidebook , 1979 .

[22]  Joanne Bechta Dugan Experimental analysis of models for correlation in multiversion software , 1994, Proceedings of 1994 IEEE International Symposium on Software Reliability Engineering.

[23]  Ivica Crnkovic Component-based software engineering - new challenges in software development , 2003 .

[24]  Bev Littlewood,et al.  Conceptual Modeling of Coincident Failures in Multiversion Software , 1989, IEEE Trans. Software Eng..

[25]  Nancy G. Leveson,et al.  Safeware: System Safety and Computers , 1995 .

[26]  Victor F. Nicola,et al.  Modeling of Correlated Failures and Community Error Recovery in Multiversion Software , 1990, IEEE Trans. Software Eng..

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

[28]  Dong Tang,et al.  Quantitative reliability and availability assessment for critical systems including software , 1997, Proceedings of COMPASS '97: 12th Annual Conference on Computer Assurance.

[29]  William H. Sanders,et al.  Performability modeling with UltraSAN , 1991, IEEE Software.

[30]  Paul Clements,et al.  Predicting software quality by architecture-level evaluation , 1995 .

[31]  Jim Woodcock,et al.  Using Z - specification, refinement, and proof , 1996, Prentice Hall international series in computer science.

[32]  Kishor S. Trivedi,et al.  A Hierarchical, Combinatorial-Markov Method of Solving Complex Reliability Models , 1986, FJCC.

[33]  Dhiraj K. Pradhan,et al.  Fault-tolerant computer system design , 1996 .

[34]  Mats P. E. Heimdahl,et al.  Integrative analysis of state-based requirements for completeness and consistency , 1998 .

[35]  Christina Wallin Verification and Validation of Software Components and Component Based Software Systems , 2002 .

[36]  G. Bundell,et al.  Software Component Certification , 2001, Computer.

[37]  Awais Rashid,et al.  A strategy for managing risk in component-based software development , 2001, Proceedings 27th EUROMICRO Conference. 2001: A Net Odyssey.

[38]  George T. Heineman,et al.  Component-Based Software Engineering: Putting the Pieces Together , 2001 .

[39]  Hele-Mai Haav,et al.  Databases and Information Systems II , 2002, Springer Netherlands.

[40]  Dave E. Eckhardt,et al.  A Theoretical Basis for the Analysis of Multiversion Software Subject to Coincident Errors , 1985, IEEE Transactions on Software Engineering.

[41]  N. K. Jha Fault-tolerant computer system design [Book Reviews] , 1996 .