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

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.

[1]  Patrick Cousot,et al.  Abstract Interpretation Frameworks , 1992, J. Log. Comput..

[2]  Wang Yi,et al.  UPPAAL in 1995 , 1996, TACAS.

[3]  Tim Heyer,et al.  Semantic Inspection of Software Artifacts From Theory to Practice , 2001 .

[4]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..

[5]  Patrick Cousot,et al.  Comparing the Galois Connection and Widening/Narrowing Approaches to Abstract Interpretation , 1992, PLILP.

[6]  James J. Hunt,et al.  HIDOORS - a high integrity distributed deterministic Java environment , 2002, Proceedings of the Seventh IEEE International Workshop on Object-Oriented Real-Time Dependable Systems. (WORDS 2002).

[7]  Wang Yi,et al.  Formal Verification of UML Statecharts with Real-Time Extensions , 2002, FASE.

[8]  Staffan Bonnier,et al.  COMPASS: A Comprehensible Assertion Method , 1997, TAPSOFT.

[9]  Tiziana Margaria,et al.  Tools and algorithms for the construction and analysis of systems: a special issue for TACAS 2017 , 2001, International Journal on Software Tools for Technology Transfer.