A Model-Driven Process for Self-Adaptive Software
Résumé
Many Embedded Systems are supposed to run continuously, which includes recovering from errors by adapting their configuration or their architecture to changing conditions in their environment. The design of such systems has to relate some high-level extra-functional properties to some low level ones such as memory or CPU consumption by defining some complex feed-back loops for the dynamic adaptation of the system. However, the design of such feed-back loops (also called ``adaptation policies'') is still a very complex endeavour if you want to go beyond predefined fallback modes. Since the expression of extra-functional properties and the design of adaptation policies are complex activities, they are generally delayed down to implementation time. Adaptation policies are then implemented without either high level design nor dedicated tests, which may lead to costly roll-back operations in the design process. To avoid such roll-back operations, we suggest a model-driven process based on new executable meta-modelling techniques. At modelling time, designers have to complement the architectural description with some sensors and actuators related to the involved extra-functional properties. It allows designers to specify in a consistent way the related adaptation policies. Then since the model is executable, some simulations of the adaptation policies can be performed at design time to evaluate their performances with respect to some relevant test scenarios. Then, using model-driven transformations, it allows the generation of code skeletons for real-time embedded platforms. In this article we illustrate our approach with a simple case study based on a mobile video player that is able to adapt its architecture to varying conditions, such as bandwidth evolution or low battery conditions.
Domaines
Génie logiciel [cs.SE]Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...