# Static DPNs

Hello,
I don't quite understand the sequence of firings listed at the bottom, and why does it start with the matrix (0,0,0,6)?

The vectors denote the number of tokens available in the buffers of the DPN, each component of such a vector corresponds with one of the buffers. When firing some nodes of the DPN, these nodes consume tokens from the input buffers and produce tokens to its output buffers.

The initial vector (0,0,0,6) was chosen quite arbitrarily, we just have to make sure that there are enough tokens to survive one period of the schedule. When the first node h fires, it consumes 3 tokens from buffer g->h so that there are then 6-3=3 tokens left. It also produces 3 tokens for each one of the buffers h->f and h->g so that we get there 0+3=3 tokens each. The same happens in the other firings where sometimes two nodes are fired and then their effect is added.

The important matter of fact is that a periodic schedule must end with its initial state so that all buffers are balanced, and we can repeat that infinitely often. You can do the same with an initial state like (0,0,0,8) or any other one that allows to fire all the nodes for the required number of times.
by (165k points)

+1 vote