Revised JUGS model
An updated version of jugsBeynon1988
The jugsBeynon1988 model still illustrates the basic functionality of the JUGS program, but no longer works effectively with versions of tkeden that incorporate clocking (see the file JUGSproblem.txt for details). Specifically, if the delay() function is defined in such a way that it makes heavy processing demands, the modeller cannot intervene when updating activity is in progress without detroying the integrity of the model. This is most unsatisfactory, since such intervention is fundamental to the conception of Empirical Modelling. The new version of the JUGS model below addresses this problem by making use of clocking to orchestrate agent interaction.
In this version, the monolothic "program agent" that performs all the different varieties of pouring action in jugsBeynon1988 is replaced by a family of agents, at most one of which is active at a particular instant according to the current value of the observable option. This model can be exercised in such a way as to illustrate traditional JUGS program use, but also allows interleaving of pouring activities and modeller intervention in a free and flexible fashion. This illustrates the enhanced responsiveness that the clocking mechanism introduces, in contrast to previous mechanisms that in effect are no longer supported.