SDACM Logo  
  San Diego Professional Chapter Association for Computing Machinery
Meetings
Past Meetings
Mailing List
Join ACM
Professional Development
Career Task Force
Jobs
Related Orgs
Membership Policy
Officers

 

Past Meeting - March 17, 2005Meetings Picture

Aspect Oriented Programming with AspectJ and AspectBrowser

Thursday, March 17, 2005

Abstract

Aspect-oriented programming (AOP) has been proposed as a technique for improving separation of concerns in software. AOP does for concerns that are naturally crosscutting what OOP did for concerns that are naturally hierarchical -- it provides language and tool support that allows crosscutting structure to be explicit, clear and composable. This makes it possible to program crosscutting aspects in a modular way. Once they are well modularized, all the usual benefits of better modularity apply: including code that is easier to design, develop, maintain and reuse.

In this talk Dr. Griswold will present the fundamental ideas of AOP. He will first present the AspectJ extension to the Java programming language, and give a status report on its adoption. He will then describe Aspect Browser, a tool that employs the map metaphor to help programmers reason about and manipulate crosscutting concerns in their existing code. Such a tool can be used to maintain aspects in their extant form, or help programmers evolve their code into a more explicit AOP form as permitted by AspectJ.

 

Presenter Bio

William Griswold is a Professor in the Department of Computer Science and Engineering at the University of California, San Diego. He received his Ph.D. in Computer Science from the University of Washington in 1991, and his BA in Mathematics from the University of Arizona in 1985. He is Program Co-Chair for the upcoming 2005 International Conference on Software Engineering, and recently chaired the 2nd International Conference on Aspect Oriented Software Development. He is a principal of the UCSD division of Cal-(IT)2, the UCSD/UCI California Institute for Telecommunications and Information Technology. His research interests include aspect oriented programming, ubiquitous computing, educational technology, software evolution and design, and software tools.