Towards the verification of a generic interlocking logic: Dafny meets parameter...
summary
A generic interlocking logic is encoded in Dafny alongside the tool’s C/Python output, and a parameterized model checker is used to synthesize inductive invariants so Dafny can discharge safety proofs. A simplified case study with 5 components, 29 transitions and 18 variables proves two roots never occupy the same track section using Dafny code mirrors C/Python and parameterized model checker yields invariants. Current workflow is manual; goal is automated Dafny generation, automated model‑checker interaction and IDE integration.
AI-written summary · about
chapters (16)
- 0:00Interlocking logic in railways
- 1:02Aida tool for design
- 3:10Generating Dafny code
- 5:58Dafny class structure
- 8:07Formalizing specs in Dafny
- 9:12Modeling scheduler for proofs
- 10:37Early results and manual checks
- 11:41Future automation and challenges
- 12:06Q&A: Domain experts in proofs
- 13:08Q&A: Fully automated verification
- 14:13Q&A: Dafny vs Boogie/SMT
- 15:18Q&A: Property spec logic
- 16:22Q&A: Natural vs formal input
- 17:27Q&A: Model checkers role
- 18:56Q&A: Seagar loop automation
- 20:00Closing remarks
