Wilke Havinga

Learn More
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,(More)
Domain specific aspect languages (DSALs) are becoming more popular because they can be designed to represent recurring concerns in a way that is optimized for a specific domain. However, the design and implementation of even a limited domain-specific aspect language can be a tedious job. To address this, we propose a framework that offers a fast way to(More)
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(More)
The goal of this paper is to model and detect composition conflicts related to introductions. Within this context, we identify several categories of composition conflicts. To analyze the causes of these conflicts precisely, we first model the structure of programs as graphs. Next, we model introductions as graph transformation rules. We define explicit(More)
Meta-data annotations and AOP are a powerful combination. Several aspect-oriented languages already support the use of annotations as a selection criterion in pointcut designators. Some languages also support the introduction of annotations using aspect-oriented techniques. This paper describes a combination of these techniques as they are implemented in(More)
A large variety of programming languages exists, and these languages differ substantially with regard to the modularization and composition mechanisms they support. Such differences may have an impact on important software engineering characteristics, such as reusability, flexibility, analyzability and stability. The design of software languages often(More)
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 implementationspecific. We claim that this problem can be reduced by(More)
Aspect Oriented Modeling (AOM) techniques facilitate separate modeling of concerns and allow for a more flexible composition of the resulting models than traditional techniques. While this improves the understandability of each submodel, in order to reason about the behavior of the composed system and to detect conflicts among submodels, automated tool(More)
A considerable amount of research, especially within the OO and AOSD communities, has focused on understanding the potential and limitations of various composition techniques. This has led to a large amount of proposals for alternative composition techniques, including many variations of message dispatch, inheritance, and aspect mechanisms. This paper makes(More)