[aosd-discuss] Any AOP implementations using VM-hooks?

Pascal Costanza costanza at iai.uni-bonn.de
Tue Jan 27 08:06:54 EST 2004


Eric Bodden wrote:

> Hi altogether.
> 
> I was just wondering if there are any approaches out there that implement
> AOP based solutions by implementing hooks in a virtual machine for "firing"
> advice on joinpoints.

Since you haven't restricted your question to Java or the like, let me 
add the following hints:

- Run-time metaobject protocols (MOP) provide an excellent ground to 
start from. For example, take a look at Robert Hirschfeld's AspectS 
which is based on Smalltalk and its MOP. Another excellent MOP is the 
CLOS MOP (Common Lisp Object System). With such a facility, you can 
implement your own aspect-oriented extension during a long weekend or 
so. I have implemented such a system, which I haven't published yet though.

Of course, this all requires an understanding of how MOPs work which 
takes some upfront investment. But it's not too hard IMHO.

- Apart from that, it might also be a good idea to look at what the 
open-source community has to offer. For example, Parrot is a unified 
virtual machine that is currently in the works for Perl, Python and 
other languages. It's probably easier to get aspect-oriented extensions 
accepted for such projects than for the rather closed Java and .NET 
world. If you are interested in getting industry acceptance in those 
worlds, it's probably not a good idea to extend their virtual machines. 
It's too hard to catch up with their progress, at least not when you 
don't have a large team to back this, and industry partners are not 
likely to base their software on experimental research projects. 
Load-time transformation/load-time metaobject protocols are the best you 
can get in this light.

Of course, this all depends on what target audience you have in mind 
and/or you are in.


Just my 0.02€.

Pascal

-- 
Pascal Costanza               University of Bonn
mailto:costanza at web.de        Institute of Computer Science III
http://www.pascalcostanza.de  Römerstr. 164, D-53117 Bonn (Germany)




More information about the discuss mailing list