[aosd-discuss] AOSD terminology
Mik Kersten
beatmik at cs.ubc.ca
Wed Nov 17 12:13:22 EST 2004
I agree, and share your concerns. In addition, there are repercussions for
industry adoption. AOSD is now on IT manager's radars, and as a community
we are probably not being consistent enough in our terminology to make their
life easy. Notably we have been clear with the term "crosscutting", which
is used correctly in the AOSD section of the latest Gartner Application
Development Hype Cycle report. Perhaps they will soon learn the difference
between scattering and tangling :)
On the up-side the terminology is annealing in a bottom-up fashion. The AOP
implementations with active user communities (e.g. AspectJ, AspectWerkz,
JBoss AOP, and Spring) have all converged on their use of join points,
pointcuts and advice. Those terms might not make everyone happy, but at
least they do the essential work of giving developers a vocabulary to work
with.
Mik
--
http://kerstens.org/mik
> -----Original Message-----
> From: discuss-bounces at aosd.net [mailto:discuss-bounces at aosd.net] On Behalf
> Of Jörg Kienzle
> Sent: Wednesday, November 17, 2004 6:41 AM
> To: 'AOSD'
> Subject: [aosd-discuss] AOSD terminology
>
>
> Hi,
>
> It was very interesting for me to follow the "Is 'advice' adequate?"
> and "Is 'aspect' adequate?" discussion earlier this week. I would like
> to raise an even more fundamental issue here, namely the one of AOSD
> terminology in general.
>
> I believe that it is important for the AOSD community to settle on a
> common terminology in a near future. When the founders of AOP created
> the AOSD series of conferences (Aspect-Oriented Software Development),
> they surely thought about a future in which aspect-oriented ideas span
> the entire software development cycle. Obviously this is starting to
> happen; the "early aspects" and "aspect-oriented modeling" workshops
> are good examples of this.
>
> Unfortunately, however, the different research groups can not (or don't
> want to) agree on a common vocuabulary. At the last aspect-oriented
> modeling workshop at the UML 2004 conference, for example, I tried, as
> one of the organizers, to have the attendees agree on using terms like
> "weaving" or "join points" also at the model level (and not only at the
> programming language level). There was a heavy resistance against this
> idea; some people argued that "composition" is just as good a word as
> weaving, and that we've been doing composition for more than 20 years
> already; "Join point" is too "AspectJ"-oriented and "composition
> points" sound more neutral, etc.
>
> Of course I don't think the idea is to "hide" the research that has
> been done in composition, on the contrary! Aspect-oriented modeling
> should build on these ideas. But I do think that it is important to use
> a common AO terminology throughout the software development cycle. We
> should talk about weaving of models, just as we talk about weaving of
> code. Join points exist at the model level just like they exist at the
> code level. Of course, the meaning of "aspect", "weaving" and "join
> point" is slightly different at each level! And there is not
> necessarily a mapping of, lets say, a "model level join point" to a
> "programming language level join point" (just like requirement-level
> aspects might not me implemented as programming-level aspects).
>
> I think what we should strive for is a flexible definition of these
> terms, just like for instance the word "object" is flexible in
> object-oriented software development. An analysis-level object is not a
> programming language-level object! Sometimes objects coming from
> analysis are implemented as objects at the program-level, but sometimes
> one analysis object might be implemented as a set of programming
> language-level objects, or sometimes even an analysis object might be
> mapped to an attribute, or then again disappear completely...
>
> To sum up, I really think a common terminology for AOSD following the
> above ideas would be of great value for the community. In addition to
> making communication among us easier, such a terminology would also be
> a big step in the direction of making aspect-orientation span the
> entire software development cycle. A common terminology will make our
> ideas more convincing to the outside!
>
> I would appreciate your comments on this, especially from people that
> think it is too early to try and settle on a common terminology.
>
> Regards,
>
> - Jörg
>
> Jörg Kienzle
> School of Computer Science, McGill University, Montreal, Canada
> phone: ++1(514)398-2049
> email: Joerg.Kienzle at mcgill.ca
> www: http://www.cs.mcgill.ca/~joerg/
>
> __________________________________________________
> AOSD Discuss mailing list - discuss at aosd.net
> To unsubscribe go to http://aosd.net
More information about the discuss
mailing list