Abstract

Aspect-oriented software development (AOSD) solves a few issues of the object-oriented software development (OOSD) approach and adds a few more concerning modules and their relationships. Join point interface (JPI) is an AOSD methodology that by the definition of the interface between advised artifacts and aspects solves associated AOSD issues to get software with a high modularity level. Looking for a JPI software development approach, this article proposes and exemplifies the use of JPIAspectZ, an extension of the formal aspect-oriented language AspectZ for the software JPI requirement specifications. Mainly, JPIAspectZ looks for a concept and model consistency in a JPI software development process. Since the main JPI characteristics are the joining point interfaces definitions, i. e. explicit associations definition between aspects and advised modules, thus, by JPI, classes are no longer oblivious of possible interaction with aspects, and aspects, for their action effectiveness, do not depend anymore on signatures of advisable module components. JPIAspectZ fully supports these JPI principles. As JPI application examples, this article shows the formal requirements specification for classic aspect-oriented and JPI examples, along with describing the advantages and disadvantages of this language.

Highlights

  • Aspect-oriented software development (AOSD) permits modularizing crosscutting concerns in object-oriented software development (OOSD) stages [1]

  • Aspects in Join point interface (JPI) only present their implementation of join point interfaces

  • After reviewing JPIAspectZ examples for the Painting and Shop-pingSession systems, we can argue a clear consistency exists between JPI models and JPI code

Read more

Summary

INTRODUCTION

AOSD permits modularizing crosscutting concerns in OOSD stages [1]. Because AOSD was born at the objectoriented (OO) programming stage, to reach a complete transparency of concepts and design in the AOSD process seems a complex task. Looking for a transparency in the AOSD process, different proposals of modeling language extensions already exist to support AOSD such as aspectoriented UML use case diagrams [2] and aspect-oriented UML class diagram [3]. Authors in [10] report that a double-dependency between base modules and aspects exists in traditional AOSD solutions. To solve this issue, the works of [10-12] propose and apply join point interface (JPI) instances between classes and aspects. With the purpose of obtaining JPI solutions and getting transparency of concepts in stages of the AOSD-JPI process, this article proposes and applies JPIAspectZ, an extension of OOAspectZ [7, 8], for requirements specification of JPI software applications

ASPECT ORIENTED PROGRAMMING AND JPI
JPIASPECTZ PRINCIPLES
APPLICATION EXAMPLES
EXPERIMENTS AND RESULTS
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