Abstract

Aspect-Oriented Programming AOP extends object-oriented programming OOP with aspects to modularize crosscutting behavior on classes by means of aspects to advise base code in the occurrence of join points according to pointcut rules definition. However, join points introduce dependencies between aspects and base code, a great issue to achieve an effective independent development of software modules. Join Point Interfaces JPI represent join points using interfaces between classes and aspect, thus these modules do not depend of each other. Nevertheless, since like AOP, JPI is a programming methodology; thus, for a complete aspect-oriented software development process, it is necessary to define JPI requirements and JPI modeling phases. Towards previous goal, this article proposes JPI UML class and sequence diagrams for modeling JPI software solutions. A purpose of these diagrams is to facilitate understanding the structure and behavior of JPI programs. As an application example, this article applies the JPI UML diagrams proposal on a case study and analyzes the associated JPI code to prove their hegemony.

Highlights

  • Aspect-Oriented Programming, AOP [4] [5] [6] [8] is an extension of Object-Oriented Programming OOP that introduces aspects, i.e., modules that advise classes’ behavior or add structural members to base classes

  • Point interfaces, they directly link to a join point interface class and define a kind of join point for the join point interface implementation

  • To model the interaction between participants in the execution of JPI systems, this article proposes the so-called JPI sequence diagram which considers aspects as a sort of participants stereotyped by in diagrams, and interactions between participant objects and aspects at join points are denoted by advices

Read more

Summary

INTRODUCTION

Aspect-Oriented Programming, AOP [4] [5] [6] [8] is an extension of Object-Oriented Programming OOP that introduces aspects, i.e., modules that advise classes’ behavior or add structural members to base classes. Looking for a complete JPI software development process, this article proposes deploying two types of UML diagrams: class diagrams and sequence diagrams to model JPI programs, and presents a running example of a JPI program. The main goal of this article is to present diagrams to understand the structure and behavior of JPI programs and apply them to a case study to analyze their hegemony with the associated JPI code for a complete JPI software development process. This is basic for the goal of reaching a model-driven JPI development methodology in the future. Point interfaces, they directly link to a join point interface class and define a kind of join point (before, around, and after) for the join point interface implementation

Classic UML Class Diaggrams
JPI UML Class Diagrams
JPI UML SEQUENCE DIAGRAMS
ANAYZING JPI CODE
RELATED WORK
CONCLUSIONS
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call