EAI Endorsed Transactions on Scalable Information Systems 16(10): e2

Research Article

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

Download3 downloads
  • @ARTICLE{10.4108/eai.3-12-2015.2262534,
        author={Cristian Vidal and David Benavides and Paul Leger and Jos\^{e} Galindo and Hiroaki Fukuda},
        title={Mixing of Join Point Interfaces and Feature-Oriented Programming for Modular Software Product Line},
        journal={EAI Endorsed Transactions on Scalable Information Systems},
        volume={16},
        number={10},
        publisher={ACM},
        journal_a={SIS},
        year={2016},
        month={5},
        keywords={fop, classic aop, jpi, spl, modular software, jpi-fm},
        doi={10.4108/eai.3-12-2015.2262534}
    }
    
  • Cristian Vidal
    David Benavides
    Paul Leger
    José Galindo
    Hiroaki Fukuda
    Year: 2016
    Mixing of Join Point Interfaces and Feature-Oriented Programming for Modular Software Product Line
    SIS
    EAI
    DOI: 10.4108/eai.3-12-2015.2262534
Cristian Vidal1, David Benavides2, Paul Leger3, José Galindo4, Hiroaki Fukuda5,*
  • 1: Universidad de Playa Ancha
  • 2: University of Seville
  • 3: Universidad Católica del Norte
  • 4: INRIA
  • 5: Shibaura Institute of Technology
*Contact email: hiroaki@shibaura-it.ac.jp

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.