Model-driven development is by many predicted to become the next big leap in software development. This thesis investigates how quality of service (QoS) concerns could be incorporated in a model-driven development process. We have narrowed our focus to resource-level QoS. We look at how application models can be enriched with resource QoS requirements and how these requirements can be realized on a QoS-aware middleware platform.
For QoS specification, we use a working draft of the UML profile for QoS and fault tolerance characteristics and mechanisms, and combine it with a tailor-made UML profile for resource modeling. We introduce a platform-level generic resource model for dealing with run-time resources, and look at how it can be used as a target for automatic mapping of resource QoS requirements.
A prototype of the resource model has been implemented in Python, including a partial implementation of the UML QoS profile. The resource QoS mapping is acheived through automatic code generation and execution on the resource model platform, acquiring and reserving the needed resources. The resource model assumes that the underlying system provides access to resource management mechanisms. The prototye does not manage physical resources, and is thus limited to virtual resources.