Mixing of Join Point Interfaces and Feature-Oriented Programming for Modular Software Product Line

Cristian Vidal, David Benavides, Paul Leger, José Angel Galindo, Hiroaki Fukuda

Research output: Contribution to journalArticlepeer-review


Feature-oriented programming (FOP) and aspect-orientedprogramming (AOP) focus on to modularize incrementalclasses behavior and crosscutting concerns, respectively, forsoftware evolution. So, these software development approachesrepresent advanced paradigms for a modular software productlines production. Thereby, a FOP and AOP symbiosiswould permit reaching pros and cons of both approaches.FOP permits a modular refinement of classes collaborationfor software product lines (SPL), an adequate approach torepresent named heterogeneous crosscutting concerns. FOPworks on changes of different functionality pieces for whichto define join points is not a simple task. Similarly, AOPstructurally modularizes in a refined manner homogeneouscrosscutting concerns. Since traditional AOP like AspectJpresents implicit dependencies and strong coupling betweenclasses and aspects, and the Join Point Interface JPI approachsolves these classic AOP issues, this article presentsJPI Feature Modules for the FOP + JPI SPL componentsmodularization, i.e., collaboration of classes, aspects, andjoin point interfaces along with their evolution, for a SPLtransparent implementation in a FOP + JPI context. Inaddition, this article shows JPI Feature Modules of a casestudy to highlight mutual benefits of FOP and JPI approachesfor a modular SPL software conception

Original languageEnglish
JournalEAI Endorsed Transactions on Scalable Information Systems
Issue number10
Publication statusPublished - 2016


  • Classic aop
  • Fop
  • Jpi
  • Jpi-fm
  • Modular software
  • Spl

ASJC Scopus subject areas

  • Information Systems
  • Information Systems and Management
  • Computer Science Applications
  • Computer Networks and Communications
  • Hardware and Architecture
  • Software


Dive into the research topics of 'Mixing of Join Point Interfaces and Feature-Oriented Programming for Modular Software Product Line'. Together they form a unique fingerprint.

Cite this