The SD Model in Depth
Stocks
Stocks store a good in the model. Goods flow into a stock and out of a stock.
Unbounded Stocks
An Unbounded Stock stores a tangible or intangible good in the model without any limitation to the volume of the good in the stock or the rate of flow of the good in or out of the stock. An unbounded stock typically sits on the model’s boundary with the “rest of the world”.
The unbounded stock symbol is a stylized “cloud” or “puddle”. The following is the conventional unbounded stock symbol:
Attributes configured by the Model Builder user for any unbounded stock:
•GOOD - the good that the stock holds
Component Interfaces on an unbounded stock allowed by the Model Builder process:
•from or to any type of flow
Error Conditions detected and prohibited by the Model Builder process:
•none
Other Behaviors and Characteristics:
•an unbounded stock implicitly accepts “spillage” from custom stocks and leakage from custom flows without an explicit connection to the custom stock or flow
Modeled Stocks
A Modeled Stock stores a tangible or intangible good in the model. A modeled stock is supplied the good over time by one or more inflows according to the type of modeled stock and optionally delivers the good with one or more outflows according to the type of modeled stock. The quantity of the good in the stock is continuously monitored and available to any converter or modeled process as a “variable” value. All the inflows and outflows connected to a modeled stock deliver the same good – a modeled stock stores only one good.
Three modeled stock types are defined for the Model Builder process:
•Containerized Modeled Stock is a simple stock type that accumulates a good from one or more inflows and delivers the good to zero or one outflow
•Queued Modeled Stock is a simple stock type that accumulates a good from one inflow and delivers the same quantity of good to one outflow after a configurable time delay
•Custom Modeled Stock is a complex stock type that incorporates the combined characteristics of both containerized and queued stocks, and adds other refinements to their models such as negative levels, level overflow, LIFO queues, level erosion, multiple outflows and thresholding in addition to the level for any inflow or outflow that the user configures
The modeled stock symbol is a stylized rectangle. The following are modeled stock symbols:
Attributes configured by the Model Builder user for any modeled stock:
•GOOD - the good that the stock holds (optional)
•UNIT - the unit of measure for the good (optional)
•ANIMATE - a value of “NO” or “YES” (default)
•GRAPH - display a high quality formatted graph of LEVEL; a value of “NO” (default) or “YES”
•TABLE - display a high quality formatted table of LEVEL; a value of “NO” (default) or “YES”
•ABSTRACT - publish LEVEL to abstraction layers; a value of “NO” (default) or “YES”
•COST - publish COST attributes to abstraction layers; a value of “NO” (default) or “YES”
Attributes optionally configured by the Model Builder user for any modeled stock to describe the corresponding Cost Abstraction Layer basis:
•COST ACCUM PERIODIC` - accumulate cost for the period described in the simulation specification; a value of “NO” (default) or “YES”
•COST FIRST - a one-time “first cost”
•COST TIME - a cost per time interval
•COST GOOD - a cost per unit of good stored
Attributes configured by the Model Builder user for a containerized modeled stock:
•LEVEL INITIAL - the stock’s initial level value
•LEVEL THRESHOLDS - “NONE” (default) or values for MN range, MJ range, CR range
Attributes configured by the Model Builder user for a queued modeled stock:
•DELAY INITIAL - the stock’s initial delay
•DELAY FORMULA - the formula to calculate the stock’s delay value
•DELAY THRESHOLDS - “NONE” (default) or values for MN range, MJ range, CR range
The attributes of the custom modeled stock are a “superset” of attributes including those of the containerized modeled stock and the queued modeled stock defined above. In addition, the following attributes are configured by the Model Builder user for a custom modeled stock:
•STALE - a value of “NO” (default) or “YES” to age the value of the stock’s good
•STALE INITIAL - the stock’s initial level age
•STALE THRESHOLDS - “NONE” (default) or values for MN range, MJ range, CR range
•WASTE - a value of “NO” (default) or “YES – BEGIN” to erode the level of the stock’s level at the beginning of the interval or “YES –END” to erode the stock’s level at the end of the interval
•WASTE FORMULA - the formula to calculate the erosion of the stock’s level
•WASTE THRESHOLDS - “NONE” (default) or values for MN range, MJ range, CR range
•NETFLOW THRESHOLDS - “NONE” (default) or values for MN range, MJ range, CR range
•CONSTRAIN MAX - stock LEVEL > CONSTRAINT MAX not allowed; a value of “NO” (default) or “YES”
•CONSTRAINT MAX - the maximum allowed positive stock LEVEL value; mandatory if CONSTRAIN MAX = “YES”
•CONSTRAIN ZERO - stock LEVEL < 0 not allowed; a value of “NO” or “YES” (default)
•CONSTRAIN MIN - stock LEVEL < CONSTRAINT MIN not allowed; a value of “NO” (default) or “YES”;
•CONSTRAINT MIN - the minimum allowed stock LEVEL value; mandatory if CONSTRAIN MIN = “YES”
•OUTFLOW RATION - the rule to provide a good to multiple outflows when the level is insufficient; a value of “SMALLEST-FIRST” or “LARGEST-FIRST” or “PROPORTIONAL” (default)
•QUEUE ORDER - FIFO (default) or LIFO
Component Interfaces on a modeled stock allowed by the Model Builder process:
•from or to any type of modeled flow
•from or to a factory according to its unique rules
•from or to a model component as an internal variable value
•from an external variable or an adjusted variable
Error Conditions detected and prohibited by the Model Builder process:
•none
Other Behaviors and Characteristics:
•a containerized stock formula is trivial and built automatically as the user connects flows to the stock
•a queued stock is strictly FIFO by definition
•a queued stock is interchangeable with a delayed flow in the model
•a modeled stock may be added to the model by “dropping” it onto any flow line to bisect the flow
•the GOOD and UNITS of a stock are implicit if the stock is connected through a flow to another stock where GOOD and UNITS have been previously defined
Stocks
Unbounded Stocks
Modeled Stocks
Abstraction Layers, Fragments and Scripts
Appendix: The Modeling Process