Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [aspectj-users] Metadata as projections onto multidimensional space

I think that's right.  Here's how I look at it:

Tag names give you an explicit and localized way of saying that a single method[1] has a certain property.

Tag names give you an explicit and non-localized way of saying that a set of methods has a (potentially crosscutting[2]) property. 

Pointcuts give you an explicit and localized way of saying that a set of methods has a (potentially crosscutting) property.

Notes:
  [1] I say method for simplicity, but it can be anything you can put a tag on.

  [2] As I said in my AOSD talk, crosscutting is a different way of saying multi-dimensional. As a term it tries to focus on the
particular relationship between organizations that makes them not "fit" together with standard hierarchical (de)compositions.



> -----Original Message-----
> From: aspectj-users-admin@xxxxxxxxxxx 
> [mailto:aspectj-users-admin@xxxxxxxxxxx] On Behalf Of Ramnivas Laddad
> Sent: Monday, August 18, 2003 11:51 AM
> To: aspectj-users@xxxxxxxxxxx
> Subject: [aspectj-users] Metadata as projections onto 
> multidimensional space
> 
> 
> Hello,
> 
> (Triggered by recent discussion on XDoclet/AspectJ integration)
> 
> Could method names and metadata be viewed as projections 
> for the same entity in different dimensions of a 
> multidimensional characteristics space? Each operation 
> is then a point in such a space.
> 
> With this way of viewing the metadata, the tags define the 
> dimensions (security, atomicity) with the "core" being the 
> implict tag associated with the operations name. An operation's 
> name is a then projection onto the core dimension, whereas, 
> each metadata is projection onto the corresponding dimension.
> 
> 
>                    atomicity
>                       ^
>                       |         
>                       |       x        
>                       |         
>                       |  ("debit", "required", "authorization")
>                       |
>                       |
>                       +-------------> core
>                      /
>                     /
>                    /
>                   /
>                  /
>                 v
>            security
> 
> A nice thing about this view is each dimension is (by definition)
> orthogonal, so it wouldn't be possible to deduce one characteristics
> from another. There is no way to tell the security implication of
> debit() and credit() method by examining just the (core) name.
> 
> -Ramnivas
> 
> __________________________________
> Do you Yahoo!?
> Yahoo! SiteBuilder - Free, easy-to-use web site design software
> http://sitebuilder.yahoo.com
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> http://dev.eclipse.org/mailman/listinfo/aspectj-users
> 




Back to the top