ABSTRACT
The integration of multiple SPLs is increasingly becoming a trend to enable on-demand derivation of new products and accelerate their time-to-market. Integration of SPLs often implies the reuse of a previously-implemented feature across other SPLs. The reuse of a SPL feature is only viable if the underlying programming mechanisms enable its smooth composition within the code of other SPLs. If the required modifications are significant, the design of the target SPLs are likely to be destabilized. This paper presents an exploratory study on the integration of three product lines from the board game domain. We investigate how aspect-oriented and feature-oriented programming impact on the reuse and stability of those product lines.
- Mattsson, M. et. al. Framework integration problems, causes, solutions. Commun. ACM 42, 10 (October 1999), 80--87. Google ScholarDigital Library
- Mezini, M. and Ostermann, K. Integrating independent components with on-demand remodularization. In OOPSLA'02, NY, USA, 2002. ACM Press. Google ScholarDigital Library
- Aracic, I. et. al. Overview of CaesarJ. Transactions on AOSD. LNCS, Vol. 3880, pp. 135--173, Feb 2006. Google ScholarDigital Library
- Dantas, F., Garcia, A. Software Reuse versus Stability: Evaluating Advanced Programming Techniques. Proc. SBES'10, Brazil, 2010. Google ScholarDigital Library
- Apel, S. et al. Aspectual mixin layers: aspects and features in concert. ICSE 2006: 122--131. Google ScholarDigital Library
- Schaefer, I. et al: Delta-Oriented Programming of Software Product Lines. SPLC 2010: pp. 77--91 Google ScholarDigital Library
- Figueiredo, E. et al: Evolving Software Product Lines with Aspects: an empirical study on design stability. ICSE 2008: pp. 261--270 Google ScholarDigital Library
- Kiczales, G. and Hilsdale, E. Aspect-oriented programming. In Proc. 8th FSE (Vienna, Austria, September 10 - 14, 2001). Google ScholarDigital Library
- Prehofer, C. Feature-oriented programming: A fresh look at objects. In Proceedings of ECOOP'97, pages 419--443, 1997.Google Scholar
- Alves, V. et al. Extracting and Evolving code in Product Lines with Aspect-Oriented Programming. Trans. AOSD, pp. 118--144, 2007. Google ScholarDigital Library
- Kästner, C. et al. A Case Study Implementing Features Using AspectJ. SPLC 2007: pp. 223--232. Google ScholarDigital Library
- Shogi Game. http://sourceforge.net/projects/simpleshogi/.Google Scholar
- JHess Game. http://sourceforge.net/projects/jhess/.Google Scholar
- Checkers Game. http://www.faqs.org/docs/javap/source/Checkers.java.Google Scholar
- On-Demand Integration of Product Lines: A Study of Reuse and Stability. Available at www.les.inf.pucrio.br/opus/please11/.Google Scholar
- The Dependency Inversion Principle, Robert C. Martin, C++ Report, May 1996.Google Scholar
- Apel, S., D. Batory: When to use features and aspects?: a case study. GPCE 2006: pp. 59--68. Google ScholarDigital Library
- Gamma, E. et. al. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995. Google ScholarDigital Library
- Kuhlemann, Martin et. al. 2007. On the duality of aspect-oriented and feature-oriented design patterns. In Proc. of ACPIS, pages 5--15. Google ScholarDigital Library
Recommendations
Integrating Software Product Lines: A Study of Reuse versus Stability
COMPSAC '12: Proceedings of the 2012 IEEE 36th Annual Computer Software and Applications ConferenceTo achieve large-scale reuse and accelerate time-to-market, integration of multiple software product lines (SPLs) is becoming a trend. The integration of independently-developed SPLs enables the derivation of new products on demand in a particular ...
Implementing software product lines using traits
SAC '10: Proceedings of the 2010 ACM Symposium on Applied ComputingA software product line (SPL) is a set of software systems with well-defined commonalities and variabilities that are developed by managed reuse of common artifacts. In this paper, we present a novel approach to implement SPL by fine-grained reuse ...
Service-oriented product lines: a systematic mapping study
Software product line engineering and service-oriented architectures both enable organizations to capitalize on reuse of existing software assets and capabilities and improve competitive advantage in terms of development savings, product flexibility, ...
Comments