Driving Component Composition from Early Stages Using Aspect-Oriented Techniques (original) (raw)

Component-based software engineering is an emerging discipline that is generating tremendous interest due to the development of plug-and-play reusable software. However, component adaptation and later composition still challenges the software engineering community because of the binary nature of software components. Once a binary component is ready to market, its contract cannot be changed in order to be adapted to new contexts or new requirements. Aspect-orientation facilitates software adaptation and evolution by increasing software modularization. In this sense, aspect-oriented mechanisms can obviates contracts to weave new behaviour to an already developed system by means of hooks and behaviour attached to theses hooks. In this paper, a component composition mechanism based on aspect-oriented techniques is presented, which extends typical composition based on interfaces or events. Components and their composition are modeled using UML at early development phases. Our approach is based on model-driven development (MDD), allowing systems to be built from analysis to deployment, automatically generating the required artifacts (such as wrappers or assembly descriptors). This work has been developed using CCM as the component model 1 .