Consistency of Interrelated Software Models

Project owner

Western Norway University of Applied Sciences, Department of Computer science, Electrical engineering and Mathematical sciences

Project period

September 2017 - September 2021

Project summary

The efficient development of correct, secure and reliable software systems is a crucial activity in our modern computing-dependant society. 
Likewise it is also a challenging activity.
Thus, Software Engineering (SE) as a scientific research discipline investigates methods, tools and concepts to achieve this goal.
A major branch of SE, Model Driven Software Engineering (MDSE), investigates the usage of \emph{models} as the primary assets in the software development process.
Models are abstractions.
They act as specifications for the system under development and/or representations of real world phenomena. 
The grand idea of MDSE is that given the respective infrastructure, i.e. powerful code generation and model interpretation tools, one can develop and reason about software by \emph{only} considering the underlying model.

An important observation about today's Software Systems is that they are increasingly connected. 
Systems that used to be developed and used in isolation are now exchanging data with each other due to new or changed business requirements.
Hence, interoperability becomes a major concern.
Interoperability means that systems can send each other information that the communication partner can read (syntactical) and interprets in the same way (semantical).
Interestingly, this has been identified as a major issue in MDSE as well.
A complex system is usually comprised of a multitude of models (viewpoints) specifying different aspects.
Lacking interoperability between involved modeling environments has been identified to hamper the success of MDSE in general.
At the same time does the conceptual approach of MDSE offer promising possibilities for the correct design of system integration.

This PhD research project thus aims to get a better foundational understanding of interrelated software models, notions about their consistency and possible means for consistency restoration by seeking answers to the following research questions:

  • What is a suitable formal framework that captures models, their relationship and a notion of consistency?
  • How are consistency violations detected? (Both for structural and behavioural models)
  • How can consistency violations be resolved? (Both for structural and behavioural models)