Other Books/Papers of Interest
[Aksit
et al., 1992] Mehmet Aksit,
Lodewijk Bergmans, and S. Vural, “An Object-Oriented Language-Database Integration
Model: The Composition Filters Approach,” European Conference on
Object-Oriented Programming (ECOOP), LNCS 615, Springer-Verlag,
[Aßmann, 2003] Uwe
Aßmann, Invasive
Software Composition, Springer-Verlag, 2003.
[Astley et al., 2001] Mark Astley, Daniel Sturman, and Gul Agha, “Customizable Middleware for Modular Distributed Software,” Communications of the ACM, May 2001, pp. 99-107.
[Batory and Geraci, 1997] Don Batory and Bart J. Geraci, “Composition Validation and Subjectivity in GenVoca Generators,” IEEE Transactions on Software Engineering, February 1997, pp. 67-82.
[Batory
et al., 1998] Don Batory, Bernie Lofaso,
and Yannis Smaragdakis, “JTS: Tools for Implementing Domain-Specific
Languages,” Fifth International Conference on Software
[Bergmans
and Aksit, 2001] Lodewijk Bergmans and Mehmet Aksit, “Composing Crosscutting Concerns using Composition
Filters,” Communications of the ACM,
October 2001, pp. 51-57.
[Bobrow et al., 1993] Daniel G. Bobrow, Richard Gabriel, and Jon L. White, “CLOS in Context: The Shape of the Design Space,” A. Paepcke, editor, Object-Oriented Programming: The CLOS Perspective, 1993, pp. 29-61.
[Booch et al., 1998] Grady Booch, Ivar Jacobson, James Rumbaugh, The Unified Modeling Language User Guide, Addison-Wesley, 1998.
[Booch, 2001] Grady Booch, “Through the Looking Glass,” Software Development Magazine, July 2001, pp. 49-51.
[Cardone,
1999] Richard Cardone, “On the
Relationship of Aspect-Oriented Programming and GenVoca,”
Workshop on Institutionalizing Software Reuse,
[Chavez and de Lucena, 2001] Christina von Flach G. Chavez and Carlos J. P. de Lucena,
“Design-level Support for Aspect-Oriented Software Development,” OOPSLA
Workshop on Advanced Separation of Concerns,
[
[Clarke et al., 1999] Siobhán Clarke, William Harrison, Harold Ossher, and Peri Tarr, “Subject-Oriented Design: Towards
Improved Alignment of Requirements, Design, and Code,” Object-Oriented
Programming, Systems, Languages, and Applications (OOPSLA),
[Clarke, 2002] Siobhán Clarke, “Extending Standard UML with Model
Composition Semantics,” Science of Computer Programming,
May 2002.
[Clavel, 2000] Manuel Clavel, Reflection in Rewriting Logic: Metalogical Foundations and Metaprogramming Applications, CSLI Publications, 2000.
[Coady et al., 2001a] Yvonne Coady, Gregor Kiczales, Mike Feeley, and Greg Smolyn, “Using AspectC to Improve the Modularity of Path-Specific Customization in Operating System Code,” Proceedings of the Joint European Software Engineering Conference (ESEC) and 9th ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE-9), Vienna, Austria, September 2001, pp. 78-88.
[Coady et al., 2001b] Yvonne Coady, Gregor Kiczales, Mike Feeley, Norm Hutchinson, and Joon Suan Ong, “Structuring Operating System Aspects,” Communications of the ACM, October 2001, pp. 79-82.
[Constantinides et al., 2000] Constantinos Constantinides, Atef Bader, Tzilla Elrad, P. Netinant, and Mohamed Fayad, “Designing an Aspect-Oriented Framework in an Object-Oriented Environment,” ACM Computing Surveys, March 2000.
[Craig, 2000] Iain Craig, The Interpretation of Object-Oriented Programming Languages, Springer-Verlag, 2000.
[Czarnecki and Eisenecker, 2000] Krzysztof Czarnecki and Ulrich Eiseneker, Generative Programming: Methods, Tools, and Applications, Addison-Wesley, 2000.
[de Moor et al., 1999] Oege de Moor, Simon Peyton-Jones, and Eric Van Wyk, “Aspect-Oriented Compilers,” In First International Symposium on Generative and Component-Based Software Engineering, Erfurt, Germany, September 1999, pp. 121-133.
[De Volder
and D’Hondt, 1999] Kris De Volder
and Theo D’Hondt, “Aspect-Oriented Logic
[Elrad et al., 2001] Tzilla Elrad, Mehmet Aksit, Gregor Kiczales, Karl Lieberherr, and Harold Ossher, “Discussing Aspects of AOP,” Communications of the ACM, October 2001, pp. 33-38.
[Fayad et al., 1999] Mohamed Fayad, Douglas Schmidt, and Ralph Johnson, Building Application Frameworks: Object-Oriented Foundations of Framework Design, John Wiley and Sons, 1999.
[Filman, 2001] Robert Filman, “What is
Aspect-Oriented Programming, Revisited,” ICSE Workshop on Advanced
Separation of Concerns,
[Filman et al., 2002] Robert Fillman, Stuart Barrett, Diana Lee, and Ted Linden, “Inserting Ilities by Controlling Communications,” Communications of the ACM, January 2002, pp. 116-122.
[Forman and Danforth, 1999] Ira R. Forman and Scott H. Danforth, Putting Metaclasses to Work, Addison-Wesley, 1999.
[Griswold et al., 2001] William
G. Griswold, Jimmy J. Yuan, and Yoshikiyo Kato,
“Exploiting the Map Metaphor in a Tool for Software Evolution,” International
Conference on Software Engineering (ICSE),
[Grosso, 2002] William Grosso, “Aspect-Oriented Programming and AspectJ,” Dr. Dobb’s Journal, August 2002.
[Grundy, 2000] John Grundy, “Multi-Perspective Specification, Design and Implementation of Software Components Using Aspects,” International Journal of Software and Knowledge Engineering, December 2000, pp. 713-734.
[Hannemann
and Kiczales, 2001] Jan Hannemann
and Gregor Kiczales,
“Overcoming the Prevalent Decomposition in Legacy Code,” ICSE Workshop on
Advanced Separation of Concerns,
[Harrison and Ossher,
1990] William Harrison and Harold Ossher, “Subdivided
Procedures: A Language Extension Supporting Extensible Programming,” International Conference on Computer
Languages,
[Harrison et al., 1997] Timothy
Harrison, David Levine, and
[Hoftstadter, 1979] Douglas R. Hofstadter, Gödel, Escher, Bach,
Random House, 1979.
[Hunleth
et al., 2001] Frank Hunleth, Ron
Cytron, and Chris Gill, “Building Customized Middleware Using Aspect-Oriented
Programming,” OOPSLA Workshop on Advanced Separation of Concerns,
[Johnson, 1997] Ralph E. Johnson, “Frameworks = (Components + Patterns),” Communications of the ACM, October 1997, pp. 39-42.
[Karsai and Gray, 2000] Gábor Karsai and
[Katz and Gil, 1999] Shmuel Katz and Joseph Gil, “Aspects and Superimpositions,”
ECOOP Workshop on Aspect-Oriented
Programming,
[Kersten
and Murphy, 1999] Mik Kersten
and Gail C. Murphy, “Atlas: A Case Study in Building a Web-based Learning
Environment Using Aspect-Oriented Programming,” Object-Oriented Programming,
Systems, Languages, and Applications (OOPSLA),
[Kiczales et al., 1991] Gregor Kiczales, Jim des Rivières, and Daniel G. Bobrow, The Art of the Metaobject Protocol, MIT Press, 1991.
[Kiczales,
1992] Gregor Kiczales,
“Towards a New Model of Abstraction in the Engineering of Software,” Proceedings
of the International Workshop on New Models for Software Architectures (IMSA):
Reflection and Metalevel Architecture,
[Kiczales et al., 1992] Gregor Kiczales, John Lamping, Luis H. Rodriguez Jr., and Erik Ruf, “Macros that Reach Out and Touch Somewhere,” Internal Technical Report, Embedded Computation Area, Xerox PARC, 1992.
[Kiczales et al., 2001] Gregor Kiczales, Eric Hilsdale, Jim Hugunin, Mik Kersten, Jeffrey Palm, and William Griswold, “An Overview of AspectJ,” European Conference on Object-Oriented Programming (ECOOP), LNCS 2072, Springer-Verlag, Budapest, Hungary, June 2001, pp. 327-353.
[Kon et
al., 2000] Fabio Kon, Manuel Román,
Ping Liu, Jina Mao, Tomonori Yamane, Luiz Claudio Magalhães, and Roy
H. Campbell, “Monitoring, Security, and Dynamic Configuration with the dynamicTAO Reflective ORB,” IFIP/ACM International
Conference on Distributed Systems Platforms and Open Distributed Processing
(Middleware'2000).
[Laddad,
2002] Ramnivas Laddad, “I
Want My AOP! Parts1-3,” Java World, January through April, 2002, (http://www.javaworld.com/javaworld/jw-01-2002/jw-0118-aspect.html)
[Lee and Zachary, 1995] Arthur H. Lee and Joseph L. Zachary, “Reflections on Metaprogramming,” IEEE Transactions on Software Engineering, November 1995, pp. 883-893.
[Lesiecki,
2002] Nicholas Lesieki, “Test Flexibly with AspectJ and Mock Objects,” IBM DeveloperWorks,
(http://www-106.ibm.com/developerworks/java/library/j-aspectj2/?open&l=007,t=gr)
[Lieberherr, 1996] Karl Lieberherr, Adaptive Object-Oriented Software, International Thomson Publishing, 1996.
[Lieberherr
and
[Lopes, 1997]
Cristina Lopes, D: A Language Framework for Distributed Programming,
Ph.D. Dissertation,
[Milicev, 2002] Dragan Milicev, “Automatic Model Transformation Using Extended UML Object Diagrams in Modeling Environments,” IEEE Transactions on Software Engineering, April 2002, pp. 413-430.
[Milicev, 2002] Dragan Milicev, “Domain Mapping Using Extended UML Object Diagrams,” IEEE Software, March 2002, pp. 90-97.
[Murphy et al., 1999] Gail C. Murphy, Robert J. Walker, and Elisa L.A. Baniassad, “Evaluating Emerging Software Development Technologies: Lessons Learned from Assessing Aspect-Oriented Programming,” IEEE Transactions on Software Engineering, July/August 1999, pp. 438-455.
[Murphy et al.,
2001] Gail C. Murphy, Albert Lai, Robert
J. Walker, and Martin P. Robillard, “Separating
Features in Source Code: An Exploratory Study,” International Conference on
Software Engineering (ICSE),
[Nelson et al., 2001] Torsten Nelson, Donald Cowan, and Paulo Alencar, “Supporting Formal Verification of Crosscutting Concerns,” Reflection 2001: The Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns, LNCS 2192, Springer-Verlag, Kyoto, Japan, September 2001, pp. 153-169.
[Nordberg,
2001] Martin Nordberg, “Aspect-Oriented Dependency Inversion,” OOPSLA
Workshop on Advanced Separation of Concerns,
[Ossher et al., 1996] Harold Ossher, Matthew Kaplan, A. Katz, William Harrison, and Vincent Kruskal, “Specifying Subject-Oriented Composition,” Theory and Practice of Object Systems, vol. 2(3), 1996, pp. 179-202.
[Ovlinger and Wand, 1999] Johan Ovlinger and Mitchell Wand, “A Language for Specifying
Recursive Traversals of Object Structures,” Object-Oriented Programming,
Systems, Languages, and Applications (OOPSLA),
[Parnas, 1972] David Parnas, “On the Criteria To Be Used in Decomposing Systems into Modules,” Communications of the ACM, December 1972, pp. 1053-1058.
[Pohjonen and Kelly, 2002] Risto Pohjonen and Steve Kelly, “Domain-Specific Modeling,” Dr. Dobb’s Journal, August 2002.
[Rashid, 2001] Awais Rashid, “A Hybrid Approach to Separation of Concerns: The Story of SADES,” Reflection 2001: The Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns, LNCS 2192, Springer-Verlag, Kyoto, Japan, September 2001, pp. 231-249.
[Robillard and Murphy, 2002] Martin Robillard
and Gail Murphy, “Concern Graphs: Finding and Describing Concerns Using
Structural Program Dependencies,” International Conference on Software
Engineering (ICSE),
[Schonger et al., 2002] Stefan Schonger,
Elke Pulvermueller, and
Stefan Sarstedt, “Aspect-Oriented Programming and
Component Weaving: Using XML Representations of Abstract Syntax Trees,” Second German Workshop on Aspect-Oriented
Software Development,
[Shukla et al., 2002] Dharma Shukla, Simon Fell, and Chris Sells, “Aspect-Oriented Programming Enables Better Code Encapsulation and Reuse,” MSDN Magazine, March 2002, pp. 60-68.
[Sobel and Friedman, 1996] Jonathan M. Sobel
and Daniel P. Friedman, “An Introduction to Reflection-Oriented Programming,” Reflection
‘96,
[Sullivan, 2001]
Gregory T. Sullivan, “Aspect-Oriented Programming using
Reflection and Metaobject Protocols,” Communications of the ACM, October 2001,
pp. 95-97.
[Tristram, 2001] Claire Tristram, “The Technology Review Ten: Untangling Code,” MIT Technology Review, January 2001.
[Viega and Voas, 2000] John Viega and Jeffrey Voas, “Can Aspect-Oriented Programming Lead to More Reliable Software?” IEEE Software, November/December 2000, pp. 19-21.
[Walker et al.,
1999] Robert J. Walker, Elisa L.A. Baniassad, and
Gail C Murphy, “An Initial Assessment of Aspect-Oriented Programming,” International
Conference on Software Engineering (ICSE),
[Zhang and
Jacobsen, 2003] Charles Zhang, Hans-Arno.
Jacobsen, “Quantifying Aspects in Middleware Platforms,” Proceedings of the International Conference on Aspect-Oriented Software
Development,
Other Related Resources
The following is just an initial sample of related resources. Please check the course web site frequently for updates to this list.
Web Sites
All things
Aspect-Oriented
Note: Our library has several books on AspectJ.
http://www.research.ibm.com/hyperspace/HyperJ/HyperJ.htm
http://www.ccs.neu.edu/research/demeter/DJ/
Reflection
http://java.sun.com/docs/books/tutorial/reflect/
http://cliki.tunes.org/Methods%20of%20Reflection
http://www.csg.is.titech.ac.jp/~chiba/openc++.html
Model-Integrated
Computing
http://www.isis.vanderbilt.edu
Adaptive Reflective
Middleware
http://www.comp.lancs.ac.uk/computing/research/mpg/reflection/
http://dsonline.computer.org/middleware/index.htm
http://choices.cs.uiuc.edu/2k/dynamicTAO
Java Virtual Machine/Bytecode Information
http://java.sun.com/docs/books/vmspec/2nd-edition/html/VMSpecTOC.doc.html
http://jakarta.apache.org/bcel/
Related Conferences
http://www.cis.uab.edu/info/HICSS-AESS/
http://www.openjit.org/reflection2001/
http://www.csg.is.titech.ac.jp/~chiba/reflection.html
http://www.comp.lancs.ac.uk/computing/rm2000/