To: sjh@cs.brown.edu Subject: abstract Cc: sk@cs.brown.edu Hi Susan: enclosed is an abstract that fits better. -- Karl Title: Better Separation of Crosscutting Concerns with Aspectual Components Speaker: Prof. Karl Lieberherr phone: (617) 373 2077 (office) Northeastern University fax: (617) 373 5121 College of Computer Science 161 Cullinane Hall Boston, MA 02115-9959 My home page: http://www.ccs.neu.edu/home/lieber Abstract: Proper separation of concerns is still an interesting topic in software development and in this talk we focus on traversal-related concerns and how to encapsulate them as reusable components. Traversal related concerns involve a group of connected objects that we traverse and manipulate to implement a behavior. Traversal-related concerns cut across multiple classes and are very common. Following the ideas of Aspect-Oriented Programming (AOP), we would like to encapsulate a traversal-related concern into an aspect. Doing this in the straight-forward way leads to reduced scattering, but often results in an aspect that is tangled with accidental structural information. We notice a tradeoff between reducing scattering across classes and increasing tangling of structural information in the aspect. We find a fundamental improvement to this tradeoff by using ideas from non-deterministic finite automata theory to often reduce simultaneously both scattering and tangling. The well localized traversal-related aspects are conceptually aspectual components and can be simulated in plain Java using basically three classes from the Java package DJ. We explain the basics of DJ and how you can better structure your Java programs using ideas from Aspectual Components.