Middleware systems have emerged in recent years to support applications in
heterogeneous and ubiquitous computing environments. Specifically, future m
iddle,ware platforms are expected to provide quality of service support, wh
ich is required by a new generation of QoS-sensitive applications such as m
edia streaming and e-commerce. This article presents four key aspects of a
QoS-aware middleware system: QoS specification to allow description of appl
ication behavior and QoS parameters; QoS translation and compilation to tra
nslate specified application behavior into candidate application configurat
ions for different resource conditions; QoS setup to appropriately select a
nd instantiate a particular configuration; and finally, QoS adaptation to a
dapt to runtime resource fluctuations. We also provide a comparison of exis
ting QoS-aware middleware systems in these four aspects.