|Thesis abstract: |
Verifying that a software system has certain non-functional properties is a primary concern in many engineering fields. Although several model-driven approaches exist to predict the quality attributes of a system from design models, they still lack the proper level of automation envisioned by Model Driven Software Development. In particular, when a potential issue concerning the non-functional properties is discovered in system models, the identification of a solution is still entirely up to the engineer and to his/her experience. Automation for the interpretation of the analysis results, for the identification of the potential quality-related issues, and for the identification of the possible solutions and design alternatives is mandatory for the successful application of Model Driven Engineering techniques in the current development practice. This problem, known in literature with the term feedback provisioning, is the problem on which our research concentrates. In this thesis we present QVT-Rational, our multi-modeling and programmable framework to automate the detection-solution loop characteristic of feedback provisioning. QVT-Rational proposes the adoption of quality-driven model transformations to specify how alternative system variants exhibiting certain quality properties can be automatically generated and proposed as feedback to the engineer. Our framework represents a valid improvement in the process of designing for quality. It provides a language to define the non-functional properties of interest for a particular engineering domain, a language to specify requirements about them, a convenient mechanism to integrate existing analysis tool-chains in order to predict quality, and provides an engine to automatically explore the solution space and identify valid system alternatives.