From red@ccs.neu.edu Mon Jan 3 18:54:17 2000 Hi Red: here is your short version slightly edited. -- Karl Sustainable Software (keep the new title) Most applications have some features that cut across the modules that make up the software. These features increase the complexity of the software significantly, making the software harder to write, maintain, and evolve. We present here an approach to software, Aspect-Oriented Programming (AOP), that results in software that is both smaller and more generic, leading to looser coupling among the different parts of the software, and simpler initial development, maintenance, and evolution of the system. Adaptive Programming (AP) is a special case of AOP where some of the crosscutting is expressed using strategies to embed small graphs into large graphs. The talk will show how AOP and AP are used in modern technologies, such as XML, UML, and EJB.