PART II: Synchronous Languages - R K Shyamasundar; S Ramesh (Real Time Programming: Languages, Specification And Verification, 2009)
Several synchronous languages have been proposed in the literature. The principal languages of the family of synchronous languages that have been founded on the perfect synchrony hypothesis are ESTEREL, LUSTRE and SIGNAL. ESTEREL is an imperative language that has its origin in catering to explicit control applications. LUSTRE has been founded on a data flow model, whereas SIGNAL is a relational model that has its origin in the specification of feedback control systems. In a sense all these languages are equally powerful with the exception that SIGNAL is more expressive from the specification point of view. Statecharts is a visual formalism that can in fact be included in the family of synchronous languages considered from the perspective of specifying robust reactive systems. Statcharts are not strictly based on the synchrony hypothesis even though formally it has been defined with respect to asynchronous and synchronous models. Argos is another synchronous language that is based on visual formalism similar to Statecharts based on synchrony hypothesis. It must be noted that all these languages have found significant usage in various industries like Avionics, CAD, Nuclear plant control, Telecom, Automobile etc. In this part (next six chapters), we shall discuss the following languages structure, methodology, semantics and programming of typical reactive real-time systems in ESTEREL.