|
ABSTRACT
Aspect-oriented programming is considered a promising new technology. As object-oriented programming did before, it is beginning to pervade all areas of software engineering. With its growing popularity, practitioners and academics alike are wondering whether they should start looking into it, or otherwise risk having missed an important development. The author of this essay finds that much of aspect-oriented programming's success seems to be based on the conception that it improves both modularity and the structure of code, while in fact, it works against the primary purposes of the two, namely independent development and understandability of programs. Not seeing any way of fixing this situation, he thinks the success of aspect-oriented programming to be paradoxical.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Aldrich, J.: Open Modules: Reconciling extensibility and information hiding. In: Software Engineering Properties of Languages for Aspect Technologies (SPLAT). Workshop at AOSD (2004).
|
| |
2
|
Aldrich, J.: Open Modules: Modular reasoning about advice. In: ECOOP (2005) 144--168.
|
 |
3
|
Chris Allan , Pavel Avgustinov , Aske Simon Christensen , Laurie Hendren , Sascha Kuzins , Ondřej Lhoták , Oege de Moor , Damien Sereni , Ganesh Sittampalam , Julian Tibble, Adding trace matching with free variables to AspectJ, Proceedings of the 20th annual ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications, October 16-20, 2005, San Diego, CA, USA
|
| |
4
|
Avgustinov, P. et al.: Semantics of Static Pointcuts in AspectJ. Technical Report abc-2006-3 (Oxford University Computing Laboratory, 2006).
|
| |
5
|
Bezdek, J. C.: Fuzzy models-what are they, and why. IEEE Transactions on Fuzzy Systems 1:1 (1993) 1--6.
|
| |
6
|
Bodden, E.: Efficient and expressive runtime verification for Java. In: Proceedings of the Grand finals of the ACM Student Research Competition 2005, San Francisco (2005).
|
| |
7
|
Bodden, E., Forster, F., Steimann, F.: Avoiding infinite recursion with stratified aspects. In: NODe 2006 -- Objects, Aspects, Services, the Web. GI Lecture Notes in Informatics (2006) in press.
|
| |
8
|
|
 |
9
|
|
| |
10
|
Clifton, C., Leavens, G. T.: Obliviousness, modular reasoning, and the behavioral subtyping analogy. In: SPLAT (2003).
|
| |
11
|
Clifton, C., Leavens, G. T.: Observers and assistants: A proposal for modular aspect-oriented reasoning. In: Workshop on Foundations of Aspect-Oriented Languages (FOAL) (2002).
|
| |
12
|
Adrian Colyer , Rob Harrop , Rod Johnson , Alexandre Vasseur , Danio Beuche , Cedric Beust, Point/Counterpoint, IEEE Software, v.23 n.1, p.72-75, January 2006
[doi> 10.1109/MS.2006.26]
|
| |
13
|
Constantinides, C., Scotinides, T., Störzer, M.: AOP considered harmful. In: 1st European Interactive Workshop on Aspect Systems (EIWAS) (2004).
|
 |
14
|
|
| |
15
|
Premkumar Devanbu , Bob Balzer , Don Batory , Gregor Kiczales , John Launchbury , David Parnas , Peri Tarr, Modularity in the new millenium: a panel summary, Proceedings of the 25th International Conference on Software Engineering, May 03-10, 2003, Portland, Oregon
|
| |
16
|
|
| |
17
|
Dijkstra, E. W.: On the role of scientific thought. In: Edsger W. Dijkstra: Selected Writings on Computing: A Personal Perspective. (Springer-Verlag 1982).
|
| |
18
|
|
| |
19
|
|
 |
