1. Aspect-oriented programming;Kiczales,1997
2. Separation of concerns with procedures, annotations, advice, and pointcuts;Kiczales,2005
3. Adding trace matching with free variables to aspectj;Allan,2005
4. Expressive pointcuts for increased modularity;Ostermann,2005
5. Hybrid aspects for weaving object-oriented functionality and rule-based knowledge;D’Hondt,2004