Abstract
Constructing and executing distributed applications that can adapt to their current operating context, in order to maintain or enhance Quality of Service (QoS) attribute levels, are complex tasks. Managing multiple, interacting QoS features is particularly difficult since these features tend to be distributed across the system and tangled with other features. The crosscutting nature of QoS features can make them difficult to evolve, and it can make it complicated to dynamically optimize with respect to provided QoS during execution. Fur-thermore, it complicates efficient construction of application variants that differ in their QoS characteristics to suit various execution contexts. This paper pre-sents an aspect-oriented and model driven approach for constructing and a QoS-aware middleware for execution of QoS-sensitive applications. Aspect-oriented modeling techniques are used to separate QoS features from primary application logic, and for efficient specification of alternative application vari-ants. Model driven engineering techniques are used to derive run-time represen-tations of application variants from platform independent models. The devel-oped middleware chooses the best variant according to the current operating context and the available resources