Synchronous Signal Temporal Logic for Decidable Verification of Cyber-Physical Systems

Partha Roop, Sobhan Chatterjee, Avinash Malik, Nathan Allen, Logan Kenwright
3/26/2026
cs.FLcs.CL

No confident code implementation found for this paper.

Abstract

Many Cyber Physical System (CPS) work in a safety-critical environment, where correct execution, reliability and trustworthiness are essential. Signal Temporal Logic (STL) provides a formal framework for checking safety-critical CPS. However, static verification of STL is undecidable in general, except when we want to verify using run-time-based methods, which have limitations. We propose Synchronous Signal Temporal Logic (SSTL), a decidable fragment of STL, which admits static safety and liveness property verification. In SSTL, we assume that a signal is sampled at fixed discrete steps, called ticks, and then propose a hypothesis, called the Signal Invariance Hypothesis (SIH), which is inspired by a similar hypothesis for synchronous programs. We define the syntax and semantics of SSTL and show that SIH is a necessary and sufficient condition for equivalence between an STL formula and its SSTL counterpart. By translating SSTL to LTL_P (LTL defined over predicates), we enable decidable model checking using the SPIN model checker. We demonstrate the approach on a 33-node human heart model and other case studies.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. Any repos shown below are weak matches — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{roop2026synchronous,
  title  = {Synchronous Signal Temporal Logic for Decidable Verification of Cyber-Physical Systems},
  author = {Partha Roop and Sobhan Chatterjee and Avinash Malik and Nathan Allen and Logan Kenwright},
  year   = {2026},
  eprint = {2603.25531},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2603.25531v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2603.25531.svg)](https://codeofpaper.com/paper/2603.25531)

Discussion