A Variability-Centric Approach to Instantiating Core Assets in Product Line Engineering
As a key activity in product line engineering (PLE), instantiation is a task to generate target applications by resolving variability embedded in core assets. However, instantiation is often conducted in manual and ad-hoc fashion, largely replying on domain knowledge and experience. Hence, it can easily lead to technical problems in precisely specifying decision model consisting of product-specific variation points and variants, and in handling inter-variant conflicts/dependency. To overcome this difficulty, it is desirable to develop a systematic process which includes a set of systematic activities, detailed instructions, and concrete specification of artifacts. In this paper, we first propose a meta-model of a core asset to specify its key elements. Then, we represent a comprehensive process that defines key instantiation activities, representations of artifacts, and work instructions. With the proposed process, one can instantiate core assets more effectively and systematically.
KeywordsDecision Model Variation Point Software Product Line Architectural Style Product Line Engineering
Unable to display preview. Download preview PDF.
- 1.Atkinson, C., et al.: Component-based Product Line Engineering with UML. Addison-Wesley, Reading (2001)Google Scholar
- 3.Bayer, J., Flege, O., Knauber, P., Laqua, R., Muthig, D., Schmid, K., Widen, T., DeBaud, J.: PuLSE: A Methodology to Develop Software Product Lines. In: Proceeding of symposium for Software Reusability 1999. ACM, New York (1999)Google Scholar
- 4.Bayer, J., Gacek, C., Muthig, D., Widen, T.: PuLSE-I: Deriving Instances from a Product Line Infrastructure. In: Proceedings of 7th International Conference and Workshop on the Engineering of Computer Based Systems. IEEE, Los Alamitos (2000)Google Scholar
- 6.Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Reading (2001)Google Scholar
- 7.Bayer, J., Flege, O., Knauber, P., Laqua, R., Muthig, D., Schmid, K., Widen, T., DeBaud, J.: PuLSE: A Methodology to Develop Software Product Lines. In: Proceeding of symposium for Software Reusability 1999. ACM, New York (1999)Google Scholar
- 9.Clements, P., et al.: Documenting Software Architectures Views and Beyond. Addison-Wesley, Reading (2003)Google Scholar
- 10.Gomma, H.: Designing Software Product Lines with UML from Use Cass to Pattern-Based Software Architectures. Addsion-Wesley, Reading (2004)Google Scholar
- 14.IEEE, Guide to the Software Engineering Body of Knowledge (2004)Google Scholar
- 15.Pressman, R.: Software Engineering: A Practitioner’s Approach, 6th edn. McGraw-Hill, New York (2005)Google Scholar
- 16.ISO/IEC 12207 Standard for Information Technology-Software life cycle processes (1995)Google Scholar