Affiliation:
1. Computer Education Department, Catholic Kwandong University
Abstract
Abstract: This study aims to suggest variability mechanisms for software product line development and to explain the results of case study. Software product line engineering is an extension of software engineering and many organizations constantly engage in reengineering and refactoring to adopt the software product line engineering. Software product line engineering has two engineering processes: domain engineering process and application engineering process. Feature Identification and feature model are key success factor to construct variability model. Feature model describes the variable parts to be extended or replaced and common part to be reuse by themselves. Feature model gives the directions to the following architecture design and component implementation. However, feature model is not the design strategy and variability mechanism for product line implementation. Therefore, these are the obstacles for organizations that are unfamiliar with feature model and variability mechanism to adopt software product line engineering. Several variability mechanisms for software intensive software are suggested but these are not applicable for embedded software since it has different development process and structure. In this paper, variability elements in architecture design and component design of embedded software are identified as state variable, state transition information, and algorithm. Variability management mechanisms are defined for these elements. To provide the detail strategy and to evaluate the suggested variability management methods, process and results of real case study are described.