JAC is developped by :
CEDRIC
News
- 13/06/2002: JAC version 0.8.1 released
- 17/05/2002: JAC version 0.8 released
- 06/05/2002: JAC version 0.7 released
- 22-26/04/2002: JAC will be presented at the AOSD conference (informal demonstrations + a paper at the AO modeling with UML workshop)
Conférence sur l'AOP et JAC le 14 février 2002 à Paris
- 26/09/2001: JAC is presented at Reflection'01 in Kyoto, Japan.
- 30/07/2001: JAC is presented at TOOLS USA'01 in Santa-Barbara, CA, USA.
What is JAC ?
JAC (Java Aspect Components) is:
- a Java framework for Aspect-Oriented Programming allowing to separate concerns when programming (distributed) applications. For instance, the authentication or distribution aspects can be considered independently from what the application is doing.
- a runtime execution environment providing visualisation, administration, and configuration tools for Aspect-Oriented applications.
JAC is not:
- a new language with new grammar to express aspects. You might want to see the AspectJ project for this.
- a new OS (in fact it can be considered as a middleware layer)
- a development tool
JAC may be in a close future:
- a runtime support for next generation of application servers allowing really maintenable, flexible, and transparent programming of complex applications.
- a RAD tool that allowing the programmer to build complex applications at incredible speeds.
- an excellent teaching environment for learning Object-Oriented and Aspect-Oriented programming.
The following figure is a screenshot of the JAC administration interface. Some interesting features can be noticed:
- Upper-left part: a tree view to navigate into the components that are created by the application (here the photos sample has been launched).
- Lower-left part: the tabs allow the user to know several details about the aspects running within the current application.
- Menus allow the user to select the current application (if several are running), launch new ones, and administrate them.
- Right part: the user can look into the application's components states and invoke some methods. Although this interface is not final-user oriented, it can be very helpful for debugging.

JAC also allows the users to browse their objects through the WEB. Live demo of the photos sample (still unstable).
JAC is an open source research project under the LGPL license, developped and coordinated by the AOPSYS company (Renaud Pawlak, Laurent Martelli), the CEDRIC lab. (Pr. Gerard Florin, Renaud Pawlak), the LIP6 lab. (Lionel Seinturier), and the LIFL lab. (Pr. Laurence Duchien).