Browse > Article
http://dx.doi.org/10.3745/KIPSTD.2009.16-D.1.93

Aspectual Implementation Patterns for Feature-Oriented Product Line Engineering  

Lee, Kwan-Woo (한성대학교 정보시스템공학과)
Abstract
Modular implementation of a feature is a first step toward feature-oriented product line engineering, which develops and then utilizes core assets to configure products in terms of features. Aspect-oriented programming provides effective mechanisms for improving the modularity of feature implementations. However, as features in general are not independent of each other, changes in the implementation of one feature may cause changes to or side effects in the implementation of other features. Moreover, since the time at which a feature is incorporated into products, called feature binding time, may be various from compile time through load time to run time, a feature may have to be implemented differently depending on when the feature is bound into a product. To make each feature implementation module as independent as possible, this paper proposes aspectual implementation patterns that can effectively separate feature dependencies as well as feature binding time from feature implementation modules. These patterns enable flexible composition of feature implementation modules without affecting other modules according to feature selection. The approaches are demonstrated and evaluated based on a product line of scientific calculator applications.
Keywords
Product Line Engineering; Feature-Oriented Analysis; Implementation Patterns; Aspect-Oriented Programming;
Citations & Related Records
연도 인용수 순위
  • Reference
1 V. Alves, P. Matos Jr., L. Cole, P. Borba, G. Ramalho, “Extracting and Evolving Mobile Games Product Lines,” SPLC 2005, pp.70-81   DOI   ScienceOn
2 AspectJ Team, “AspectJ Project,” http://www.eclipse.org/aspectj/
3 K.C. Kang, S. Kim, J. Lee, K. Kim, E. Shin, M. Huh, M., “FORM: A Feature-Oriented Reuse Method with Domain-Specific Reference Architectures,” Annals of Software Engineering, 5, 1998, pp.143-168   DOI   ScienceOn
4 C. Kastner, S. Apel, and D. Batory, “A Case Study Implementing Features Using AspectJ,” SPLC 2007, pp. 223-232   DOI
5 J. Lee and K. C. Kang, “Feature Binding Analysis for Product Line Component Development”, PFE-5, 2003
6 V. Chakravarthy, J. Regehr, E. Eide, “Edicts: Implementing Features with Flexible Binding Times”, AOSD'08, pp. 108-119, 2008   DOI
7 K. Czarnecki, U. Eisenecker, Generative Programming: Methods, Tools, and Applications, Addison-Wesley, 2000
8 I. Godil and H. A. Jacobsen, “Horizontal Decomposition of Prevalyer,” CASCON 2005, pp.83-100
9 M. L. Griss, “Implementing Product-Line Features by Composing Aspects,” SPLC 2000, pp. 271-288
10 M. Griss, J. Favaro, M. d'Alessandro, “Integrating Feature Modeling with the RSEB,” ICSR 2009, Victoria, Canada, 1998, pp.76-85
11 K. Lee and K. C. Kang, “Feature Dependency Analysis for Product Line Component Design,” Lecture Notes in Computer Science, Vol. LNCS 3107, 2004, pp.69-85
12 J. Liu, D. Batory, and C. Lengauer, “Feature-Oriented Refactoring of Legacy Applications,” ICSE 2006, pp.112-121   DOI
13 Prose, http://prose.ethz.ch/
14 G. Kiczales, J Lamping, A. Mendhekar, C. Maeda, C. V. Lopes, “Aspect-Oriented Programming,” ECOOP 1997, 1997
15 D. Batory, “Feature-Oriented Programming and the AHEAD tool suite,” ICSE 2004, pp.702-703, 2004
16 P. Clements, L. Northrop, Software Product Lines: Practices and Patterns, Addison-Wesley, 2002
17 K. C. Kang, S. Cohen, J. Hess, W. Nowak, S. Peterson, “Feature-Oriented Domain Analysis (FODA) Feasibility Study,” Technical Report CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University, 1990