Electronic Notes in Theoretical Computer Science, 65(5), pages 50-64. Proceedings of the 1st International Workshop on Synchronous Languages, Applications, and Programming (SLAP 2002), Grenoble, France, April 13, 2002.
This paper extends the well-known technique of slicing to synchronous reactive programs. Synchronous languages exemplified by Esterel, Lustre, Signal and Argos, employ a novel model of execution that is found useful for abstract and high level description of complex controllers.
Slicing is well known in the domain of sequential transformational programs and has been found to be useful in analysis, debugging and verification. The classical definition of slicing is inadequate for reactive programs. In this paper, we propose a new definition of slicing for reactive programs. An algorithm for computing slices based upon this definition is developed. We have taken the Argos language for concrete description of our ideas; they are of general applicability and can be applied easily to other synchronous languages.
DOI: [ 10.1016/S1571-0661(05)80440-2 ]