Aspect oriented programming (AOP) framework and reusable aspect library