Automatic Proof of Refinement among Design Patterns using the TLC Model Checker
نویسنده
چکیده
Design patterns are reuse artifacts meant to improve the quality of software designs as well as the productivity of designers. Patterns (and their relationships) are mostly described in an informal fashion which leads to ambiguity and limits tools support. This has worsened with the growing number of well-established and candidate patterns. This paper discusses how to formally specify the "solution element" of patterns and their relationships using TLA+, the formal specification language of Temporal Logic of Actions (TLA). The paper first classifies and formally defines the most common relationships between patterns. Then, it shows how to automatically proof the existence of a "refines" relationship between patterns using TLC− the TLA+ Model Checker.
منابع مشابه
Stepwise Refinement Validation of Design Patterns Formalized in TLA+ using the TLC Model Checker
Spec ∆ = Abstract !Spec This is P ’s specification theorem Spec ⇒ AbstractSpec Spec is Q ’s specification Figure 2: Structure of a TLA+ refinement of patterns
متن کاملDesign Verification for Sequential Systems at Various Abstraction Levels
ion and Refinement for Design Verification at Logic Level Abstraction refinement has recently emerged as an enabling technology for applying model checking techniques to large real-life designs. Previous techniques for abstraction refinement work on static abstractions, in that the abstract model produced by the abstraction algorithm is not modified by the downstream model checking. We propose ...
متن کاملAutomatic Flow Analysis for Event-B
In Event-B a system is developed using refinement. The language is based on a relatively small core; in particular there is only a very small number of substitutions. This results in much simpler proof obligations, that can be handled by automatic tools. However, the downside is that, in case of software development, structural information is not explicitly available but hidden in the chain of ...
متن کاملA Fully Verified Executable LTL Model Checker
We present an LTL model checker whose code has been completely verified using the Isabelle theorem prover. The checker consists of over 4000 lines of ML code. The code is produced using the Isabelle Refinement Framework, which allows us to split its correctness proof into (1) the proof of an abstract version of the checker, consisting of a few hundred lines of “formalized pseudocode”, and (2) a...
متن کاملTranslating B to TLA + for Validation with TLC
The state-based formal methods B and TLA share the common base of predicate logic, arithmetic and set theory. However, there are still considerable differences, such as the way to specify state transitions, the different approaches to typing, and the available tool support. In this paper, we present a translation from B to TLA to validate B specifications using the model checker TLC. The transl...
متن کامل