TY - JOUR
T1 - Mixing of join point interfaces and feature-oriented programming for modular software product line
AU - Vidal, Cristian
AU - Benavides, David
AU - Leger, Paul
AU - Galindo, José Angel
AU - Fukuda, Hiroaki
N1 - Publisher Copyright:
Copyright © 2016 ICST.
PY - 2015
Y1 - 2015
N2 - Feature-oriented programming (FOP) and aspect-oriented programming (AOP) focus on to modularize incremental classes behavior and crosscutting concerns, respectively, for software evolution. So, these software development approaches represent advanced paradigms for a modular software product lines production. Thereby, a FOP and AOP symbiosis would permit reaching pros and cons of both approaches. FOP permits a modular refinement of classes collaboration for software product lines (SPL), an adequate approach to represent named heterogeneous crosscutting concerns. FOP works on changes of different functionality pieces for which to define join points is not a simple task. Similarly, AOP structurally modularizes in a refined manner homogeneous crosscutting concerns. Since traditional AOP like Aspect J presents implicit dependencies and strong coupling between classes and aspects, and the Join Point Interface JPI approach solves these classic AOP issues, this article presents JPI Feature Modules for the FOP + JPI SPL components modularization, i.e., collaboration of 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.
AB - Feature-oriented programming (FOP) and aspect-oriented programming (AOP) focus on to modularize incremental classes behavior and crosscutting concerns, respectively, for software evolution. So, these software development approaches represent advanced paradigms for a modular software product lines production. Thereby, a FOP and AOP symbiosis would permit reaching pros and cons of both approaches. FOP permits a modular refinement of classes collaboration for software product lines (SPL), an adequate approach to represent named heterogeneous crosscutting concerns. FOP works on changes of different functionality pieces for which to define join points is not a simple task. Similarly, AOP structurally modularizes in a refined manner homogeneous crosscutting concerns. Since traditional AOP like Aspect J presents implicit dependencies and strong coupling between classes and aspects, and the Join Point Interface JPI approach solves these classic AOP issues, this article presents JPI Feature Modules for the FOP + JPI SPL components modularization, i.e., collaboration of 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.
KW - Classic AOP
KW - FOP
KW - JPI
KW - JPI-FM
KW - Modular software
KW - SPL
UR - http://www.scopus.com/inward/record.url?scp=85052174918&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85052174918&partnerID=8YFLogxK
U2 - 10.4108/eai.3-12-2015.2262534
DO - 10.4108/eai.3-12-2015.2262534
M3 - Conference article
AN - SCOPUS:85052174918
SN - 2411-6777
JO - EAI International Conference on Bio-inspired Information and Communications Technologies (BICT)
JF - EAI International Conference on Bio-inspired Information and Communications Technologies (BICT)
T2 - 9th EAI International Conference on Bio-Inspired Information and Communications Technologies, BICT 2015
Y2 - 3 December 2015 through 5 December 2015
ER -