The SmartAdapters approach is the result of a collaboration between three research teams :
The Aspect-Oriented Software Development (AOSD) paradigm offers to tame the complexity of large software systems by providing advanced mechanisms for separating and composing concerns, formerly at the code level. It is now gaining attention in the earlier steps of the software life-cycle, inspired by the Model-Driven Engineering paradigm. This leads to the creation of numerous Aspect-Oriented Modeling approaches that aim to compose aspect models into various base models. These approaches generally suffer from a lack of flexibility, limiting the reuse of aspect models to very related contexts. A reusable aspect model should ideally offers :
A base model may not provide all the elements required by the aspect but it still may be augmented with the aspect. We argue that the aspect should be able to adapt to different contexts, by reusing existing elements or introducing some missing elements, provided that a set of mandatory elements is present in the base model. Inspired by the Software Product Line paradigm, the SmartAdapters approach integrates variability mechanisms in the different parts that constitute an aspect so that, it allows designing aspect models as a family of composition protocols. As a result, designers are able to address a wider range of situations where an aspect model could be composed.
We propose to take the Health-Watcher AOSD Testbed as a case-study. We propose to weave on the corresponding model two aspects (one on authentication and another one on task allocation). The figures and the implementation proposed hereafter represents the current state of our work (paper submitted to the Sosym Journal).
The specification of the future composition of one aspect (e.g. Authentication aspect or Task Allocation aspect) is made thanks to i) an Adaptation model and ii) a Variability Model. The first one identifies the adaptations to perform and the second one describes (through a feature model) the possible combinations of adaptations. The conjunction of these two models allows to describe a composition protocol which aims to minimize the work to be done when the aspect will be composed with a given base model (e.g. the Health-Watcher).
Description of the two composition protocols (Variability and Adaption models) of :
In order to give an overview of the current state of the implementation we propose two videos. They are dedicated to the weaving of the Authentication Aspect (resp. the Task Allocation Aspect) :
The implementation is made under eclipse using Kermeta software. The current state is not well packaged so that we provide to anyone who wants to have a first look to our approach to download here an archive containing a full Eclipse distribution and the corresponding workspace. If you have any question about it you may send an Email to — Philippe Lahire
submitted to Sosym Journal