An AspectJ library for fault tolerance

Eric | November 1, 2007

As a course project at McGill, I developed a little library for fault tolerance, written in AspectJ 5. It contains two components:

  1. Support for automatic N-Version programming.
  2. A full implementation of a recovery cache.

Read the rest of this entry »

Comments
Comments Off on An AspectJ library for fault tolerance
Categories
Research

Relational aspects as tracematches (and "relational tracematches")

Eric | November 1, 2007

Different storage structure of association aspects, the relationship aspects library and relational aspects (our own approach)The relationships between objects in object-oriented applications are an essential property of the program’s design and implementation. Two previous approaches to implement relationships with aspects were association aspects, an AspectJ-based language extension, and the relationship aspects library. While those approaches greatly ease software development, we believe that they are not general enough. For instance, the library approach only works for binary relations, while the language extension does not allow for the association of primitive values or values from non-weavable classes.

Hence, in our work we proposed a generalized alternative implementation via a direct reduction to tracematches, a language feature for executing an advice after having matched a sequence of events.

This new implementation scheme yields multiple benefits. Firstly, our implementation is more general than existing ones, avoiding most previous limitations. It also yields a new language construct, relational tracematches.

Read the rest of this entry »

Comments
Comments Off on Relational aspects as tracematches (and "relational tracematches")
Categories
Research

Generate clone() dialog in Eclipse

Eric | November 1, 2007

Generate clone() dialog in EclipseEver had to deal with cloning of object structures in Java? As my study showed, there is actually a lot that can go wrong with this and many people do get it wrong all the time. Hence, why not have a plugin for Eclipse that helps you generate clone() methods semi-automatically? I have written exactly such a plugin. It first of all detects four different code smells with respect to cloning and in addition offers you to correct those smells by generating a correct implementation of clone().

Download the plugin here. It works with Eclipse 3.2 and later. My presentation slides show how it can be used.

I am currently discussion integration of this plugin into the main Eclipse build stream. If you support this idea, you might want to vote for it here and here.

Comments
7 Comments »
Categories
Research