posted on 2012-08-23, 13:19authored byAnders Mattsson
A basic premise of Model Driven Development (MDD) is to capture all important design information in a set of formal or semi-formal models which are then automatically kept consistent by tools. The concept however is still relatively immature and there is a lack of empirically validated guidelines. This thesis reports on the use of MDD in significant real-world projects over several years. Our research has found current techniques for modelling software architecture insufficient for modelling of architectural design rules. As a result developers have to rely on time-consuming and error-prone manual practices to keep a system consistent with its architecture. This thesis addresses this problem by presenting an approach that enables automatic enforcement of the architectural rules on the detailed design. The approach consists of a method on how to model architectural design rules with associated automation that is demonstrated through a prototype tool which upon request checks that the system model conforms to the architectural rules and report all violations. The rules are modelled in a subset of UML at the abstraction level of the meaning of the rules. The high abstraction level and the use of UML make the rules both amenable to automation and easy to understand for both architects and developers, which is crucial to deployment in an organization. Results from an action case study on an industrial development project
indicate a high Return On Investment (ROI) for using the approach since it yields a substantial increase in both productivity and quality, while the actual investment
required for training and tooling is small. In addition the approach is very well received by the users who report increased satisfaction in their work.