This thesis is a study in the field of quality of service (QoS) aware component-based middleware and separation of concerns. QoS enabled middleware tries to preserve the safe-deployment property of components. QoS is a cross-cutting concern and thus hard to manage by the middleware alone. Aspect oriented programming (AOP) is a new technique for modularizing cross-cutting concerns, and this thesis is a study in how AOP can be applied to QoS enabled middleware in order to separate concerns.
The work in this thesis is part of the QuA project at Simula Research Laboratory. QuA aims to provide adaptable component-based middleware that supports the safe-deployment property of components. The work in this thesis is based on an early Java prototype of the QuA middleware.
Case studies and an experimental approach with prototype implementations is used as research method. The prototypes shows how architectural reflection can be added to QuA with the use of AOP. Architecural reflection is then used for dynamic reconfiguration and adaptation of a distributed streaming audio service. AOP is also used to separate concerns such as resource management and QoS monitoring.