A framework for multi-model consistency management
MetadataShow full item record
Original versionStünkel, P. (2022). A framework for multi-model consistency management [Doctoral dissertation]. Western Norway University of Applied Sciences.
Software systems have become crucial for society and the economy to function. Constantly they are permeating more and more application domains. Also, they are getting increasingly integrated with already existing systems. As a result, the development and maintenance of such systems are getting increasingly complex as well. Abstraction is a central key to tackle this complexity. Thus, the software engineering research discipline conceives software systems through the means of models, i.e. simplified representations of reality that simultaneously describe and prescribe the structure and the behaviour of these systems. When engineering system’s integration, the overall design involves multiple models at the same time because each model focuses on a specific aspect of the overall system. This setting is commonly called a multi-model. A major open challenge in software engineering is to maintain the consistency of a multi-model: The individual members of a multi-model are often overlapping and are authored by distinct stakeholders, which may result in inconsistencies, which negatively affect the quality of the system under development. Hence, there is a necessity for a recurring activity, which I am going to call multi-model consistency management throughout this thesis. This general activity includes several challenging software engineering sub-problems such as aligning heterogeneous models, automatic consistency verification and model repair, therefore touching on a range of related research fields. In this thesis, I address limitations with existing approaches and develop a solution to the issue of multi-model consistency management. The fundamental novelty of my solution is its ability to handle multi-models of arbitrary arity because established approaches are mainly limited to binary situations. Software engineering is a constructive scientific discipline and, therefore, this thesis follows a constructive approach. In particular, three artefacts are constructed: (i) A conceptual model of the problem domain; (ii) A formalism called comprehensive systems (iii) A prototype tool called CorrLang. Each artefact marks a contribution to the existing body of scientific knowledge providing value for both researchers and practitioners in software engineering. The conceptual model provides methodological value for software engineers, software architects and decision-makers dealing with multi-model consistency management problems by providing guidelines for analysing concrete scenarios. The formalism provides theoretical value and allows to abstractly represent and reason about inter-related software models in a technology-independent way, which can be used to develop solutions on a high level of abstraction. Simultaneously, it represents a generalisation of existing formalisms that have been used to describe the synchronisation of multi-models. Finally, the prototype provides practical value, which on the one hand, demonstrates the implementability of the conceptual and the formal framework, and on the other hand, it is directly applicable for end-users to solve concrete multi-model consistency management problems.