🤖 AI Summary
Existing MITL verification approaches either support only fragment logics or lack completeness guarantees. Method: This paper proposes a complete satisfiability checking and model-checking framework for Metric Interval Temporal Logic with Past and Present (MITPPL). It introduces symbolic transition encoding and symmetry reduction techniques to drastically compress the reachable state space, achieving exponential performance gains. MITPPL formulas are compiled into networks of timed automata—or equivalently, single timed automata—using pointwise semantics, ensuring seamless integration with mainstream tools including Uppaal, TChecker, and LTSmin. Contribution/Results: The resulting toolchain supports multicore parallel model checking and precisely verifies language equivalence over both finite and infinite words. To the best of our knowledge, this is the first framework enabling efficient and complete verification of the full MITPPL logic.
📝 Abstract
Metric Interval Temporal Logic (MITL) is a popular formalism for specifying properties of reactive systems with timing constraints. Existing approaches to using MITL in verification tasks, however, have notable drawbacks: they either support only limited fragments of the logic or allow for only incomplete verification. This paper introduces MightyPPL, a new tool for translating formulae in Metric Interval Temporal Logic with Past and Pnueli modalities (MITPPL) over the pointwise semantics into timed automata. MightyPPL enables satisfiability and model checking of a much more expressive specification logic over both finite and infinite words and incorporates a number of performance optimisations, including a novel symbolic encoding of transitions and a symmetry reduction technique that leads to an exponential improvement in the number of reachable discrete states. For a given MITPPL formula, MightyPPL can generate either a network of timed automata or a single timed automaton that is language-equivalent and compatible with multiple verification back-ends, including Uppaal, TChecker, and LTSmin, which supports multi-core model checking. We evaluate the performance of the toolchain across various case studies and configuration options.