Type-based initialization analysis of a synchronous dataflow language

  • Authors:
  • Jean-Louis Colaço;Marc Pouzet

  • Affiliations:
  • ESTEREL Technologies, Park Avenue 9, Rue Michel Labrousse, 31100, Toulouse, France;Université Pierre et Marie Curie, LIP6, 8 rue du Capitaine Scott, 75015, Paris, France

  • Venue:
  • International Journal on Software Tools for Technology Transfer (STTT) - Special section on tool integration applications and frameworks
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

One of the appreciated features of the synchronous dataflow approach is that a program defines a perfectly deterministic behavior. But the use of the delay primitive leads to undefined values at the first cycle; thus a dataflow program is really deterministic only if it can be shown that such undefined values do not affect the behavior of the system. This paper presents an initialization analysis that guarantees the deterministic behavior of programs. This property being undecidable in general, the paper proposes a safe approximation of the property, precise enough for most dataflow programs. This analysis is a one-bit analysis – expressions are either initialized or uninitialized – and is defined as an inference-type system with subtyping constraints. This analysis has been implemented in the Lucid Synchrone compiler and in a new Scade-Lustre prototype compiler at Esterel Technologies. The analysis gives very good results in practice.