FOAL Keynote: Towards Typesafe Weaving for Modular Reasoning in Aspect-Oriented Programs

Eric | January 20, 2012

Attending AOSD? Consider coming two days early to enjoy beautiful Postdam and attendĀ FOAL. I will be giving a keynote presentation in which I will be talking about Closure Join Points and Join Point Interfaces (joint work with Milton Inostroza and Eric Tanter), and how they allow, for the first time, to define aspects that can be truly modularly type-checked and therefore are completely de-coupled from the base code they advise.

Abstract:

In previous work, we and others have studied how aspects can implement important cross-cutting concerns, such as runtime monitors, security monitors, and other security primitives. It is hard to design aspects that implement such concerns correctly. Therefore, once written, one desires to reuse the according aspect definitions for other systems.

In current aspect-oriented systems, however, aspects usually carry, through their pointcuts, explicit references to the base code. Those references are fragile and give up important software engineering properties such as modular reasoning and independent evolution of aspects and base code, hence hindering aspect reuse. A well-studied solution to this problem is to separate base code and aspects using an intermediate interface abstraction. Read the rest of this entry »

Comments
Comments Off on FOAL Keynote: Towards Typesafe Weaving for Modular Reasoning in Aspect-Oriented Programs
Categories
Research
Tags
AOP, AOSD, AspectJ, CJP, JPI

Relational Aspects as Tracematches

Eric | February 10, 2008

image You might remember my previous post (or that one) about relational aspects. As I mentioned there, relational aspects allow you to associate certain objects with an aspect and execute pieces of advice in this aspect in the context of these objects.

We have now published the final camera ready version of our AOSD 2008 submission. There we show in particular how relational aspects can be implemented using tracematches. Further, we show you what relational tracematches are, and we give examples of how use both, relational aspects and tracematches, such as caching or the observer pattern. You can grab the AOSD paper directly from here. Or, in case you are interested in all the nifty details, grab our updated and extended technical report version. Also, in case you have any comments on this work, please let me know!

Comments
Comments Off on Relational Aspects as Tracematches
Categories
Research
Tags
AOP, Java, Relational aspects