Content area
Modelling languages play a central role in developing complex, critical systems. In model-based engineering (MBE), models serve as the basis for information exchange and communication between the different stakeholders who design and build the system, and analysis results and artefacts are derived automatically or manually from these models. To construct systems of high quality, most of the quality assessment and assurance efforts are focused on analysing the engineering models, and less attention is devoted to assessing the quality of the modelling ecosystem used in the design workflow. To use the models as the source of information and to analyse the models, modelling languages with precise semantics are essential. A partial or wrong specification of the semantics leads to dangerous misunderstandings and different interpretations of the modelling elements and could hinder the construction of high-quality systems. However, the modelling language specifications are mainly given using informal textual documents, which has the potential to be misunderstood.
This dissertation focuses on the following challenges: 1) How the current practice of defining and assessing modelling languages can be improved to give more precise specifications as a solid, unambiguous and consistent basis for building high-quality engineering models. 2) How the complex and often ambiguous interplay of the numerous modelling elements in a modelling language can be systematically analysed and how to propose guidelines for correct usage to avoid problematic combinations of the modelling elements and misunderstanding of the semantics. 3) Which graph representations and algorithms can be used to process large models efficiently in order to find specific graph patterns in the models to enforce the guidelines.
Firstly, I proposed an approach to assess the semantics of behaviour modelling languages by checking the consistency of the informal and formal semantics specified in the different specification artefacts (specification documents, implementations, and conformance test suite). The applicability of the assessment workflow is demonstrated on the artefacts of the Precise Semantics of UML State Machines (PSSM) specification. The assessment identified ambiguities even in fundamental semantic concepts of the specification. The dissertation proposes recommendations to improve the future modelling languages to be more precise and unambiguous.
Secondly, the dissertation focuses on the emergent behaviour when combining state-based and activity-based behaviour using the doActivity modelling element in UML state machines. I gave a systematic evaluation of the potential issues in the doActivity semantics. DoActivity usage patterns are synthesised to help system engineers recognise the model fragments causing potential issues and apply the recommended countermeasures without requiring deep knowledge of the semantics.
Lastly, this work discusses efficient graph processing in order to find model fragments in a graph model, even when a modeler makes changes in the model editor. I gave a comparison of different graph query incrementalization strategies, both in the case of graph query languages and linear algebra, to efficiently compute the new results after model changes. I proposed a new linear algebraic algorithm for bidirectional multi-source BFS. I assessed the performance of graph processing approaches, including graph database management systems and graph algorithm libraries using sparse linear algebra. Moreover, I discussed the applicability and performance of sparse linear algebraic solution for property graph queries.
The modelling language assessment contributions of the dissertation are demonstrated and evaluated on a state-of-the-art modelling language, while the contributions to efficient graph processing were assessed and implemented in a benchmark suite in an international collaboration.