AOP stands for Aspect Oriented Programming. It is a technique based on OOP that tries to extract properties from methods and to formulate them in seperate aspects. For example you could write a class as usual, and then add an debugging aspect to it, and possibly later remove it without modifying each single method. AOP was developed at XEROX PARC. You can get more information at http://www.parc.xerox.com/aop/