WG211/M3Pouzet
Marc Pouzet
Title:
A Conservative Extension of Synchronous Data-flow with State Machines
Speaker: Marc Pouzet
Slides: slides.pdf
Abstract:
In this talk, we present an extension of a synchronous data-flow
language such as Scade/Lustre with
imperative features expressed in terms of powerful state machine.
This extension is fully conservative in the sense that all the programs from the
basic language still make sense in the extended language and their
semantics is preserved.
From a syntactical point of view this extension consists in
hierarchical state machines that may carry at each hierarchy level a
bunch of equations. This proposition is an alternative to the joint
use of Simulink and Stateflow but improves it by allowing a fine
grain mix of both styles.
The central idea is to base this extension on the use of
clocks, translating imperative constructs into well clocked
data-flow programs from the basic language. This clock directed
approach is an easy way to define a semantics for the extension, it is
light to implement in an existing compiler and experiments show that
the generated code compete favorably with ad-hoc techniques.
The proposed extension has been implemented in the Reluc compiler of
Scade/Lustre developped at Esterel-Technologies and in the Lucid Synchrone
compiler.