A calculus for esterel

Spencer P. Florence, Shu Hung You, Jesse Adam Tov, Robert Bruce Findler

Research output: Contribution to journalArticlepeer-review

4 Scopus citations

Abstract

The language Esterel has found success in many safety-critical applications, such as fly-by-wire systems and nuclear power plant control software. Its imperative style is natural to programmers building such systems and its precise semantics makes it work well for reasoning about programs. Existing semantics of Esterel generally fall into two categories: translation to Boolean circuits, or operational semantics that give a procedure for running a whole program. In contrast, equational theories enable reasoning about program behavior via equational rewrites at the source level. Such theories form the basis for proofs of transformations inside compilers or for program refactorings, and defining program evaluation syntactically. This paper presents the first such equational calculus for Esterel. It also illustrates the calculus's usefulness with a series of example equivalences and discuss how it enabled us to find bugs in Esterel implementations.

Original languageEnglish (US)
Article number61
JournalProceedings of the ACM on Programming Languages
Volume3
Issue numberPOPL
DOIs
StatePublished - Jan 2019

Keywords

  • Esterel
  • Semantics
  • Synchronous Reactive Programming

ASJC Scopus subject areas

  • Software
  • Safety, Risk, Reliability and Quality

Fingerprint

Dive into the research topics of 'A calculus for esterel'. Together they form a unique fingerprint.

Cite this