@techreport{TR-DCC-94-01, number = {DCC-94-01}, author = {de Lucena, Fábio N. and Liesenberg, Hans K. E.}, title = {A Statechart Engine to Support Implementations of Complex Behaviour}, month = {March}, year = {1994}, institution = {Department of Computer Science, University of Campinas}, note = {In English, 26 pages. \par\selectlanguage{english}\textbf{Abstract} The {\em statechart} notation was devised for specifying complex behaviour of reactive systems. The gap between a behaviour described in terms of statecharts and its implementation, however, is still very large due to its intricate semantics and its main purpose as specification language. In order to overcome this gap we propose a new technique which frees the programmer from the subtle and error-prone activity of mapping a specification into an implementation. The technique is centred upon a reactive kernel. \par The reactive kernel consists of an invariant {\it engine} which interprets statechart specifications. Actions are suplied in terms of a set of subroutines in C. The engine invokes these subroutines at proper instants during the application execution as a reaction to particular events. The reactive kernel implementation is the major issue of this paper. In order to exemplify our proposal the behaviour of a toy application is employed. } }