Driver/Transform Demo Instructions

A Prototype File

The driver/transform demonstration allows you to build a network of driver and transform units and then use this network to generate a graph. Initially, the applet should look as in Figure 1.

Version 1.0.7 of the driver/transform demonstration differs only from the preceding version 1.0.6. in that the SHA-1 64-bit encrypted Java Signing Certificate has been upgraded to 128-bit SHA-2 encryption, as required by the latest browsers.

Figure 1: The applet without a file.

Since the applet's file chooser always starts with your home directory, and since you probably don't want to clutter up your home directory with XML files, I recommend that you establish a working folder directly under your home directory. A single working directory will suffice for all the applets on this site.

A sample network is described in the file Statgen-Prototype.xml. Follow the instructions given in here to download Statgen-Prototype.xml into a working folder under your home directory.

To load the file, click on and use the file chooser to locate Statgen-Prototype.xml in its download directory. Once the file is successfully loaded, the applet will display the file path and a block diagram. This new display is shown in Figure 2.

Figure 2: The applet after Statgen-Prototype.xml has been loaded.

This Prototype configuration sets the random seed to 0, and then uses the Lehmer driver to generate 100 decimal values in the driver range — that is, in the continuous range from zero to unity. Since the fracturing grain and levelling grains are both unitary, the output from the Lehmer generator will be neither fractured nor leveled. Rather, these Lehmer 100 values become input to the Trapezoidal transform, which is configured to distribute values uniformly over the vertical range of the graph. You can view the graph by selecting the “Graph” tab. Each click on will display the next 100 samples in the sequence.

Selecting a Driver

Notice that there is NO save button. Clicking on in any unit immediately records your changes in the underlying file. Likewise, changes made using the Driver or Transform drop-downs will immediately be saved to file. I have not asked you to change anything in Statgen-Prototype.xml up to now, but since I am about to have you change over from the Lehmer to the Brownian driver, the first thing you should do is save your existing configuration under a new file name. Select the Configuration tab and click on . Use the file chooser to create a new file in your working directory named Statgen-Brownian.xml.

Now locate the Driver unit and use the drop-down to change from Lehmer to Brownian. The Driver unit will now look as shown in Figure 3.

Figure 3: The Driver unit after Lehmer was changed to Brownian.

At this point you can gain an appreciation of Brownian sequences by observing how changes to the Mode and Deviation controls affect the behavior of the graph. You can then explore other sequence-generating methods by choosing from the driver types listed in Table 1.

SpreadEqually spaced values in ascending order.(Sample count)
LehmerClassic random numbers.Derrick Henry Lehmer
BorelFlip a coin to go up or down.
Choose a value uniformly in the selected region.
Emile Borel
ModerateChoose two boundaries uniformly in the selected region.John Myhill
BalanceSelect bit values by recursive statistical feedback.Charles AmesDepth — Number of controlled bits.
Heterogeneity — Randomness at knife edge.
OneFSelect bit values by iterative Bernoulli trials.(Dodge and Jerse)Depth — Number of controlled bits.
Weight — probablility of flipping the most significant bit.
BrownianEach successive value is normally distributed around its predecessor.Albert EinsteinMode — WRAP or REFLECT.
Deviation — average magnitude of change between consecutive samples.
LogisticXn+1=λXn(1-Xn).λ — ranges from 3.5 to 4.
BakerLike the position of a raisin in dough which a baker repeatedly folds in half and flattens out.μ — displacement factor (ranges from 0 to 1).

Table 1: Driver Options

Selecting a Transform

DiscreteUniformAll weights equal.Jacob BernoulliLimit — The number of values, which range from 0 to Limit-1.
TrialTwo outcomes: 0 and 1Jacob BernoulliWeight — The proportion of 1's in the population.
BinomialCount the number of successes obtained after N Beroulli trials.Jacob BernoulliWeight — The proportion of successful trials.
Trials — The number of trials N.
Negative BinomialCount the number of trials required to obtain N successes.Jacob BernoulliWeight — The proportion of successful trials.
Trials — The number of successful trials N.
PoissonCount the number of events that happen in a time interval.Simeon-Denis PoissonMean — The average number of events in the time interval, which is the reciprocal of the average duration waiting between events.
ContinuousTrapezoidalDensity evolves linearly.Origin — The density at the lowest value in the range.
Goal — The density at the highest value in the range.
ProportionalDensity evolves along an equal ratios curve.Origin — The density at the lowest value in the range.
Goal — The density at the highest value in the range.
MyhillAs originally formulated by Poisson and used by Xenakis, this distribution models waiting durations between random events such as catching fish in a lake.
Myhill added the Ratio parameter.
Simeon-Denis Poisson
John Myhill
Mean — The average waiting duration.
Ratio — The ratio between the maximum and minimum durations.
NormalThe classic bell curve of statistics.Abraham deMoivreMean — The average waiting duration.
Ratio — The ratio between the maximum and minimum durations.
Cosine ExponentialDensity δ(x) = expRatio∗cos(x/2π)Ratio — the maximum weight, which pertains at both boundaries (0 degrees), divided by the minimum weight, wich pertains in the center (180 degrees).
Table 2: Transform Options

The Trapezoidal, Proportional, and CosineExponential transforms implement Left and Right boundary parameters; however in this demonstration these boundaries map to the bottom and top of the graph. The Normal transform implements a Mean parameter; however, this demonstration fixes the mean mid way between the top and bottom of the graph.


To activate fracturing in a configuration derived from Statgen-Prototype.xml, locate the Fracture unit, set the Grain parameter to a value larger than one, and click on .

Figure 4: An activated Fracture unit.


To activate levellngi in a configuration derived from Statgen-Prototype.xml, locate the Level unit, set the Grain parameter to a value larger than one, and click on .

Figure 5: An activated Level unit.

Building Configurations from Scratch

This last set of instructions explains how to build a driver/transform configuration from scratch. By far the majority of visitors to this side need not continue on this page, because the full potential of this demonstration applet can already be achieved using variations on Statgen-Prototype.xml. Indeed the Prototype configuration effectively imposes pass-trough conditions on the Transform, Level, and Fracture units — it is up to you to activate these features.

For those of you who have chosen to press on, the first thing to do is get into the Configuration tab and click on . Use the file chooser to locate your working directory and create a new XML file. I have chosen “Statgen-NewBuild”, but you can choose what you want. As Figure 6 shows, configuration diagram will display a Document unit with no input.

Figure 6: A just-created configuration for Statgen-NewBuild.xml.

Notice that the dangling input link for the Document unit terminates with an add-unit icon (). Compare this with Figure 2, which linked units together using delete icons (). To add an input unit, click on . Figure 7 displays the responding Select Input dialog.

Figure 7: Selecting input for a Document.

As the drop down indicates, Document units accept input from Driver, Fracture, Level, or Transform units. Select Level for the moment, and click on . The configuration diagram will adapt as shown in Figure 8.

Figure 8: A Document unit receiving input from Level.

Oops! I really meant to specify a Transform unit. Revert the diagram to Figure 6 by clicking on the linking Document to Level. Second, click on the now dangling after the Document. Respond this time to the Select Input dialog by selecting Transform. Figure 9 shows the corrected block diagram.

Figure 9: A Document unit receiving input from Transform.

We just need a Driver to complete the configuration. Click on the dangling after the Transform. As before, a Select Input dialog appears. This drop down indicate that Transform units accept input from Driver, Fracture, or Level units. Select Driver and click on . The completed configuration diagram is shown in Figure 10.

© Charles Ames Page created: 2013-05-31 Last updated: 2015-04-24