Date: 17 Sep 1999

A translation of statecharts to esterel


Statecharts and Esterel are two formalisms that have been widely used in the development of reactive systems. Statecharts are a powerful graphical formalism for system specification. esterel is a rich synchronous programming language with supporting tools for formal verification. In this paper, we propose a translation of Statecharts to esterel and discuss such an implementation. A characteristic feature of the translation is that deterministic Statechart programs can be effectively translated to esterel and hence, the tools of verification of esterel can be used for verifying Statechart programs as well. The translation serves as a diagnostic tool for checking nondeterminism. The translation is syntax-directed and is applicable for synchronous and asynchronous (referred to as the superstep model) models. In the paper, we shall describe the main algorithms for translation and implementation and illustrate the same with examples. We have built a prototype system based on the translation. It has the advantages of the visual power usually liked by engineers reflected in Statecharts and of a language that has a good semantic and implementation basis such as esterel that can be gainfully exploited in the design of reliable reactive systems.