Author_Institution :
BigLever Software Inc., Austin, TX, USA
Abstract :
The study of software product line addresses the issues of engineering software systems families, or collections of similar software systems. The objective of a software product line is to reduce the overall engineering effort required to produce a collection of similar systems by capitalizing on the commonality among the systems and by formally managing the variation among the systems. This is a classic software reuse problem (C. Krueger, 1992). The primary focus of software product line research has been on domain analysis and modeling, architecture modeling, software reuse repositories, generators, and process definition. In contrast, for engineering single systems, these technologies and techniques provide significant value, while for engineering software product lines the conventional wisdom suggests they are essential. We hypothesize, however, that domain analysis, architecture modeling, software reuse repositories, generators, and process definition are simply compensating for a void in the existing software engineering technology space and that this void can be filled by a more simple, powerful, and concise technology for engineering software product lines. This new technology then redefines the status of domain analysis and the other existing technologies so that they have the same status in software product line development that they do in single system development: valuable engineering technologies but not necessarily requisite
Keywords :
formal specification; software reusability; systems analysis; architecture modeling; concise technology; domain analysis; engineering effort; formal management; process definition; similar software systems; software engineering technology space; software product line engineering; software product line research; software product line reuse; software reuse problem; software reuse repositories; software systems families; Buildings; Computer architecture; Engineering management; Maintenance engineering; Power engineering and energy; Software engineering; Software maintenance; Software systems; Space technology; Systems engineering and theory;