Title: Sustainable Software Speaker: Karl Lieberherr, College of Computer Science, Northeastern University Most applications have some features (design patterns, complex behaviors, synchronization policies, resource sharing, distribution concerns, performance optimizations, etc.) 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 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 (sustainable software). Our approach to AOP is based on collaborations and adapters where collaborations express generic features that cut across module boundaries and adapters map the generic collaborations to specific multi-module contexts. Adaptive Programming (AP) is used in adapters to robustly express a frequent form of crosscutting. We compare the collaboration-adapter approach with the AspectJ approach from Xerox and the Hyper/J approach from IBM. We conclude by summarizing the Demeter Tools (Demeter/Java, DJ and the AP Library) that are currently available to realize important features of sustainable software.