Compose*: a Language- and Platform-Independent Aspect Compiler for Composition Filters

A.J. de Roo, M.F.H. Hendriks, W.K. Havinga, P.E.A. Durr, L.M.J. Bergmans

This paper presents Compose*, a compilation and execution framework for the Composition Filters model. The Composition Filters model is designed to improve the composability of object-based programs. It is claimed that this approach is largely language-independent, and has previously been applied to languages such as Smalltalk, Java and C++. However, building a new Composition Filters compiler for each target language results in the duplication of compilation technology. Therefore, one of the aims of Compose* is to provide a language and platform independent compiler framework for the Composition Filters model. This paper provides the design rationale behind a tool architecture that supports this language and platform independence. It explains the use of language independent abstractions of the base program structure and how to include existing tools, such as compilers, to interface with the target language.
The language and platform independence of Compose* has been verified by applying the compiler framework to multiple languages of the .NET platform, the Java language and platform and the C language.