Advancing Continuous Model-Based Development in Industry

Abstract: For the development of complex software systems, two prominent paradigms have become popular in the industry: model-based development and agile software development. Model-based development holds the promise of improving the productivity of software development through abstraction, by focusing on the problem domain and capturing it in models. Agile methods are sometimes seen as conflicting with model-based development due to their favored short development cycles as opposed to the apparent longer development phases in model-based development. In this licentiate thesis, we explore how development can benefit from combining the two practices successfully into continuous model-based development. We present four papers studying this topic in the industrial development of complex embedded systems. The first two papers present investigations of the current state-of-practice and specific challenges of combining the agile practice of continuous integration and model-based development. In the third and fourth paper, we focus on one of those challenges: model synchronization, i.e. the management of consistency between disparate development artifacts describing the same system. We propose a lightweight approach that notifies developers of introductions of inconsistency between different models. Lastly, we consider a second dimension of the management of different development artifacts: variability. We provide support for alleviating manual tasks in maintaining consistency across variants of models in a product line created to describe system variants.

  CLICK HERE TO DOWNLOAD THE WHOLE DISSERTATION. (in PDF format)