Diagram Predicate Framework meets Model Versioning and Deep Metamodelling
MetadataVis full innførsel
Model-driven engineering (MDE) is a branch of software engineering which aims at improving the productivity, quality and cost-effectiveness of software by shifting the paradigm from code-centric to model-centric. MDE promotes models and modelling languages as the main artefacts of the development process and model transformation as the primary technique to generate (parts of) software systems out of models. Models enable developers to reason at a higher level of abstraction, while model transformation restrains developers from repetitive and error-prone tasks such as coding. Although techniques and tools for MDE have advanced considerably during the last decade, several concepts and standards in MDE are still defined semi-formally, which may not guarantee the degree of precision required by MDE. This thesis provides a formalisation of concepts in MDE based on the Diagram Predicate Framework (DPF), which was already under development before this work was initiated. DPF is a formal diagrammatic specification framework founded on category theory and graph transformation. In particular, the main contribution of this thesis is the consolidation of DPF and the formalisation of two novel techniques in MDE, namely model versioning and deep metamodelling. The content of this thesis is based on a sequence of publications resulting from the joint work with researchers from the University of Bergen, the Bergen University College and the Autonomous University of Madrid. The work presented in this thesis is neither purely theoretical nor purely practical; it rather seeks to bridge the gap between these worlds. It provides a formal approach to model versioning and deep metamodelling motivated and illustrated by practical examples, while it introduces only the theoretical constructions which are necessary to investigate, formalise and solve these practical challenges.