treselogo.gif (513 bytes)

Aspect-Oriented Research on
Composition Filters homepage

change.jpg (29535 bytes)
This picture is taken from

NEW: The Composition Filters model now supports crosscutting across multiple components/objects.
Our recent paper can be found here in pdf format (431 KB)

Composition Filters has been developed by the TRESE group, at the Department of Computer Science of the University of Twente, The Netherlands.

The Composition Filters model provides a set of filters and it has four important characteristics:

Modular extension: Each filter enhances a class abstraction (expressed for example in Java) in a modular way. A modular extension means that a filter can be attached to a class without necessarily modifying the definition of that class.

Orthogonal extension: Orthogonal extension means that each filter extension to a class is independent from other filter extensions. This allows easy composition of multiple filters.

Open-ended: New filters may be introduced if necessary.

Aspect-oriented: Each filter represents an aspect (concern). Filters are predefined and have a well-defined semantics.

Declarative: A filter specification describes what it means but not how it is implemented.

Please follow the following e-tutorials to understand the characteristics of  the Composition Filters model.

Why Composition Filters

The Composition Filters model aims at solving a number of obstacles not properly addressed by the current object-oriented languages such as Java, C++ and Smalltalk.

Please follow the following e-tutorials to understand the problems addressed by the Composition Filters model.

We advise you to first read the paper Solving the Modeling Problems of Object-Oriented Languages by Composing Multiple Aspects Using Composition Filters, since this paper introduces a set of problems and possible solutions to these problems using the composition-filters approach.


Information about the history of Composition Filters can be found here.

Our publications on Composition Filters can be found here.

Our advanced separation of concerns homepage can be found here.

The composition filters implementation homepage can be found here.

Clicking on one of the topics directly shows you the abstract of a paper.

Various Aspects

Object Synchronization papers: (1), (2) and (3)
Distributed synchronization
Composing synchronization and realtime
Client-server (middleware) computing
Multiple views, dynamic inheritance and queries

General papers on composition-filters

The composition-filters model
Defining composition-filters abstractions using a set of basic building blocks

Aspect languages

The Sina language and manual
Extending C++ with composition filters
Extending CORBA with composition-filters

Problems and solutions

Composition issues
Application categories and problems
Problems related to object-oriented languages (C++)
Problems related to object-oriented systems (CORBA)

This page was last modified by Mehmet Aksit on May 5, 2001.