Abstract
A current trend in software system engineering is the changing of software development from being code-centric to becoming model-centric. Model Driven Engineering (MDE) approaches commonly use an abstraction of platform specific features to improve reusability and verifiability of the core functionality models. However, the core functionality may still be tangled with features that address important dependability concerns across a design model – for example features such as security, trust, transactions and performance. These features can be denoted Quality of Service (QoS) features, since they address quality requirements associated with the provided core services. In MDE, model specification and specification of transformations between models at various levels of abstraction can be a complex task. Coping with QoS features that are tangled with other system services is particularly difficult because these features are distributed across a model. The challenge then becomes to tackle the QoS concerns in MDE.This thesis addresses this challenge and provides a framework that includes concepts, mechanisms and methods for QoS-aware model driven engineering. The framework is called the Aspect-Oriented Model Driven Framework (AOMDF). The AOMDF combines aspect-oriented and model driven techniques to facilitate separation of QoS features that crosscut the core system functionality. It includes concepts, mechanisms and methods to support QoS-aware modeling and model transformations across different levels of abstraction. Applying advanced separation of concern mechanisms, the AOMDF provides separation of crosscutting QoS features from the primary functionality as conceptual units and supports the managing of these in MDE-based developments. This allows the developers to conceptualize, describe and communicate crosscutting QoS concerns at various levels of abstraction and improves the reusability and verifiability of system specifications where the core functionality is tangled