scispace - formally typeset
Book ChapterDOI

JAC: A Flexible Solution for Aspect-Oriented Programming in Java

Reads0
Chats0
TLDR
This paper presents JAC (Java Aspect Components), a framework for aspect-oriented programming in Java that uses the Javassist class load-time MOP and does not require any language extensions to Java.
Abstract
This paper presents JAC (Java Aspect Components), a framework for aspect-oriented programming in Java. Unlike language such as AspectJ which are mostly class-based,JAC is object-based and does not require any language extensions to Java. It uses the Javassist class load-time MOP. An aspect program in JAC is a set of aspect objects that can be dynamically deployed and undeployed on top of running application objects. Aspect objects may define three kinds of aspect methods: wrapping methods (that wrap application methods and provide the ability to run code before and after the wrapped methods), role methods (that add new functionalities to application objects), and exception handlers. The aspects composition issue is handled through a well-defined wrapping controller that specifies for each wrapped object at wrap-time, runtime or both, the execution order of aspect objects.

read more

Citations
More filters
Journal Article

An overview of AspectJ

TL;DR: AspectJ as mentioned in this paper is a simple and practical aspect-oriented extension to Java with just a few new constructs, AspectJ provides support for modular implementation of a range of crosscutting concerns.
Journal ArticleDOI

Self-adaptive software: Landscape and research challenges

TL;DR: A taxonomy of research in self-adaptive software is presented, based on concerns of adaptation, that is, how, what, when and where, towards providing a unified view of this emerging area.
Journal ArticleDOI

The FRACTAL component model and its support in Java

TL;DR: The paper describes JULIA, a Java implementation of the FRACTAL model, a small but efficient runtime framework, which relies on a combination of interceptors and mixins for the programming of reflective features of components.
Journal Article

An open component model and its support in Java

TL;DR: Julia, a Java implementation of the Fractal model, a small but efficient run-time framework, which relies on a combination of interceptors and mixins for the programming of reflective features of components, is described.
Proceedings ArticleDOI

JAsCo: an aspect-oriented approach tailored for component based software development

TL;DR: A new "aspect-enabled" component model, which contains build-in traps that enable to interfere with the normal execution of a component, is proposed that is backward-compatible with the Java Beans component model.
References
More filters
Journal ArticleDOI

Aspect-oriented programming

TL;DR: This work proposes to use aspect-orientation to automate the calculation of statistics for database optimization and shows how nicely the update functionality can be modularized in an aspect and how easy it is to specify the exact places and the time when statistics updates should be performed to speed up complex queries.
Journal ArticleDOI

On the criteria to be used in decomposing systems into modules

TL;DR: In this paper, the authors discuss modularization as a mechanism for improving the flexibility and comprehensibility of a system while allowing the shortening of its development time, and the effectiveness of modularization is dependent upon the criteria used in dividing the system into modules.
Journal Article

An overview of AspectJ

TL;DR: AspectJ as mentioned in this paper is a simple and practical aspect-oriented extension to Java with just a few new constructs, AspectJ provides support for modular implementation of a range of crosscutting concerns.
Book ChapterDOI

An Overview of AspectJ

TL;DR: AspectJ provides support for modular implementation of a range of crosscutting concerns, and simple extensions to existing Java development environments make it possible to browse the crosscutting structure of aspects in the same kind of way as one browses the inheritance structure of classes.
Proceedings ArticleDOI

N degrees of separation: multi-dimensional separation of concerns

TL;DR: A new paradigm for modeling and implementing software artifacts is described, one that permits separation of overlapping concerns along multiple dimensions of composition and decomposition, which addresses numerous problems throughout the software lifecycle.