EAI Endorsed Transactions on Scalable Information Systems (Dec 2016)
Mixing of Join Point Interfaces and Feature-Oriented Programming for Modular Software Product Line
Abstract
Feature-oriented programming (FOP) and aspect-oriented programming (AOP) focus are to modularize additional classes behavior and crosscutting concerns, respectively, for soft- ware evolution. So, these software development approaches represent advanced paradigms for modular software product lines development. Thereby, a FOP and AOP symbiosis would permit reaching pros and cons of both approaches. FOP allows developers to modularly refine classes collaboration for Software Product Lines (SPLs), an adequate approach to represent heterogeneous crosscutting concerns. Similarly, traditional AOP structurally modularizes in a re- fined manner homogeneous crosscutting concerns. Since traditional AOP presents implicit dependencies and strong coupling between classes and aspects, these AOP issues are solved by the Join Point Interface JPI approach. This article presents JPI Feature Modules for FOP + JPI SPL components modularization, i.e., classes, aspects, and join point interfaces along with their evolution, for a SPL transparent implementation in a FOP + JPI context. In addition, this article shows JPI Feature Modules of a case study to highlight mutual benefits of FOP and JPI approaches for a modular SPL software conception.
Keywords