Skip to main content.

FuseJ

{ Unifying Aspects and Components }

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

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

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.