Dear Professor Westlund: I am one of the fathers of Aspect-Oriented Software Development and I happen to be in Vasteras and available for a talk on late Thursday afternoon and on Friday afternoon. Enclosed are title and abstract. Sorry for the short notice. I have to visit ABB on Friday morning. Please let me know whether you are interested in a talk. ABB pays for my expenses. Please suggest the best time for your department. Best regards, -- Karl ----- Using Aspect-Oriented Programming for Debugging, Instrumenting and Architecture-Enforcing Karl Lieberherr Northeastern University, Boston, Massachusetts Abstract: Many concerns that programmers need to deal with cannot be well localized using the modularity mechanisms of established programming languages. Aspect-Oriented Programming (AOP) adds new modularity mechanisms that allow for good localization of crosscutting concerns. This talk explains the concepts of Aspect-Oriented Programming and applies them to working with Java programs using the programming language AspectJ. The focus is not on writing new functionality in AspectJ but on how to develop better Java programs using AspectJ. We are adding new capabilities to AspectJ to facilitate expression of traversal-related concerns in the style of Demeter and those capabilities are useful for debugging. For debugging, instrumenting and architecture-enforcing, AspectJ can be used today in commercial projects because the production code will not contain code written in a relatively new language. AspectJ is only used for speeding software development by providing simple facilities for inspecting, debugging and instrumenting objects and to enforce software architecture. Once AspectJ is mastered at this level, it will be easy to use it also for production code.