Compose*: a Language- and Platform-Independent Aspect Compiler for Composition Filters
A.J. de Roo, M.F.H. Hendriks, Wilke Havinga, Pascal Dürr, Lodewijk Bergmans
Abstract
Open-access reader
A.J. de Roo, M.F.H. Hendriks, Wilke Havinga, Pascal Dürr, Lodewijk Bergmans
Abstract
Open-access reader
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.
OpenAlex reports 30 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
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.
Key concepts: Computer science, Compiler, Programming language, Interface (matter), Java, Low-level programming language, Parallel computing, Programming paradigm