How do state partitions share information?
In two ways: by reading each other’s histories, and by passing freshly calculated values straight into each other’s parameters. Partition iterations can be thought of as occurring separately within the simulation, but it is important for these separate partitions to be able to pass information to each other.
To understand why this is important, think of a sports team and how each player might change their behaviour depending on the positions of other players on the field. They need to know about each other.
So how do we compose partitions together so that information may be passed between them?
In some sense, this happens already. Each partition may read information from the state partition histories in the iteration to its next values.
This composition allows us to correlate the behaviour of partitions in time.
We might also want to coordinate the iterations of partitions to occur in a particular order, where the first iteration may then pass its calculated next values immediately into the second.
For example, an iteration might calculate the mean statistic from some data and another might calculate the variance. The variance depends on the mean so we need the mean next values to be passed directly into the variance to make sure these are always aligned in time.
To enable coordination, all we need is for a ‘computationally upstream’ iteration to be allowed to pass its next values into the parameters of a ‘computationally downstream’ iteration.