Model-Based Reasoning: A Principled Approach for Software Engineering

Research output: Contribution to journalArticlepeer-review

7 Citations (SciVal)


The software engineering industry suffers from almost unmanageable complexity both in the products it produces and in the processes of production. One of the current shortcomings in the software production process is the weakness of the models used. This paper makes observations on the role of knowledge in engineering and examines the central role of models and simulation. We develop an argument for the application of certain new forms of modelling methods in software engineering in order to impose more discipline and give a principled framework for building models that can support the software life-cycle. The concept of a model is examined in depth and different characteristics and types of model are defined. This introduces the relatively new concept of qualitative models and their use in the field known as model-based reasoning. Unlike previous knowledge-based methods, model-based reasoning has several important advantages. Although very few model-based software projects exist, we illustrate how this approach can be developed by drawing on applications from traditional engineering. It is argued that, because qualitative modelling offers great power for addressing the issue of complexity, such models have considerable potential as high-level abstractions of software products. These could form the core of tools for the management and support of the software development process through the whole product life-cycle.
Original languageEnglish
Pages (from-to)179-189
Number of pages11
JournalSoftware - Concepts and Tools
Issue number4
Publication statusPublished - 2000


  • Model-based systems
  • Qualitative reasoning
  • Software modelling


Dive into the research topics of 'Model-Based Reasoning: A Principled Approach for Software Engineering'. Together they form a unique fingerprint.

Cite this