Design and implementation of an aspect instantiation mechanism

Kouhei Sakurai, Hidehiko Masuhara, Naoyasu Ubayashi, Saeko Matuura, Seiichi Komiya

Research output: Chapter in Book/Report/Conference proceedingChapter

7 Citations (Scopus)

Abstract

This paper describes the design and implementation of association aspects, which are a linguistic mechanism for the AspectJ language that concisely associates aspect instances to object groups by extending the per-object aspects in AspectJ. This mechanism allows an aspect instance to be associated to a group of objects, and by providing a new pointcut primitive to specify aspect instances as execution context of advice. With association aspects, we can straightforwardly implement crosscutting concerns that have stateful behavior related to a particular group of objects. The new pointcut primitive can more flexibly specify aspect instances when compared against previous implicit mechanisms. We implemented a compiler for association aspects by modifying the AspectJ compiler, which reduces the size of data structures for keeping associations. Our benchmark tests confirm that the overheads of association aspects are reasonably small when compared against functionally equivalent aspects in pure AspectJ that manually manage associations. The expressiveness of association aspects is demonstrated through development of an integrated development environment with and without association aspects.

Original languageEnglish
Title of host publicationTransactions on Aspect-Oriented Software Development I
PublisherSpringer Verlag
Pages259-292
Number of pages34
ISBN (Print)3540329722, 9783540329725
Publication statusPublished - Jan 1 2006
Externally publishedYes

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume3880 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

All Science Journal Classification (ASJC) codes

  • Theoretical Computer Science
  • Computer Science(all)

Fingerprint Dive into the research topics of 'Design and implementation of an aspect instantiation mechanism'. Together they form a unique fingerprint.

Cite this