This paper presents JAC (Java Aspect Components), a framework for aspect-oriented programming in Java.Unlike languages such
as AspectJ which are mostly class-based,JAC is object-based and does not require any language extensions to Java.It uses the
Javassist class load-time MOP.An aspect program in JAC is a set of aspect objects that can be dynamically deploted and undeployed
on top on running application objects.Aspect objects may define three kinds of aspect methods: wrapping mwthods (that wrap
application methods and provide the ability to run code before and after the wrapped methods), role methods (that add new
funchtionalities to applications objects) and exception handlers.The aspects composition issue is handled through a well defined
wrapping controller that specifies for each wrapped object at wrap-time, runtime or both, the execusion order of aspect objects.