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

Dr. James J. Hunt, Anders Henriksson, Uwe Aßman


1 May 2005
ENTCS Vol. 133 May 2005 - Electronic Notes in Theoretical Computer Science (ENTCS) Volume 133, May, 2005



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.]. 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.

Download: Archived at ACM Digital Library