The FRACTAL component model and its support in Java: Experiences with Auto-adaptive and Reconfigurable Systems

This paper presents F RACTAL, a hierarchical and reflective component model with sharing. Components in this model can be endowed with arbitrary reflective capabilities, from plain black-box objects to components that allow a fine-grained manipulation of their internal structure. The paper describes J ULIA, a Java implementation of the model, a small but efficient runtime framework, which relies on a combination of interceptors and mixins for the programming of reflective features of components. The paper presents a qualitative and quantitative evaluation of this implementation, showing that component-based programming in F RACTAL can be made very efficient. Copyright © 2006 John Wiley & Sons, Ltd.