Improving Software Quality in Safety-Critical Applications by Model-Driven Verification

  • Authors:
  • Anders Henriksson;Uwe Aßman;James Hunt

  • Affiliations:
  • Linköpings Universitet, Linköping, Sweden;Linköpings Universitet, Linköping, Sweden;Forschungszentrum Informatik, Karlsruhe, Germany

  • Venue:
  • Electronic Notes in Theoretical Computer Science (ENTCS)
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

We propose a new development scheme for quality-aware applications, quality-driven development (QDD), based on the Model-Driven Architecture (MDA) of Object Management Group OMG. We argue that software development in areas, such as real-time systems, should not only rely on code verification, but also on design verification, and show that a slightly extended MDA process offers the opportunity to integrate system development together with design verification. As an instance of the method, we present the MDA-based tool environment of the HIDOORS project [Karlsruhe James Hunt. Forschungszentrum Informatik. High-integrity distributed object- oriented real-time systems. http://www.hidoors.org]. In this environment, a real-time model checker is interpreted as a platform in the sense of MDA. UML designs can be annotated with verification markup, which is not only compiled to code, but also to a design verification model of the verification platform, the model-checker. In this way, model-checking for real-time designs is integrated into the model-driven development process and allows for early verification. The approach can easily be transfered to other verification techniques. We give a preliminary classification of the possible verification platforms and analyse their interplay. The analysis reveals that for quality-aware application areas, the standard MDA approach should be extended by one or more MDA stacks for model-driven verification (MDV). The resulting approach, quality-driven development (QDD), is, to our knowledge, the first systematic approach to integrate code generation and verification in model-driven development.