To: ChadwickMcHenry Subject: revised abstract Cc: lieber Hi Chad: here is the revised abstract. -- Karl Title: Sustainable Software Speaker: Professor Karl Lieberherr, Northeastern University, Boston http://www.ccs.neu.edu/home/lieber/ Date: January 10, 2000 Duration: 50 minutes Abstract: Software is very brittle for at least two reasons: first, many distinct concerns are tangled in one program and, second, the tangling of the concerns is intense, i.e., the concerns are thoroughly woven together. Most applications have some features (error-checking strategies, design patterns, collaborations, 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 software, Aspect-Oriented Programming (AOP), that results in software that is both smaller and more generic, leading to looser coupling among the different concerns and simpler initial development, maintenance, and evolution. Aspect-Oriented Programming has strong roots in the Demeter project in the College of Computer Science. Adaptive Programming (AP) is a special case of AOP where some of the crosscutting is expressed by succinctly embedding small graphs into large graphs. The succinctness loosens the intense tangling between the concerns. The talk will show how AP can be used to control the crosscutting between structure and behavior in the context of XML (Extensible Markup Language) and XPath (the XML Path language, the traversal language for XML) and also in the context of UML collaborations and the Visitor design pattern. Examples will use XML and Java notation.