Integrating Topological Proofs with Model Checking to Instrument Iterative Design
Abstract
System development is not a linear, one-shot process. It proceeds through
refinements and revisions. To support assurance that the system satisfies its
requirements, it is desirable that continuous verification can be performed
after each refinement or revision step. To achieve practical adoption, formal
system modeling and verification must accommodate continuous verification
efficiently and effectively. Our proposal to address this problem is TOrPEDO, a
verification approach where models are given via Partial Kripke Structures
(PKSs) and requirements are specified as Linear-time Temporal Logic (LTL)
properties. PKSs support refinement, by deliberately indicating unspecified
parts of the model that are later completed. We support verification in two
complementary forms: via model checking and proofs. Model checking is useful to
provide counterexamples, i.e., pinpoint model behaviors that violate
requirements. Proofs are instead useful since they can explain why requirements
are satisfied. In our work, we introduce a specific concept of proof, called
topological proof (TP). A TP produces a slice of the original PKS which
justifies the property satisfaction. Because models can be incomplete, TOrPEDO
supports reasoning on requirements satisfaction, violation, and possible
satisfaction (in the case where the satisfaction depends on unknown parts).