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 journalConference article

3 Citations (Scopus)

Abstract

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.

Fingerprint

Aspect oriented programming
Computer programming
Interfaces (computer)
Software engineering

Keywords

  • Classic AOP
  • FOP
  • JPI
  • JPI-FM
  • Modular software
  • SPL

ASJC Scopus subject areas

  • Artificial Intelligence
  • Computer Networks and Communications
  • Hardware and Architecture
  • Software
  • Neuroscience (miscellaneous)

Cite this

Mixing of join point interfaces and feature-oriented programming for modular software product line. / Vidal, Cristian; Benavides, David; Leger, Paul; Galindo, José Angel; Fukuda, Hiroaki.

In: EAI International Conference on Bio-inspired Information and Communications Technologies (BICT), 01.01.2015.

Research output: Contribution to journalConference article

@article{1d173086a2e040829245178a6ce5beb5,
title = "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 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.",
keywords = "Classic AOP, FOP, JPI, JPI-FM, Modular software, SPL",
author = "Cristian Vidal and David Benavides and Paul Leger and Galindo, {Jos{\'e} Angel} and Hiroaki Fukuda",
year = "2015",
month = "1",
day = "1",
doi = "10.4108/eai.3-12-2015.2262534",
language = "English",
journal = "EAI International Conference on Bio-inspired Information and Communications Technologies (BICT)",
issn = "2411-6777",

}

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

PY - 2015/1/1

Y1 - 2015/1/1

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

JO - EAI International Conference on Bio-inspired Information and Communications Technologies (BICT)

JF - EAI International Conference on Bio-inspired Information and Communications Technologies (BICT)

SN - 2411-6777

ER -