Section: New Results
Formal Verification of Transformations on Data Dependency in Synchronous Compilers
Participants : Van-Chan Ngo, Jean-Pierre Talpin, Paul Le Guernic.
We propose an approach to prove the data dependency semantic preservation of transformations in a synchronous compiler (such as that of Signal). In the Signal language, the scheduling or data dependency is expressed implicitly through polychronous equations. We use Synchronous Data-flow Dependence Graphs (SDD Graphs) [46] , [50] to formalize the data dependency semantics of polychronous equations. A tuple is a SDD graph if and only if:
is a dependence graph with I/O nodes: the inputs and the output such that , are subsets of and and are disjoint.
is a mapping labeling each edge with a clock; it specifies the existence condition of the edges.
For instance, for the counter example:
we get a SDD graph with:
Let and to be two SDD graphs which represent the data dependency semantics of source and transformed programs, we say that is a correct transformation of on data dependency, or refines w.r.t the data dependency semantics, if it satisfies that for any pair of nodes with :