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.