Talk:Aspect-oriented software development

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

Missing figures[edit]

Figure 4 is missing. Keybounce (talk) 20:46, 1 October 2008 (UTC)[reply]

Figure 5 is missing too. There is a jump from Figure 3 to Figure 6. —Preceding unsigned comment added by 193.136.122.19 (talk) 15:00, 26 July 2009 (UTC)[reply]

Figures 1, 2 are also missing.

Move various items not belonging in main space to back matter[edit]

Discussion[edit]

Fragile Pointcuts[edit]

Coupling between Aspect and Base Modules[edit]

Aspect-Orientation in the Software Development Life cycle[edit]

Aspect Mining and Refactoring[edit]

Testing of Aspect-Oriented Programs[edit]

Maintenance of Aspect-Oriented Programs and Refactoring[edit]

Applications of Aspect-Oriented Software Development[edit]

Technological Neutrality[edit]

Since AOSD is an umbrella term for a variety of ways of realizing similar solutions to the problems of scattering and tangling introduced by the cross-cutting of concerns, it is important to try to describe concepts etc. in the most inclusive terms practical. Recognizing that there are deep differences among approaches that will show throug in terminology, we should also recognize that the lack of a sufficiently agreed terminology provides difficulty.

I would make a few suggestions:

  • use the term "approach" instead of "language". Not all aspect-oriented support requires building specialized languages, and some may work with respect to aspects written in non-aspect-oriented languages
  • try to avoid "crosscutting concern" when "concern" will do. A single concern is not really crosscutting, and whether concerns cut across one another may depend on which ones are used in building a system.
  • try to deal sensitively with the symmetric vs. asymmetric issue. This issue is fundamentally about whether a system is thought of as specially designated "base" concern into whose execution the aspects are woven or whether all concerns are treated in the same fashion and whose aspects are all also bases that are woven together.
  • be aware that the concept originally called 'join point' was redefined for some approaches and that a subsequent need for the original meaning caused the term 'join point shadow' to be coined. A phrase like "point in the execution of the program" is more inclusive than "execution of a point in the program".

However, coming up with a completely inclusive description that encompasses the already published literature is not always easy. Likewise, creating a restrictive description and terminology may merely drive away software developers and users who can not see their work as fitting into that description. If you can find ways to rework some of the remaining non-neutral material, I believe it would be to the benefit of all.CSProfBill (talk) 10:25, 16 September 2009 (UTC)[reply]

Quantification and obliviousness[edit]

The page says that "The best known definition of the nature of AOSD is due to Filman and Friedman". I would argue this is incorrect, and thankfully so. Google Scholar shows 588 citations for quantification and obliviousness. By contrast it shows 6498 for the Aspect-Oriented Programming paper by Kiczales Lamping, Mendhekar, Maeda, Lopes, Loingtier, and Irwin. The second number is muddled a bit with citations for the patent, but even 1/2 of 6498 is well over 588.

This is fortunate, because the quantification and obliviousness never been a good intellectual grounding for AOP. At best it explains pointcuts and advice, which is one of the two join-point models in AspectJ. It never explained the other half of AspectJ, or RG, AML, Hyper/J, Demeter traversals and so on.

I propose to entirely strike this section and replace it by improving the material on join point models, which are the fundamental idea in all AOP systems. (Term originally due to Harrison, concept generalized later by Masuhara to make it support a wider range of systems.)

GregorKiczales (talk) 22:37, 17 February 2011 (UTC)[reply]

External links modified[edit]

Hello fellow Wikipedians,

I have just modified one external link on Aspect-oriented software development. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:

When you have finished reviewing my changes, please set the checked parameter below to true or failed to let others know (documentation at {{Sourcecheck}}).

This message was posted before February 2018. After February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than regular verification using the archive tool instructions below. Editors have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the RfC before doing mass systematic removals. This message is updated dynamically through the template {{source check}} (last update: 18 January 2022).

  • If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
  • If you found an error with any archives or the URLs themselves, you can fix them with this tool.

Cheers.—InternetArchiveBot (Report bug) 23:39, 19 October 2016 (UTC)[reply]

Deletion?[edit]

If I knew how, I would flag this article as generally unclear, partial gibberish, and in need of deletion or a re-write. Some diagrams have been deleted, and the one that remains is unreadable, even if you chase it back to its original. At one point this article claims that there are aspect-oriented languages available for several existing languages, which doesn't make any sense (imagine someone told you that there was French language for the English language). I came here with expertise in computer software and architecture hoping to gain a basic grasp of aspect-oriented software development, and came away from this article with less knowledge than when I started. This article certainly does not rise to the level of a summary written by an expert, but seems more like the remnants of disjointed edits. I am no Wikipedia expert, so apologies if this is in the wrong place/tone, etc, and I did mean to be direct, but not to offend. 24.8.2.141 (talk) 18:16, 14 November 2016 (UTC)[reply]

Redirect[edit]

This was a one huge chunk of original reasearch created in 2008 by a SPA Cotttho (talk · contribs) which underwent only cosmetic changes since then, despite being tagged. Therefore I redirected it to Aspect-oriented programming, because there is close to nothing to merge (i.e., with references which discuss the concept itself, rather than supporting subjects. Lembit Staan (talk) 18:10, 18 May 2021 (UTC)[reply]

Please leave this talk page as a record of an article which has been superseded by progress. --Ancheta Wis   (talk | contribs) 18:35, 18 May 2021 (UTC)[reply]