Skip to Main Content
Current domain-specific modeling (DSM) frameworks for designing component-based systems often consider the system's structural and behavioral concerns as the two dominant concerns of decomposition while treating nonfunctional or quality of service (QoS) concerns as an after thought. Such frameworks lack a strong decoupling between the modeling of the system's structural composition and their QoS requirements. This lack of QoS modularization limits (1) reusability of such frameworks, (2) ease of maintenance when new non-functional characteristics are added, and (3) independent evolution of the modeling frameworks along both the structural and non-functional dimensions. This paper describes component QoS modeling language (CQML), which is a reusable, extensible, and aspect-oriented modeling approach that provides strong separation between the structural and non-functional dimensions. CQML supports independent evolution of structural as well as QoS metamodel of composition modeling languages. The join point model of CQML enables declarative QoS aspect modeling and supports automatic weaving of structural changes effected by QoS requirements. We evaluate the capabilities of CQML for a variety of structural modeling languages and provide quantitative results indicating the modeling effort saved in automating the weaving of QoS concerns.