Software Engineering Institute Carnegie Mellon

Control Channel Toolkit: A Software Product Line Case Study

Introduction

A software product line is a set of software-intensive systems sharing a common, managed set of features that satisfy the specific needs of a particular market segment or mission and that are developed from a common set of core assets in a prescribed way [Clements 01]. Many organizations are finding that software product lines take economic advantage of the commonality among similar systems and can yield remarkable quantitative improvements in productivity, time to market or field, product quality, and customer satisfaction.

The United States National Reconnaissance Office (NRO) recognized that much is the same from one ground-based spacecraft command and control system to another. They decided to take advantage of the commonality and build a product line asset base for their ground-based spacecraft command and control software. Early results show that they made a fine decision. The first system in their product line is enjoying, among other benefits, 50% reductions in overall cost and schedule, and nearly ten-fold reductions in development personnel and defects. These are impressive results for a first foray into software product lines, and much can be learned from their experience.

This case story is the story of that experience¾the story of the Control Channel Toolkit (CCT), the software asset base for a software product line of ground-based spacecraft command and control systems built under the direction of the NRO. We begin by characterizing the CCT context and then we chronicle the history of the effort, describing the justification for CCT, the CCT team’s organizational structure and influences, the software artifacts that were developed, and the practices and processes that were used. We also describe the results that were achieved and the lessons that were learned, including the measurable benefits the government has already reaped in the initial use of CCT on a specific spacecraft command and control system.

Throughout, we underscore software product line practice area coverage and patterns as well as how the CCT effort uniquely addressed many of the practice areas. The practice areas and patterns we refer to are thoroughly described in Software Product Lines: Practices and Patterns [Clements 01]. With the permission of Addison-Wesley, this report is extracted from this same book, where it was published with the approval of the National Reconnaissance Office.  

 


[Title Page]     [Abstract]     [Figures]     [1 Introduction]    
[2 Contextual Background]     [3 Launching CCT]    
[4 Engineering the CCT Core Assets]     [5 Managing the CCT Effort]    
[6 Early Benefits from CCT]     [7 Lessons and Issues]     [8 Summary]    
[References]     [DTIC page]     [PDF file]