Estonian Winter Schools in Computer Science
Eesti arvutiteaduse talvekoolid
Synchronous programming was proposed in the early eighties, as a paradigm for designing reactive systems. Therefore, the application domain mainly consists in computer systems performing real-time control over a physical environment, like those encountered in industrial control.
In the synchronous model, the behaviour of a program is a sequence of steps (or logical instants), which can be triggered by events coming from the environment, or simply by periodic activations. All the processes share this same logical time scale, and are involved in all the reactions.
In these lectures, we will illustrate the main principles of synchronous programming through the presentation of two synchronous languages: the data-flow language Lustre, and the imperative language Esterel. Apart from a standard introduction to the languages and their use, the lecture will concern specific problems related to their semantics and their compilation, together with dedicated verification techniques.
Modified Apr 09, 2006 0:02 by ewscs06(at)cs.ioc.ee