scispace - formally typeset
Open AccessProceedings ArticleDOI

Explicitly distributed AOP using AWED

Reads0
Chats0
TLDR
This work proposes AWED, a new aspect language with explicit distributed programming mechanisms, which provides a notion of distributed advice with support for asynchronous and synchronous execution and shows several concrete examples how AWED can be used to modularly implement and extend replicated cache implementations.
Abstract
Distribution-related concerns, such as data replication, often crosscut the business code of a distributed application. Currently such crosscutting concerns are frequently realized on top of distributed frameworks, such as EJBs, and initial AO support for the modularization of such crosscutting concerns, e.g., JBoss AOP and Spring AOP, has been proposed.Based on an investigation of the implementation of replicated caches using JBoss Cache, we motivate that crosscutting concerns of distributed applications benefit from an aspect language for explicit distributed programming. We propose AWED, a new aspect language with explicit distributed programming mechanisms, which provides three contributions. First, remote pointcut constructors which are more general than those of previous related approaches, in particular, supporting remote sequences. Second, a notion of distributed advice with support for asynchronous and synchronous execution. Third, a notion of distributed aspects including models for the deployment, instantiation and state sharing of aspects. We show several concrete examples how AWED can be used to modularly implement and extend replicated cache implementations. Finally, we present a prototype implementation of AWED, which we have realized by extending JAsCo, a system providing dynamic aspects for Java.

read more

Content maybe subject to copyright    Report

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.
Book ChapterDOI

EventJava: An Extension of Java for Event Correlation

TL;DR: The implementation of EventJava is presented, based on a compiler transforming specific primitives to Java, along with a reference implementation of the framework, and it is shown that EventJava compares favorably to a highly tuned database-backed event correlation engine as well as to a comparably lightweight concurrency mechanism.
Proceedings ArticleDOI

EJFlow: taming exceptional control flows in aspect-oriented programming

TL;DR: This paper presents an innovative aspect-oriented model for exception handling implementation that provides abstractions to explicitly describe global views of exceptional control flows and leverages existing pointcut languages to make the association of handlers with normal code more flexible.
Proceedings ArticleDOI

True and transparent distributed composition of aspect-components

TL;DR: DyMAC middleware is the first AO middleware platform that distributes the concepts of aspect-oriented composition completely and transparently by means of advanced remote pointcuts, transparent remote advice and distributed instantiation scopes for aspects.
Proceedings ArticleDOI

Concurrent aspects

TL;DR: A model for concurrent aspects is formally defined which extends the sequential Event-based AOP approach and is given as a translation into concurrent specifications using Finite Sequential Processes (FSP), thus enabling use of the Labelled Transition System Analyzer for formal property verification.
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 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.
Journal ArticleDOI

Summary cache: a scalable wide-area web cache sharing protocol

TL;DR: This paper demonstrates the benefits of cache sharing, measures the overhead of the existing protocols, and proposes a new protocol called "summary cache", which reduces the number of intercache protocol messages, reduces the bandwidth consumption, and eliminates 30% to 95% of the protocol CPU overhead, all while maintaining almost the same cache hit ratios as ICP.
Proceedings ArticleDOI

Adding trace matching with free variables to AspectJ

TL;DR: A new history-based language feature called tracematches is presented that enables the programmer to trigger the execution of extra code by specifying a regular pattern of events in a computation trace by exploiting the introduction of free variables in the matching patterns.
Related Papers (5)