This paper presents a new method for compiling the concurrent synchronous language Esterel into sequential C code. The method is optimized for embedded systems with very tight memory and real-time constraints. Source code is sliced into small code sequences called halt points, statically scheduled so as to be compatible with Esterel semantic. Speed reaction is optimized without increasing code size, by executing at each reaction only active code sequences. Performances are compared to other compilation methods with industrial size examples and results show significant performance improvement.
We present a tool for the design and validation of embedded real-time applications. The tool integrates two approaches, the use of the synchronous programming language ESTEREL for design and the application of model-checking techniques for validation of real-time properties. Validation is carried out on a global formal model (timed automata) taking into account the effective implementation of the application on the target hardware architecture as well as its external environment behavior.Keywords : real-time computing, embedded applications, real-time constraints, compiling, synchronous languages, validation, timed automata, model-checking, external environment modelling.
-IntroductionThe correct behavior of real-time applications depends not only on the correctness of the results of computations but also on the times at which these results are produced. Their development requires rigorous methods and tools to reduce development costs and "time-to-market" while guaranteeing the quality of the produced code (in particular, respect of the temporal constraints).The above requirements motivated the development of the TAXYS tool, dedicated to the design and validation of real-time telecommunications software.One of the major goal of the TAXYS tool is to produce a formal model that captures the temporal behavior of the ✲ This work is supported in part by the RNRT project TAXYS.† From the source code of the application, an ESTEREL program annotated with temporal constraints, the TAXYS tool produces on the one hand self-sequenced executable code and on the other hand a timed model of the application. This model is again composed with a timed model of the external environment in order to obtain a global model which is statically analyzed to validate timing constraints. This validation should notably shorten design time by limiting tedious test and simulation sessions.We present the TAXYS tool and the associated approach. In section 2, we expose the general architecture of TAXYS and the different steps of the development of an application with this tool. In section 3, we provide two simple examples illustrating the approach.
-TAXYS architectureThe use of synchronous languages [3] for the development of real-time reactive applications relies on a "synchrony assumption" meaning that the application reacts infinitely fast with respect to its environment. This assumption, very convenient in practice, must be validated for a given implementation on a target machine. In this validation, dynamic features of the machine and of the external environment must be taken into account. The speed of the machine determines duration of atomic actions executed in synchronous program computation steps. In practice, validating the synchrony assumption amounts to show that the environment does not take too
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.