Not all systems that have referred to themselves as AOP are rule-based...mostly AspectJ and some annotation based systems are (e.g. Spring). Some systems apply rules over execution, but this is just applying it over code in a different phase (think static vs. dynamic type checking).
AOP is not generally described as being limited to rule-based techniques.
AOP is not generally described as being limited to rule-based techniques.