Java Open Source Projects Directory

...dedicated into Java open source projects

  • Increase font size
  • Default font size
  • Decrease font size
Aspect-Oriented Frameworks


CAESAR is a new aspect-oriented programming language compatible to Java, that is, all Java programs will run with CAESAR.



dynaop, a proxy-based Aspect-Oriented Programming (AOP) framework, enhances Object-Oriented (OO) design in the following areas: code reuse decomposition dependency reduction



AspectJ is a seamless aspect-oriented extension to the Java programming language, Java platform compatible and easy to learn and use. AspectJ enables the clean modularization of crosscutting concerns such as: error checking and handling, synchronization, context-sensitive behavior, performance optimizations, monitoring and logging, debugging support, multi-object protocols.



JAC (Java Aspect Components) is a project consisting in developing an aspect-oriented middleware layer.



Nanning Aspects is a simple yet scaleable aspect-oriented framework for Java.



JBoss-AOP allows you to apply interceptor technology and patterns to plain Java classes and Dynamic Proxies. It includes:

 * Java Class Interception. Field, constructor, and method interception, public, private, protected, and package protected, static and class members.
 * Fully compositional pointcuts caller side for methods and constructors, control flow, annotations.
 * Aspect classes Advices can be incapsulated in scoped Java classes
 * Hot-Deploy. Interceptors can be deployed, undeployed, and redeployed at runtime for both dynamic proxies and classes.(working)
 * Introductions. The ability to add any arbitrary interface to a Java class. Either an interceptor or a 'mixin' class can service method calls for the attached interfaces.
 * Dynamic Proxies. The ability to define a dynamic proxy and an interceptor chain for it. Proxies can either be created from an existing class, or from a set of interfaces ala java.lang.reflect.Proxy.
 * Metadata and Attribute Programming. The ability to define and attach metadata configuration to your classes or dynamic proxies. Interceptors can be triggered when metadata is added to a class. We also have Metadata Chains, the ability to define defaults at the cluster and application level, as well as the ability to override configuration at runtime for a specific method call.
 * Dynamic AOP. All aspected objects can be typecasted to an AOP api. You can do things like add/remove new interceptors to a specific instance or add/remove instance configuration/metadata at runtime.



CALI is a framework to prototype and compose Aspect-Oriented Programming Languages on top of Java. It is based on an abstract aspect language that its extensible to implement new AOPL. As proof of approach and methodology, the following language have been implemented: -AspectJ (Dynamic part of AspectJ, where intertype declartion can be implemented using regular AspectJ); -EAOPJ : An implementation of Event-Based AOP for Java; -COOL: A DSAL for coordination; -Decorator DSAL. You can use CALI to implement your new AOPL and compose it with existing implementation or using existing implementation to write your applications with aspects form different AOPL.



The PROSE system (PROSE stands for PROgrammable extenSions of sErvices) is a dynamic weaving tool (allows inserting and withdrawing aspects to and from running applications) PROSE aspects are regular JAVA objects that can be sent to and be received from computers on the network. Signatures can be used to guarantee their integrity. Once an aspect has been inserted in a JVM, any occurrence of the events of interest results in the execution of the corresponding aspect advice. If an aspect is withdrawn from the JVM, the aspect code is discarded and the corresponding interception(s) will no longer take place.

  • «
  •  Start 
  •  Prev 
  •  1 
  •  2 
  •  Next 
  •  End 
  • »

Page 1 of 2