Skip to main content.


{ Unifying Aspects and Components }

Navigation:Home | News | Documentation | Download | FuseJDT | Publications | Team Members | Links


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 available

June 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.


  • 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.


Employ Subversion to check out the latest version of the FuseJ tools and architecture. More information in the Download section.


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]


Help on how to start off with FuseJ in the Documentation section.