JAC is a Java framework that provides some facilities to achieve Aspect-Oriented Programming and to separate concerns when programming (distributed) applications (for instance, the persistence or authentication aspects can be considered independently from what the application is doing). It provides a runtime execution environment that supports Aspect-Oriented applications written with the JAC framework that provides visualisation, administration, and configuration tools for the applications and for their aspects.