The reflection API is very important for any AOE. In fact, the weaver needs to introspects the classes of the base program in order to apply the advices or the introductions. For instance, if a pointcut tells that all the methods of a class should be adviced (using some kind of regular expression or an ALL keyword), then the weaver will need to use the reflection API to explicitely know the list of the methods that actually need to be adviced.
When the weaving process is done at runtime, the SUN's java.lang.reflect implementation can be sufficient to build the AOE. However, in most of the existing systems, the weaving process occurs at the compile-time or at class load-time. In these cases, a specific implementation of a reflection API is needed. According to AOP Alliance, it is quite important to normalize this API in order to be able to switch the underlying implementation depending on the running context of the AOE.