Generic and Extensible Model Weaving and its Application to Building Models
Max E. Kramer · 2012
Many tasks in Model-Driven Engineering (MDE) modify existing models in a way that depends on conditions for affected regions and cross-cuts the primary decomposition. These tasks may appear in different forms such as refactorings, model completions or aspect-oriented model weaving. Although the operations at the heart of these tasks are independent of the domain, generic solutions that can easily be used and customised are rare. General-purpose model transformation languages as well as existing model weavers introduce domain-specific restrictions and accidental complexity. In this thesis we address these problems on the metamodelling level with a model weaver that is extensible and practical because it is generic. For this generic model weaver we consolidate existing work on model weaving in order to provide an enhanced, yet simplified, approach that can be used for arbitrary models. The resulting weaving approach and its prototype implementation cannot directly be compared with tailor-made model weavers but provide an extensible, generic base for domain-specific customisations. We conduct a preliminary validation of the extension capabilities of our approach using a customisation for building models. Furthermore, we investigate the application context for these models in order to analyse perspectives for a complete use case. This use case employs semantically rich, three-dimensional building models, which can capture specific information at a high level of detail. Many of these possible details are, however, not included in the models because existing tools do not provide possibilities to automatically add specific information at all affected places. Thus, these details are sourced out into a separate, natural language text called building specification. As a result, the building models lack some of the information needed for analyses and thus the building specifications have to be manually reinterpreted, which may be time-consuming and error-prone. In this thesis we propose a way to add building specification information to building models using a flexible, controlled natural language that produces aspect models. These aspect models can be woven into the building model using a customisation of our presented generic model weaver. With this application to building models we show that little additional work is needed to customise our generic approach for domains that exhibit outstanding specifics.