Towards a proof of the Kahn principle for linear dynamic networks
We consider dynamic Kahn-like data flow networks, i.e. networks consisting of deterministic processes each of which is able to expand into a subnetwork. The Kahn principle states that such networks are deterministic, i.e. that for each network we have that each execution provided with the same input delivers the same output. Moreover, the principle states that the output streams of such networks can be obtained as the smallest fixed point of a suitable operator derived from the network specification. This paper is meant as a first step towards a proof of this principle. For a specific subclass of dynamic networks, linear arrays of processes, we define a transition system yielding an operational semantics which defines the meaning of a net as the set of all possible interleaved executions. We then prove that, although on the execution level there is much nondeterminism, this nondeterminism disappears when viewing the system as a transformation from an input stream to an output stream. This result is obtained from the graph of all computations. For any configuration such a graph can be constructed. All computation sequences that start from this configuration and that are generated by the operational semantics are embedded in it.