Explicitly distributed AOP using AWED
Luis Daniel Benavides Navarro,Mario Südholt,Wim Vanderperren,Bruno De Fraine,Davy Suvee +4 more
- pp 51-62
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
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
Patrick Eugster,K. R. Jayaram +1 more
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
Bert Lagaisse,Wouter Joosen +1 more
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
Chris Allan,Pavel Avgustinov,Aske Simon Christensen,Laurie Hendren,Sascha Kuzins,Ondřej Lhoták,Oege de Moor,Damien Sereni,Ganesh Sittampalam,Julian Tibble +9 more
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.