The SD Model in Depth
Factories
Like a transformer, a factory is analogous to a “macro”. A factory is a complex function of any number of model components with a defined interface that can be reused in any model that the user builds. A factory can be warehoused, sold and distributed by third parties. A factory may have dissimilar inflows and outflows that are related to each other over a timeline and through a sequence of operations. A factory may accept an inflow over the timeline of one or more trials in a simulation and perform an analysis to produce a dimensionless statistical result.
A factory has the following basic file structure:
•METEDATA - the minimum metadata to accomplish naming, ownership, version control, traceability, and searchability
•ATTRIBUTE LIST - the attribute list including the common set defined for any component and the unique set defined for the factory
The factory has the following minimum metadata:
•FACT NAME STRING - the plain language name of the factory
•FACT NAME REG - the label assigned to the factory by the Model Builder
•FACT VERSION NUMBER - the factory base reference version number
•FACT VERSION OWNER - the modeler information such as organization name and model URL
•FACT VERSION DATE - the published date
•FACT REVISION NUMBER - an appended factory revision number
•FACT REVISION OWNER - the user who last revised the factory revision
•FACT REVISION DATE - the date of factory revision changes if changes are allowed
•FACT COMPLIANCE - the version of the global system dynamics modeling standard followed by the Model Builder process used to build the factory
•FACT CUSTOMIZED SYMBOL - customized tiff file for this factory
•LOCK MODEL - a value of “NO” (default) or “YES” to prevent Model Builder changes to the factory by a user who is not the factory owner, factory version owner, factory revision owner or authorized by a password
•FACT DESCRIPTION - an abstract of the factory’s scope and use – a “Read Me”
Attributes configured by the Model Builder user for any factory:
•GRAPH - display a high quality formatted graph of an OUTPUT value; a value of “NO” (default) or “YES”
•TABLE - display a high quality formatted table of an OUTPUT value; a value of “NO” (default) or “YES”
•ABSTRACT - publish OUTFLOW to abstraction layers; a value of “NO” (default) or “YES”
•COST - publish COST attributes to abstraction layers; a value of “NO” (default) or “YES”
Production Factories
A production factory typically operates on tangible inflows. The output of a production fatory is a flow of a new good that is a consolidation of the goods in the inflows over a period of time. Two fundamentally different production fatories are defined to support a parallel process and a serial process.
A production factory is an expandable model component with an initial structure, a final structure and a generic structure. Expanding a production factory requires an additional generic structure in the underlying model of the factory.
Attributes optionally configured by the Model Builder user for any production factory 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 INITIAL - a one-time “first cost” for the initial factory structure
•COST FIRST FINAL - a one-time “first cost” for the final factory structure
•COST FIRST GENERIC - a one-time “first cost” for the generic factory structure
•COST TIME INITIAL - a cost per time interval for the initial factory structure
•COST TIME FINAL - a cost per time interval for the final factory structure
•COST TIME GENERIC - a cost per time interval for the generic factory structure
•COST GOOD INITIAL - a cost per unit of good outflowed for the initial factory structure
•COST GOOD FINAL - a cost per unit of good outflowed for the final factory structure
•COST GOOD GENERIC - a cost per unit of good outflowed for the generic factory structure
Several generic production factories are defined:
The serial production factory is an expandable model component that is represented by the following basic model fragment:
The orientation of the production factory structure diagrams deliberately mimics the factory symbol. The serial production factory features a production synchronization mechanism to account for the additive delay or each sequential transformer that is unnecessary for the parallel production factory case.
The parallel production factory is an expandable model fragment that is represented by the following basic model:
Significant work remains to describe production factories.
Finance Factories
A finance factory is defined for accounts that are reported in Income Statements for sources and uses of cash and Balance Sheets for assets, liabilities and equity. This factory is typically applied on the cost abstraction layer of the model, although it may be applied on the primary model layer or any other model abstraction layer that is defined.
The following generic finance factory symbol is defined:
The currency symbol is displayed for US Dollars, Euros, Pounds, Rubles, Yen, Yuan, Won, Rupees or gold ounces. Other currencies may also be supported.
A finance factory is envisioned:
The cost layer finance factory is represented by the following basic model fragment:
Significant work remains to describe finance factories.
Analysis Factories
General analysis factories apply various methods to a single set of data over a trial of time intervals. The Model Simulator provides methods to analyze univariate data from a simulation for volatility, central tendency and cyclic characteristics with analysis factories.
The following generic analysis factory symbol is defined:
The following analysis factories are envisioned:
Significant work remains to describe analysis factories.
Optimization Factories
Optimization factories improve upon a guess for a solution by varying one or more variables according to a set of constraints. The Model Simulator provides methods to optimize model behavior and perform goal seeking with optimization factories.
The following generic optimization factory symbol is defined:
The following optimization factories are envisioned:
Significant work remains to describe optimization factories.
Factories
Production Factories
Finance Factories
Analysis Factories
Optimization Factories
Abstraction Layers, Fragments and Scripts
Appendix: The Modeling Process