Chapter in “Component-based Software Quality: Methods and Techniques," A book edited by Alejandra Cechich, Mario Piattini, and Antonio Vallecillo (October 2002). 1 Assessment of High Integrity Software Components for Completeness, Consistency, Fault-Tolerance, and Reliability Hye Yeon Kim, Kshamta Jerath and Frederick Sheldon 1 Software Engineering for Dependable Systems Laboratory Abstract The use of formal model based (FMB) methods to evaluate the quality of the 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, Z (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 framework 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. Introduction To manage increasing complexity and maximize code reuse, the software engineering community has, in recent years, put considerable effort into the design and development of component-based software development systems and methodologies (Cox & Song, 2001). The concept of building software from existing components arose by analogy with the way that hardware is now designed and built, using cheap, reliable standard “off-the-shelf” modules. Therefore, the success of component based software technology is dependent on the fact that the effort needed to build component based software systems can be significantly decreased compared to traditional custom software development. Consequently, component producers have to ensure that their commercial components possess trusted quality (Wallin, 2002). To achieve a predictable, repeatable process for engineering high-quality component based software systems, it is clear that quality must be introduced and evaluated at the earliest phases of the life cycle. Developing component-based software (CBS) systems is facilitated by component reusability. The development process for CBS is very similar to the conventional software development process. In CBS development, however, the requirements specification is examined for possible composition from existing components rather than direct construction. The components can be functional units, a service provider (i.e., application programs, Web-based agent or enterprise system (Griss & Pour, 2001)), or components of an application ranging in size 1 Kim (hyekim@samsung.com [+82-11-9740-8012]) is a researcher at Network T/F, Bluetooth Research Group (Samsung Electro- Mechanics, HQ [314, Meatan-3Dong, Paldal-Gu, Suwon, Kyounggi-Do, South Korea, 442-743]), Jerath (kjerath@eecs.wsu.edu [+01- 509-335-1789]) is a Ph.D. student at Washington State University (Sch. of EECS [PO Box 642752, Pullman, WA 99164-2752 USA]), and Sheldon (sheldon@acm.org [+01-865-576-1339]) is a research staff member at Oak Ridge National Laboratory (ORNL, Computational Science and Engineering Div., Applied Software Engineering Research Group [PO Box 2008, Oak Ridge, TN 37831- 6363 USA]) and director of the SEDS (Software Engineering for Dependable Systems) Laboratory which he founded while a professor at WSU. The authors wish to thank Dr. Tom Potok (potokte@ornl.gov), who is the Applied Software Engineering Laboratory Group Lead at ORNL, and Dr. Stefan Greiner at DaimlerChrysler (RIC/AS) for their help and critique. Also, Kelly Hayhurst, who is a research scientist at NASA Langley, working in the area of design correctness and certification, provided immeasurable, crucial and essential, support with respect to the GCS Requirements Specification. Her help and encouragement is deeply appreciated.