Course Readings

 

[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.

 

[Baker and Hsieh, 2002] Jason Baker and Wilson Hsieh, “Run-Time Aspect-Weaving Through Metaprogramming,” Proceedings of the 1st International Conference on Aspect-Oriented Software Development (AOSD 2002), Enschede, NL, April 2002.

 

[Bergmans and Aksit, 2001] Lodewijk Bergmans and Mehmet Aksit, “Composing Crosscutting Concerns using Composition Filters,” Communications of the ACM, October 2001, pp. 51-57.

 

[Chiba, 1995] Shigeru Chiba, “A Metaobject Protocol for C++,” Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), Austin, Texas, October 1995, pp. 285-299.

 

[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), Denver, Colorado, November 1999, pp. 325-339.

 

[Clarke and Walker, 2001] Siobhán Clarke and Robert J. Walker, “Composition Patterns: An Approach to Designing Reusable Aspects,” International Conference on Software Engineering (ICSE), Toronto, Ontario, Canada, May 2001, pp. 5-14.

 

[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.

 

[Filman and Friedman, 2000] Robert Filman and Dan Friedman, “Aspect-Oriented Programming is Quantification and Obliviousness,” OOPSLA Workshop on Advanced Separation of Concerns, Minneapolis, Minnesota, October 2000.

 

[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.

 

[Gray et al., 2001] Jeff Gray, Ted Bapty, Sandeep Neema, and James Tuck, “Handling Crosscutting Constraints in Domain-Specific Modeling,” Communications of the ACM, October 2001, pp. 87-93.

 

[Ho et al., 2002] Wai-Meng Ho, Jean-Marc Jezequel, Francois Pennaneac’h, and Noel Plouzeau, “A Toolkit for Weaving Aspect-Oriented UML Designs,” First International Conference on Aspect-Oriented Software Development, Enschede, The Netherlands, April 2002.

 

[Hobatr and Malloy, 2001] Chanika Hobatr and Brian Malloy, “The Design of an OCL Query-based Debugger for C++,” ACM Symposium on Applied Computing (SAC), March 11-14, 2001, Las Vegas, Nevada, pp. 658-662.

 

[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, Tampa, Florida, October 2001.

 

[Johnson, 1997] Ralph E. Johnson, “Frameworks = (Components + Patterns),” Communications of the ACM, October 1997, pp. 39-42.

 

[Karr et al., 2001] David Karr, Craig Rodrigues, Joseph Loyall, Richard Schantz, Yamuna Krishnamurthy, Irfan Pyarali, and Douglas Schmidt, “Application of the QuO Quality-of-Service Framework to a Distributed Video Application,” International Symposium on Distributed Objects and Applications, Rome, Italy, September 2001.

 

[Karsai, 1995] Gábor Karsai, “A Configurable Visual Programming Environment: A Tool for Domain-Specific Programming,” IEEE Computer, March 1995, pp. 36-44.

 

[Kiczales et al., 1993] Gregor Kiczales, J. Michael Ashley, Luis Rodriguez, Amin Vahdat, and Daniel G. Bobrow, “Metaobject Protocols: Why We Want Them and What Else Can They Do?” A. Paepcke, editor, Object-Oriented Programming: The CLOS Perspective, 1993, pp. 101-118.

 

[Kiczales, 1996] Gregor Kiczales, “Beyond the Black Box: Open Implementation,” IEEE Software, January 1996, pp. 8-11.

 

[Kiczales et al., 1997] Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Videira Lopes, Jean-Marc Loingtier, and John Irwin, “Aspect-Oriented Programming,” European Conference on Object-Oriented Programming (ECOOP), LNCS 1241, Springer-Verlag, Jyväskylä, Finland, June 1997, pp. 220-242.

 

[Kiczales et al., 2001a] 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.

 

[Kiczales et al., 2001b] Gregor Kiczales, Eric Hilsdale, Jim Hugunin, Mik Kersten, Jeffrey Palm, and William Griswold, “Getting Started with AspectJ,” Communications of the ACM, October 2001, pp. 59-65.

 

[Kniesel et al., 2001] Günter Kniesel, Pascal Costanza, Michael Austermann, “JMangler - A Framework for Load-Time Transformation of Java Class Files,” IEEE Workshop on Source Code Analysis and Manipulation (SCAM), November 2001.

 

[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). New York. April 3-7, 2000.

 

[Lédeczi et al., 2001] Ákos Lédeczi, Arpad Bakay, Miklos Maroti, Peter Volgyesi, Greg Nordstrom, Jonathan Sprinkle, and Gábor Karsai, “Composing Domain-Specific Design Environments,” IEEE Computer, November 2001, pp. 44-51.

 

[Lee and Zachary, 1995] Arthur H. Lee and Joseph L. Zachary, “Reflections on Metaprogramming,” IEEE Transactions on Software Engineering, November 1995, pp. 883-893.

 

[Liang and Bracha, 1998] Sheng Liang and Gilad Bracha, “Dynamic Class Loading in the Java Virtual Machine,” Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), Vancouver, B.C., Canada, October 1998, pp. 36-44.

 

[Lieberherr and Holland, 1989] Karl Lieberherr and Ian Holland, “Assuring Good Style for Object-Oriented Programs,” IEEE Software, September 1989, pp. 38-48.

 

[Lieberherr et al., 2001] Karl Lieberherr, Doug Orleans, and Johan Ovlinger, “Aspect-Oriented Programming with Adaptive Methods,” Communications of the ACM, October 2001, pp. 39-41.

 

[Lippert and Lopes, 2000] Martin Lippert and Cristina V. Lopes, “A Study on Exception Detection and Handling Using Aspect-Oriented Programming,” International Conference on Software Engineering (ICSE), Limmerick, Ireland, June 2000, pp. 418-427.

 

[Long et al., 1998] Earl Long, Amit Misra, and Janos Sztipanovits, “Increasing Productivity at Saturn,” IEEE Computer, August 1998, pp. 35-43.

 

[Loyall et al., 2002] Joseph Loyall, Rick Schantz, Michael Atighetchi, and Partha Pal, “Packaging Quality of Service Control Behaviors for Reuse,” 5th IEEE International Symposium on Object-Oriented Real-time Distributed Computing (ISORC), Washington, DC, April 29 - May 1, 2002.

 

[Maes, 1987] Pattie Maes, “Concepts and Experiments in Computational Reflection,” Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), Orlando, Florida, December 1987, pp. 147-155.

 

[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.

 

[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), Toronto, Ontario, Canada, May 2001, pp. 275-284.

 

[Nordstrom et al., 1999] Greg Nordstrom, Janos Sztipanovits, Gábor Karsai, and Ákos Lédeczi, “Metamodeling - Rapid Design and Evolution of Domain-Specific Modeling Environments,” International Conference on Engineering of Computer-Based Systems (ECBS), Nashville, Tennessee, April 1999, pp. 68-74.

 

[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.

 

[Ossher and Tarr, 2001] Harold Ossher and Peri Tarr, “Using Multidimensional Separation of Concerns to (Re)Shape Evolving Software,” Communications of the ACM, October 2001, pp. 43-50.

 

[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), Denver, Colorado, November 1999, pp. 70-81.

 

[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.

 

[Schmidt et al., 2001] Schmidt DC, Schantz RE, Masters MW, Cross JK, Sharp DC, DiPalma LP, “Toward Adaptive and Reflective Middleware for Network-Centric Combat Systems,” Crosstalk: The Journal of Defense Software Engineering, November 2001, pp. 10-16.

 

[Sharp, 1998] David Sharp, “Reducing Avionics Software Cost Through Component Based Product-Line Development,” Software Technology Conference, Salt Lake City, Utah, April 1998.

 

[Simonyi, 1996] Charles Simonyi, “Intentional Programming: Innovation in the Legacy Age,” Presented at IFIP WG 2.1, June 1996.

 

[Smith, 1984] Brian Cantwell Smith, “Reflection and Semantics in Lisp,” Annual Symposium on Principles of Programming Languages, Salt Lake City, Utah, 1984, pp. 23-35.

 

[Sztipanovits and Karsai, 1997] Janos Sztipanovits and Gábor Karsai, “Model-Integrated Computing,” IEEE Computer, April 1997, pp. 10-12.

 

[Sztipanovits et al., 1998] Janos Sztipanovits, Gábor Karsai, and Ted Bapty, “Self-Adaptive Software for Signal Processing,” Comunications of the ACM, May 1998, pp. 66-73.

 

[Tarr et al., 1999] Peri Tarr, Harold Ossher, William Harrison, and Stanley Sutton, “N Degrees of Separation: Multi-Dimensional Separation of Concerns,” International Conference on Software Engineering (ICSE), Los Angeles, California, May 1999, pp. 107-119.

 

[Tatsubori et al., 2000] Tatsubori, M., S. Chiba, M.-O. Killijian, and K. Itano, "OpenJava: A Class-based Macro System for Java," in Reflection and Software Engineering (W. Cazzola, R. J. Stroud, and F. Tisato, eds.), LNCS 1826, Springer Verlag, 2000.

 

[Veldhuizen, 1995] Todd Veldhuizen, "Using C++ template metaprograms," C++ Report Vol. 7 No. 4 (May 1995), pp. 36-43.

 

[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), Los Angeles, California, May 1999, pp. 120-130.

 

[Wang et al., 2000] Nanbor Wang, Douglas C. Schmidt, Ossama Othman, and Kirthika Parameswaran, “Evaluating Meta-Programming Mechanisms for ORB Middleware,” IEEE Communication Magazine, special issue on Evolving Communications Software: Techniques and Technologies (Bill Opdyke and Algirdas Pakstas, eds.), October 2000.