Publications

Miscellaneous publications

Author(s): 
various

On the Compose* developer Wiki is an overview of various publications related to the Compose* project. Most of the publications are master thesis from students who worked on the Compose* project.

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

Author(s): 
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.

Resource-based Verification for Robust Composition of Aspects

Author(s): 
P.E.A. Durr

Aspect Oriented Software Development has been proposed as a means to improve modularization of software in the presence of crosscutting concerns. Compared to object-oriented or procedural approaches, Aspect Oriented Programming (AOP) has not yet been applied in many industrial applications. In this thesis we investigate the application of AOP within an industrial context and propose a novel solution to the problem of behavioral conflicts between aspects.

Reasoning about Behavioral Conflicts between Aspects

Author(s): 
Durr, P.E.A. and Bergmans, L.M.J. and Akşit, M.

Aspects have been successfully promoted as a means to improve the modularization of software in the presence of crosscutting concerns. The so-called aspect interference problem is considered to be one of the remaining challenges of aspect-oriented software development: aspects may interfere with the behavior of the base code or other aspects. Especially interference between aspects is difficult to prevent, as this may be caused solely by the composition of aspects that behave correctly in isolation.

Static and Dynamic Detection of Behavioral Conflicts between Aspects

Author(s): 
Durr, P.E.A. and Bergmans, L.M.J. and Akşit, M.

Aspects have been successfully promoted as a means to improve the modularization of software in the presence of crosscutting concerns.
The so-called aspect interference problem is considered to be one of the remaining challenges of aspect-oriented software development: aspects may interfere with the behavior of the base code or other aspects.

Detecting behavioral conflicts among crosscutting concerns

Author(s): 
Durr, P.E.A. and Bergmans, L.M.J. and Akşit, M.

Aspects have been successfully promoted as a means to improve the modularization of software in the presence of crosscutting concerns. Within the Ideals project, aspects have been shown to be valuable for improving the modularization of idioms (see also Chapter 1). The so-called aspect interference problem is considered to be one of the remaining challenges of aspect-oriented software development: aspects may interfere with the behavior of the base code or other aspects.

Detecting and resolving ambiguities caused by inter-dependent introductions

Author(s): 
Havinga, W.K. and Nagy, I. and Bergmans, L.M.J. and Akşit, M.

AOP languages are continuously evolving, for example (1) pointcut languages are becoming increasingly powerful with respect to the expressiveness of the pointcut language itself, (2) new program properties can be used as a selection criterion in pointcut designators, or (3) new types of program elements can be introduced by means of a crosscut specification. In this paper we investigate the consequences of these trends.

Utilizing Design Information in Aspect-Oriented Programming

Author(s): 
Istvan Nagy, Lodewijk Bergmans, Wilke Havinga, Mehmet Aksit

Traditionally in aspect-oriented languages, pointcut designators select joinpoints of a program based on lexical information such as explicit names of program elements. However, this reduces the adaptability of software, since it involves too much information that is hard-coded, and often implementation specific. We claim that this problem can be reduced by referring to program units through their design intentions. Design intention is represented by annotated design information, which describes for example the behavior of a program element or its intended meaning.

Formal model for SECRET

Author(s): 
Durr, P.E.A. and Bergmans, L.M.J. and Akşit, M.

This technical report provides a formal model for detecting semantic conflicts between aspects. The presented model abstracts from any AOP approach specifics. In we make a preliminary instantiation of this formal model for the Composition Filter approach, we do plan to extend this work with an instantiation for AspectJ. The document starts with an example of a semantic conflict, next our approach is informally explained and finally the formal model is presented.

Principles and Design Rationale of Composition Filters

Author(s): 
Bergmans, L.M.J. and Akşit, M.

A wide range of aspect-oriented programming languages has appeared in the past years [7]. Current research on future generation AOP languages is addressing issues like flexibility, expressive power and safety. We think that it is important to understand the motivations and design decisions of the first generation AOP languages. The composition filters model [1, 7, 12] is one example of such a first-generation AOP language. The goal of this chapter is two-fold: first, it aims at explaining the principles of composition filters, in particular its aspect-oriented composition capabilities.