Implementations of Composition Filters

Implementation of the Composition Filters model is an ongoing activity of the TRESE groep.

Initially around 1987, the Composition Filters model was adopted by the experiemental programming language Sina.  This version of the Sina language provided the so-called interface predicate construct. Later in 1991,  the interface predicate construct was replaced with Composition Filters. Information about the evolution of Sina from interface predicates to Composition filters can be found here.

In 1995, during his M.Sc. study, Piet Koopmans implemented the Sina language with Composition Filters, using the Smalltalk language. Piet's version supported most of the filter types.

After 1993, we decided to separate the concept of Composition Filters from the Sina language. We experimented with various prototypes. For his M.Sc. thesis, Maurice Glandrup implemented filters in C++. In 1999, Hans Wichman defined a preprocessor for translating Composition Filters specification, which is called the ComposeJ language,   to the Java language. In 2001, Patricio Salinas integrated the concepts of aspects, classes and Composition Filters into concerns.

Information about the ComposeJ language can be found here.

Information about the ConcernJ language can be found here.

From the implementation point view, Piet Koomans compiler is based on message reflection, whereas Hans' version in-lines Composition Filters specifications to Java class definitions.  

Publications on composition-filter implementations can be found here.

This page was last modified by Richard van de Stadt on October 15, 2001.