scispace - formally typeset
Search or ask a question
Author

Pierre Verbaeton

Bio: Pierre Verbaeton is an academic researcher from Katholieke Universiteit Leuven. The author has contributed to research in topics: Application software & Component (UML). The author has an hindex of 1, co-authored 1 publications receiving 117 citations.

Papers
More filters
Proceedings ArticleDOI
01 Jul 2001
TL;DR: This work presents a (distributed) application as consisting of a minimal functional core, implemented as a component based system, and an unbound set of potential extensions that can be selectively integrated within this core functionality.
Abstract: Support for dynamic and client-specific customization is required in many application areas. We present a (distributed) application as consisting of a minimal functional core — implemented as a component-based system, and an unbound set of potential extensions that can be selectively integrated within this core functionality. An extension to this core may be a new service, due to new requirements of end users. Another important category of extensions we consider, are non-functional services such as authentication, which typically introduce interaction refinements at the application level. In accordance to the separation of concerns principle, each extension is implemented as a layer of mixin-like wrappers. Each wrapper incrementally adds behavior and state to a core component instance from the outside, without modifying the component's implementation. The novelty of this work is that the composition logic, responsible for integrating extensions into the core system, is externalized from the code of clients, core system and extensions. Clients (end users, system integrators) can customize this composition logic on a per collaboration basis by `attaching' high-level interpretable extension identifiers to their interactions with the core system.

117 citations


Cited by
More filters
Journal ArticleDOI
TL;DR: This paper lays the foundations of COP, shows how dynamic layer activation enables multi-dimensional dispatch, illustrates the application of COP by examples in several language extensions, and demonstrates that COP is largely independent of other commitments to programming style.
Abstract: Context-dependent behavior is becoming increasingly important for a wide range of application domains, from pervasive computing to common business applications. Unfortunately, mainstream programming languages do not provide mechanisms that enable software entities to adapt their behavior dynamically to the current execution context. This leads developers to adopt convoluted designs to achieve the necessary runtime exibility. We propose a new programming technique called Context-oriented Programming (COP) which addresses this problem. COP treats context explicitly, and provides mechanisms to dynamically adapt behavior in reaction to changes in context, even after system deployment at runtime. In this paper, we lay the foundations of COP, show how dynamic layer activation enables multi-dimensional dispatch, illustrate the application of COP by examples in several language extensions, and demonstrate that COP is largely independent of other commitments to programming style.

457 citations

Proceedings ArticleDOI
17 Mar 2003
TL;DR: CAESAR is proposed, a model for aspect-oriented programming with a higher-level module concept on top of JPI, which enables reuse and componentization of aspects, allows us to use aspects polymorphically, and introduces a novel concept for dynamic aspect deployment.
Abstract: Join point interception (JPI), is considered an important cornerstone of aspect-oriented languages. However, we claim that JPI alone does not suffice for a modular structuring of aspects. We propose CAESAR, a model for aspect-oriented programming with a higher-level module concept on top of JPI, which enables reuse and componentization of aspects, allows us to use aspects polymorphically, and introduces a novel concept for dynamic aspect deployment.

324 citations

Book ChapterDOI
TL;DR: This paper presents JAC (Java Aspect Components), a framework for aspect-oriented programming in Java that uses the Javassist class load-time MOP and does not require any language extensions to Java.
Abstract: This paper presents JAC (Java Aspect Components), a framework for aspect-oriented programming in Java. Unlike language such as AspectJ which are mostly class-based,JAC is object-based and does not require any language extensions to Java. It uses the Javassist class load-time MOP. An aspect program in JAC is a set of aspect objects that can be dynamically deployed and undeployed on top of running application objects. Aspect objects may define three kinds of aspect methods: wrapping methods (that wrap application methods and provide the ability to run code before and after the wrapped methods), role methods (that add new functionalities to application objects), and exception handlers. The aspects composition issue is handled through a well-defined wrapping controller that specifies for each wrapped object at wrap-time, runtime or both, the execution order of aspect objects.

239 citations

Proceedings ArticleDOI
31 Oct 2004
TL;DR: This paper presents an analysis of feature-oriented and aspect-oriented modularization approaches with respect to variability management as needed in the context of system families and demonstrates the power of appropriate support for layer modules.
Abstract: This paper presents an analysis of feature-oriented and aspect-oriented modularization approaches with respect to variability management as needed in the context of system families. This analysis serves two purposes. On the one hand, our analysis of the weaknesses of feature-oriented approaches (FOAs for short) emphasizes the importance of crosscutting modularity as supported by the aspect-oriented concepts of pointcut and advice. On the other hand, by pointing out some of AspectJ's weaknesses and by demonstrating how Caesar, a language which combines concepts from both AspectJ and FOAs, is more effective in this context, we also demonstrate the power of appropriate support for layer modules.

223 citations