20
|
|
| |
21
|
Ernst, E.: Separation of concerns and then what? In: Position papers from the workshop on Aspects and Dimensions of Concern at ECOOP'00 (2000).
|
| |
22
|
Filman, R. E., Elrad, T., Clarke, S., Aksit, M.: Aspect-Oriented Software Development. (Addison-Wesley Professional, 2004).
|
| |
23
|
Filman, R. E., Friedman, D. P.: Aspect-oriented programming is quantification and obliviousness. In: Workshop on Advanced Separation of Concerns at OOPSLA (2000). Revised reprint appeared in {22}.
|
| |
24
|
Filman, R. E.: What is AOP, revisited. In: Workshop on Multi-Dimensional Separation of Concerns at ECOOP (2001).
|
| |
25
|
Forster, F., Steimann, F.: AOP and the antinomy of the liar. In: Workshop on the Foundations of Aspect-Oriented Languages (FOAL) at AOSD (2006) 47--56.
|
| |
26
|
|
| |
27
|
William G. Griswold , Kevin Sullivan , Yuanyuan Song , Macneil Shonle , Nishit Tewari , Yuanfang Cai , Hridesh Rajan, Modular Software Design with Crosscutting Interfaces, IEEE Software, v.23 n.1, p.51-60, January 2006
[doi> 10.1109/MS.2006.24]
|
| |
28
|
Gudmundson, S., Kiczales, G.: Addressing practical software development issues in AspectJ with a pointcut interface. In: Advanced Separation of Concerns, Workshop at ECOOP (2001).
|
 |
29
|
|
 |
30
|
William Harrison , Harold Ossher, Subject-oriented programming: a critique of pure objects, Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications, p.411-428, September 26-October 01, 1993, Washington, D.C., United States
|
 |
31
|
|
 |
32
|
|
 |
33
|
Gregor Kiczales , John Lamping , Christina Videira Lopes , Chris Maeda , Anurag Mendhekar , Gail Murphy, Open implementation design guidelines, Proceedings of the 19th international conference on Software engineering, p.481-490, May 17-23, 1997, Boston, Massachusetts, United States
[doi> 10.1145/253228.253431]
|
 |
34
|
|
| |
35
|
Kiczales, G., Mezini, M.: Separation of concerns with procedures, annotations, advice and pointcuts. In: ECOOP (2005) 195--213.
|
| |
36
|
|
| |
37
|
Klose, K., Ostermann, K.: Back to the future: pointcuts as predicates over traces. In: Workshop on Foundations of Aspect-Oriented Languages (FOAL) at AOSD (2005).
|
 |
