Dependency diagrams are an extension of standard graphical
model notation.
Dependency diagrams add to factor graphs
the power to represent indexing, gating, and hard constraints.
This new formalism makes the modeling of
systems with unknown or variable structures explicit and
straightforward.
The dependency diagram framework also
enables the automatic translation of diagrams that represent models
into diagrams that represent Markov chain Monte Carlo sampling
and inference
algorithms, and the subsequent autogeneration of runnable
code.
Source code implementing the dependency diagram framework
within
Mathematica,
along
with files specifying a number of simple models, is available
here.