Another common use of SubModels is to explicitly separate variability from uncertainty. That is, many models have uncertain parameters as well as variable parameters. An uncertain parameter represents ignorance that can theoretically (but perhaps not practically) be reduced through investigation (e.g., the mean failure time for a batch of light bulbs). Variability is inherent in the system (e.g., the distribution of failure times for a batch of light bulbs) and cannot be reduced.
It is often valuable to explicitly separate uncertainty from variability in a model. With SubModels, this is accomplished by inserting a "variability" SubModel (e.g., a dynamic Monte Carlo simulation) within an outer "uncertainty" model (e.g., a static Monte Carlo simulation). This is referred to as nested Monte Carlo simulation.
Example model UncertaintyVariability.gsm in the General Examples/SubModel folder in your GoldSim directory (accessed by selecting File | Open Example... from the main menu) provides a simple illustration of such an application. In this model, a nested Monte Carlo simulation is used to calculate the confidence in the performance of a system of light bulbs. The outer model samples two probability distributions for values that describe the shape of the failure distribution for the light bulb. The fact that these are distributions indicates that we are uncertain about the precise shape of the failure distribution. The inner model then simulates the performance of the light bulbs (whose lifetime is sampled from a failure distribution with the (uncertain) variables provided by the outer model). The result of this type of analysis is a probability of probabilities (e.g., what is the chance that the probability of the light bulbs lasting less than 6000 hours will be less than one?).