[aosd-discuss] AOP languages mature enough to used in industry

Dean Wampler dean at aspectprogramming.com
Fri May 18 08:23:56 EDT 2007


Unless I'm mistaken, Spring supports the AspectJ pointcut language  
for specifying where to apply advice/proxies as well as its original  
syntax that is more like "apply an advice-like proxy to this single  
class".

My real point about the pointcut language (excuse the pun... ;) is  
that a strong pointcut language is essential for AOP because we need  
the ability the specify a complex collection of join points,  
including various static and dynamic conditional constructs, in order  
to have a truly modular system. That is, if AOP allows me to  
modularize a concern, I need the ability to specify this in a very  
succinct way in a single module. Apply advice is the easy part, even  
in java, where there are plenty of good byte-code manipulation  
libraries.

Of course, this is the low-level stuff. We also need good constructs  
for modular specification of concerns at higher levels of abstraction.

I hope I understood your point.

dean

On May 18, 2007, at 4:04 AM, Michael Haupt wrote:

> Hi Dean,
>
> Am 17.05.2007 um 03:59 schrieb Dean Wampler:
>> I've been doing a lot of experimenting with aspects in Ruby lately.
>> Implementing advice and introductions for individual classes and
>> "modules" (like "mixins") are trivial to do in Ruby. It's a bit more
>> involved to advising groups of classes and modules in one place. In
>> fact, what everyone overlooks is that the most important feature of
>> any AOP framework is really the pointcut language.
>
> but that is only true for PA-flavoured AOP languages, isn't it?
>
> Spring AOP worked very well without an explicit pointcut language.  
> Advice simply applied where proxies would implement the same  
> methods as client classes.
>
>> It's hard to write
>> a sophisticated pointcut language in Ruby, like most non-AOP
>> languages, although Ruby has excellent facilities that help.
>
> Do you really, really need one?
>
> Best,
>
> Michael
>
> -- 
> Dr.-Ing. Michael Haupt                michael.haupt at hpi.uni-potsdam.de
> Software Architecture Group           Phone:  ++49 (0) 331-5509-542
> Hasso Plattner Institute for          Fax:    ++49 (0) 331-5509-229
> Software Systems Engineering          http://www.swa.hpi.uni- 
> potsdam.de/
> Prof.-Dr.-Helmert-Str. 2-3, D-14482 Potsdam, Germany
>
> Hasso-Plattner-Institut für Softwaresystemtechnik GmbH, Potsdam
> Amtsgericht Potsdam, HRB 12184
> Geschäftsführung: Prof. Dr. Christoph Meinel
>
>

Dean Wampler, Ph.D.
dean at objectmentor.com
http://www.objectmentor.com
http://www.aspectprogramming.com
http://www.contract4j.org

I want my tombstone to say:
   Unknown Application Error in Dean Wampler.exe.
   Application Terminated.
       [Okay]        [Cancel]






More information about the discuss mailing list