[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
RE: [stellation-res] Using AspectJ?
|
On Thu, 2002-09-05 at 21:43, Jonathan Gossage wrote:
>
>
> > >-----Original Message-----
> > >From: stellation-res-admin@xxxxxxxxxxxxxxx
> > >[mailto:stellation-res-admin@xxxxxxxxxxxxxxx]On Behalf Of Mark C.
> > >Chu-Carroll
> > >Sent: September 5, 2002 11:03 AM
> > >To: stellation-res@xxxxxxxxxxxxxxx
> > >Subject: [stellation-res] Using AspectJ?
> > >
> > >
> > >A question to the group:
> > >
> > >I'm going to be sending out a preliminary description of the Stellation
> > >ACL mechanism later today. I'll be starting to work on implementing
> > >that, and completing the trigger mechanism as soon as I get the latest
> > >bugs taken care of.
> > >
> > >The implementation of those things is really complicating the code
> > >in the repository, because so many things are getting tangled
> > >together. (Look at the LocalHandle implementation, with the X/realX
> > >methods to see what I mean...) Using a tool like AspectJ
> > >would make things like this much easier to write without creating
> > >a mess of the code. (Using AspectJ, the X/realX would disappear,
> > >and the trigger code would became a separate file contianing an aspect
> > >implementing an "around" wrapper for the relevant methods.)
> > >
> > >So I'd like to know what people think about the idea of adding
> > >AspectJ to our suite of tools.
> > >
> > >Some things to know about it:
> > >- The AspectJ compiler is open-source, under the Mozilla license.
> > >- There is an AspectJ task for ant, so command line builds
> > > will continue to work.
> > >- There is an AspectJ plugin for Eclipse, so it will not interfere
> > > with our Eclipse use.
> > >- There should be no execution-time performance penalty for using
> > > AspectJ.
> > >
> > >The main arguments against it:
> > >- People will need to learn the basics of AspectJ to understand parts
> > > of our code.
> > >- The setup process for working on Stellation becomes even more
> > > complicated, because you'll need to install AspectJ.
> > >- AspectJ *can* make things significantly less complex; but it also
> > > has the effect of introducing additional "scatter" to the codebase.
> > > If it's not used with great care, it can create as many problems
> > > as it solves.
> > >
> > >What do you all think?
> > >
> > > -Mark
>
> I took a look at AspectJ a few weeks ago and was impressed by its'
> potential. I agree that there will be a learning curve, both for us and for
> anyone interested in the code base. I also agree that we need to evaluate
> carefully where it can help and not just use it because it is a neat new
> tool.
In the interest of full disclosure: IBM is one of the major pioneers in
aspect oriented software One of the other groups in our department at
Watson has a research tool called HyperJ which is a direct competitor to
AspectJ. Jim Wright and I regularly attend the HyperJ design meetings,
and I've published a number of papers in various aspect-oriented forums
- in fact, I'm the co-chair of one at this years OOPSLA. Nn my opinion,
HyperJ is vastly superior to AspectJ - AspectJ has serious scalabilit
problems. Unfortunately, HyperJ is not open-source, and is distributed
under the wretched 3-month alphaworks license.
So, on the one hand, I've got a bit of baggage when it comes to AspectJ.
On the other hand, I consider it better than nothing, and I've got a lot
of background in understanding aspect oriented techniques, and when it's
appropriate to use them.
> I am certainly in favour of trying it and seing how well it works out.
That's what I'm hoping the consensus is. I think aspect-oriented
techniques *could* help us, and if the gang agrees, I'd like to give
them a try. If they work, great. If not, we'll strip it out and go back
to straight Java. But I want to be sure that people are willing to deal
with the burden of installing and understanding yet another tool before
I go ahead.
-Mark
--
Mark Craig Chu-Carroll, IBM T.J. Watson Research Center
*** The Stellation project: Advanced SCM for Collaboration
*** http://www.eclipse.org/stellation
*** Work Email: mcc@xxxxxxxxxxxxxx ------- Personal Email:
markcc@xxxxxxxxxxx
Attachment:
signature.asc
Description: This is a digitally signed message part