| |
ECOOP /
Tutorial 11
Aspect-Oriented and Meta-Programming with AspectJ
| Topic | AOP, Meta-programming, AspectJ, Java technologies
|
| Goal | You will leave this tutorial with an understanding of AOP and AspectJ, AspectJ as a meta-programming language, its use in practical cases, and its use as a tool.
|
| Style | presentation + discussion + demonstration + exercise
|
Abstract
Aspect-oriented programming (AOP) is an elegant, powerful, and important new paradigm and technology that enhances traditional OOP. Most people who attend this seminar leave saying something like “Wow, that’s very cool!”
AOP is an intriguing approach to development, falling broadly within meta-programming and generative programming techniques. And with AspectJ, it has matured into a practical tool ready for production Java™ technology systems. AspectJ is a free, seamless AOP extension to Java. It can be used to cleanly modularize crosscutting concerns such as exception handling, logging, persistence, and event notification.
You will leave this tutorial with an understanding of AOP and AspectJ, AspectJ as a meta-programming language, and its use as a tool. It includes many examples for Java applications, from simple to complex, including logging, event notification, mock objects for testing, and persistence. You will do hands-on experiments for concrete AOP learning, and knowledge of using AspectJ in the popular Java IDE, Eclipse.
Participants wishing to do the short hands-on exercises (we only have a ½ day for the entire tutorial) should bring a laptop installed with AspectJ, Eclipse, and the Eclipse AspectJ plug-in.
Topics include
- Hello World with AspectJ
- Background
- Motivation
- Introductory Case Study
- Generalization and Polymorphism with Aspects
- AspectJ as a Meta-Programming Language
- More Examples: Mock Objects, Design and Style Enforcers
- Larger Case Studies: Bound Properties & Persistence
Presenter Profile
Craig Larman
Craig Larman is an internationally recognized leader in object-oriented and advanced software technologies, and the author of “Applying UML and Patterns” and “Java 2 Performance and Idiom Guide.” He serves as Chief Scientist for Valtech, and holds an M.Sc. in computer science, specializing in AI programming techniques, and object-oriented case-based reasoning architectures.
Specifically with respect to AOP and AspectJ, Craig has been exploring its application within a consulting organization, and regularly presents AOP and AspectJ seminars (including ECOOP 2002). He has been involved in meta-programming since the early 80s, originally in Lisp, Prolog, and Smalltalk.
Details
| Presenter(s) |
Craig Larman, www.craiglarman.com, Valtech
|
Date Duration |
Tuesday, PM, July 22
half day
|
| Level |
Novice-Intermediate in AspectJ
|
| Targeted Audience |
Researchers, developers and managers of Java technology projects, interested in AOP and AspectJ.
|
|
 |
ECOOP is sponsored by
in cooperation with ACM SIGPLAN
|