The Temporal Logic Sugar
- 857 Downloads
Since the introduction of temporal logic for the specification of computer programs , usability has been an issue, because a difficult-to-use formalism is a barrier to the wide adoption of formal methods. Our solution is Sugar, the temporal logic used by the RuleBase formal verification tool . Sugar adds the power of regular expressions to CTL , as well as an extensive set of operators which provide syntactic sugar. That is, while these operators do not add expressive power, they allow properties to be expressed more succinctly than in the basic language. Experience shows that Sugar allows hardware engineers to easily and intuitively specify their designs. The full language is used for model checking, and a significant portion can be model checked on-the-fly . The automatic generation of simulation checkers from the same portion of Sugar is described in . While previous papers have described various features of the language, this paper presents the first complete description of Sugar.
KeywordsModel Check Temporal Logic Atomic Proposition Boolean Expression Basic Language
- 1.Y. Abarbanel and I. Beer et al. FoCs — automatic generation of simulation checkers from formal specifications. In CAV’ 00, LNCS 1855. Springer-Verlag, 2000.Google Scholar
- 2.I. Beer, S. Ben-David, C Eisner, and A. Landver. RuleBase: an industry-oriented formal verification tool. In DAC’ 96, pages 655–660, June 1996.Google Scholar
- 3.I. Beer, S. Ben-David, and A. Landver. On-the-fly model checking of RCTL formulas. In CAV’ 98, LNCS 1427, pages 184–194. Springer-Verlag, 1998.Google Scholar
- 5.A. Pnueli. The temporal logic of programs. In Proc. 18th Annual IEEE Symposium on Foundations of Computer Science, pages 46–57, 1977.Google Scholar