Systematic Functional Decomposition in a Product Line Using Aspect-oriented Software Development: a Case Study

Systematic configuration management is important for successful software product lines. We can use aspect-oriented software development to decompose software product lines based on features that can ease configuration management. In this paper, we present a military maintenance product line that employs such strategy. In particular, we applied a specific approach, feature based modeling (FBM), in the construction of the system. We have extended FBM to address properties specific to product line. We will discuss the advantages of FBM when applied to product lines. Such gains include the functional decomposition of the system along user requirements (features) as aspects. Moreover, those features exhibit unidirectional dependency (i.e. among any two features, at most one depend on another) that enables developers to analyze the effect of any modification they may make on any feature. In addition, any variations can be captured as aspects which can also be incorporated easily into the core asset if such variation is deemed to be important enough to be included in the product line for further evolution.

[1]  Olaf Spinczyk,et al.  On adaptable middleware product lines , 2004, Adaptive and Reflective Middleware.

[2]  Rainer Koschke,et al.  Locating Features in Source Code , 2003, IEEE Trans. Software Eng..

[3]  Martin L. Griss Implementing Product-line features by composing aspects , 2000, SPLC.

[4]  Mira Mezini,et al.  Variability management with feature-oriented programming and aspects , 2004, SIGSOFT '04/FSE-12.

[5]  Doo-Hwan Bae,et al.  An approach to feature based modelling by dependency alignment for the maintenance of the trustworthy system , 2004, Proceedings of the 28th Annual International Computer Software and Applications Conference, 2004. COMPSAC 2004..

[6]  Andrew Clement,et al.  Large-scale AOSD for middleware , 2004, AOSD '04.

[7]  Dirk Muthig,et al.  An Evaluation of Aspect-Oriented Programming as a Product Line Implementation Technology , 2004, ICSR.

[8]  Don S. Batory,et al.  Achieving extensibility through product-lines and domain-specific languages: a case study , 2000, TSEM.

[9]  Reidar Conradi,et al.  A Case Study on Improving Changeability of COTS-Based System Using Aspect-Oriented Programming , 2006 .

[10]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[11]  Don S. Batory,et al.  Scaling step-wise refinement , 2004, IEEE Transactions on Software Engineering.

[12]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .

[13]  Doo-Hwan Bae,et al.  An approach to feature‐based software construction for enhancing maintainability , 2006, Softw. Pract. Exp..

[14]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .