Welcome!
The aim of the FuseJ research is to investigate whether a specialized aspect module is really required in order to achieve aspect-oriented programming. In our opinion, an aspect can just be considered as a regular component, with the exception that it requires a special kind of interaction mechanism with the base components of the system. Therefore, we propose to unify aspects and components by introducing a new aspect-oriented composition mechanism upon existing module constructs instead of introducing a separate aspect entity.
As a realization of this unified component-oriented architecture, the FuseJ language is proposed. By employing FuseJ, all concerns are implemented as regular Java Beans. FuseJ then provides a strong composition mechanism that is able to describe both aspect-oriented and component-based interactions. As such, new composition mechanisms are made as unobtrusive as possible, e.g. when representing a software element as a method, it is possible to compose this method with others as if it were an advice. This allows for postponing the choice for a specific composition mechanism and enables employing this new composition mechanism on existing software components.
A first prototype implementation of the FuseJ tools and architecture is now available. More information in the Download section.
Latest News
New FuseJ prototype implementation and examples availableJune 16th, 2006 - Davy Suvée
New prototype implementation available
Prototype FuseJ implementation available.February 2nd, 2005 - Davy Suvée
Download the latest version of the FuseJ tools and architecture. More information in the Download section.
Features |
- Seamless integration between aspects and components.
- Allows existing components to be reused in both an aspect-oriented and component-based nature.
- Declarative specification of the aspect/component interaction.
- Dynamic run-time adaptation of the aspect/component interaction.
Downloads |
Employ Subversion to check out the latest version of the FuseJ tools and architecture. More information in the Download section.
Publications |
Suvée, D., De Fraine, B. and Vanderperren, W. A Symmetric and Unified Approach Towards Combining Aspect-Oriented and Component-Based Software Development. [Download]
Suvée, D., De Fraine, B. and Vanderperren, W. FuseJ: An architectural description language for unifying aspects and components. [Download]
Suvée, D., Vanderperren, W. and Wagelaar, D. There are no Aspects. [Download]
Documents |
Help on how to start off with FuseJ in the Documentation section.