38
|
|
| |
39
|
Laddad, R.: AOP and metadata: A perfect match. In: AOP@work (http://www-128.ibm.com/developerworks/java, 2005).
|
| |
40
|
Lesiecki, N.: Improve modularity with aspect-oriented programming (http://www-128.ibm.com/developerworks/java/library/j-aspectj/, 2002).
|
| |
41
|
Lieberherr, K. J., Lorenz, D. H., Ovlinger, J.: Aspectual collaborations: combining modules and aspects. The Computer Journal 46:5 (2003) 542--565.
|
 |
42
|
Cristina Videira Lopes , Paul Dourish , David H. Lorenz , Karl Lieberherr, Beyond AOP: toward naturalistic programming, Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, October 26-30, 2003, Anaheim, CA, USA
[doi> 10.1145/949344.949400]
|
| |
43
|
Lorenz, D. H., Skotiniotis, T.: Extending design by contract for aspect-oriented programming. http://arxiv.org/abs/cs.SE/0501070.
|
| |
44
|
Masuhara, H., Kiczales, G.: Modeling crosscutting in aspect-oriented mechanisms. In: ECOOP (2003) 2--28.
|
| |
45
|
Mehner, K., Rashid, A.: Towards a generic model for AOP (GEMA). Technical Report CSEG/1/03, Computing Department, Lancaster University, UK (2003).
|
| |
46
|
|
| |
47
|
|
| |
48
|
Nagy, I., Bergmans, L.: Towards semantic composition in aspect-oriented programming. In: 1st European Interactive Workshop on Aspects in Software (EIWAS). (Berlin, Germany 2004).
|
| |
49
|
Nordberg, III., M. E.: Aspect-oriented dependency inversion. In: Workshop on Advanced Separation of Concerns in Object-Oriented Systems at OOPSLA (2001).
|
| |
50
|
|
| |
51
|
Ostermann, K., Mezini, M., Bockisch, C.: Expressive pointcuts for increased modularity. In: ECOOP (2005) 214--240.
|
 |
52
|
|
| |
53
|
Ovlinger, J.: Combining Aspects and Modules. PhD Thesis (College of Computer and Information Science, Northeastern University, Boston, USA 2004).
|
| |
54
|
Parnas, D. L.: Information distribution aspects of design methodology. In: Information Processing 71, Proceedings of the IFIP Congress 1 (North-Holland, 1972) 339--344.
|
 |
55
|
|
| |
56
|
|
 |
57
|
|
| |
58
|
Steele, Jr., G. L., Gabriel, R. P.: The Evolution of Lisp. http://dreamsongs.com/NewFiles/HOPL2-Uncut.pdf
|
| |
59
|
Steimann, F.: Why most domain models are aspect free. In: 5th Aspect-Oriented Modeling Workshop AOM at UML (2004); revised version appeared as Ref. {60}.
|
| |
60
|
Steimann, F.: Domain models are aspect free. In: MoDELS 2005, 8th International Conference on Model Driven Engineering Languages and Systems (2005) 171--185.
|
| |
61
|
|
| |
62
|
Stolz, V., Bodden, E.: Temporal assertions using AspectJ. In: RV'05 -- 5th Workshop on Runtime Verification (Edinburgh, Scotland, UK, 2005).
|
 |
63
|
Kevin Sullivan , William G. Griswold , Yuanyuan Song , Yuanfang Cai , Macneil Shonle , Nishit Tewari , Hridesh Rajan, Information hiding interfaces for aspect-oriented design, Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering, September 05-09, 2005, Lisbon, Portugal
|
| |
64
|
Tourwé, T., Brichau, J., Gybels, K.: On the existence of the AOSD-evolution paradox. In: Workshop on Software-Engineering Properties of Languages for Aspect Technologies (SPLAT). Workshop at AOSD (2003).
|
 |
65
|
|
 |
66
|
|
| |
67
|
Zhao, J., Rinard, M.C.: Pipa: A behavioral interface specification language for AspectJ. In: Fundamental Approaches to Software Engineering, 6th International Conference (2003) 150--165.
|
CITED BY 10
|
|
|
|
|
|
|
|
Gary T. Leavens , Curtis Clifton, Multiple concerns in aspect-oriented language design: a language engineering approach to balancing benefits, with examples, Proceedings of the 5th workshop on Engineering properties of languages and aspect technologies, p.6-es, March 12-16, 2007, Vancouver, British Columbia, Canada
|
|
|
Martin Kuhlemann , Marko Rosenmüller , Sven Apel , Thomas Leich, On the duality of aspect-oriented and feature-oriented design patterns, Proceedings of the 6th workshop on Aspects, components, and patterns for infrastructure software, p.5-es, March 12-16, 2007, Vancouver, British Columbia, Canada
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Nikhil Kumar , Dinakar Sosale , Sadhana Nivedita Konuganti , Ajay Rathi, Enabling the adoption of aspects - testing aspects: a risk model, fault model and patterns, Proceedings of the 8th ACM international conference on Aspect-oriented software development, March 02-06, 2009, Charlottesville, Virginia, USA
|
|
|
Christian Kastner , Thomas Thum , Gunter Saake , Janet Feigenspan , Thomas Leich , Fabian Wielgorz , Sven Apel, FeatureIDE: A tool framework for feature-oriented software development, Proceedings of the 2009 IEEE 31st International Conference on Software Engineering, p.611-614, May 16-24, 2009
|
|