This document contains a short theory of molecules, a description of how to install molecules for use with Vensim, and then a tutorial showing how to use molecules in Vensim.
Theory
Molecules are the building blocks of good system dynamics models. Molecules, and their organization, provide a framework for presenting important and commonly used elements of model structure to novice and experienced model builders. By having access to tried and true formulations, modelers can review what has been done before and modify or directly incorporate these formulations into their own models. Molecules are now implemented in software, making it faster and easier for novice and experienced modelers to develop high quality system dynamics models.
Background
Developing the skills to create good system dynamics models takes many years. Few people, unfortunately, have that much time to devote. Once a person has come to grips with the ideas of feedback, structure, and behavior, he/she is often called upon to use that knowledge by developing a simulation model. Lacking a breadth of experience, the development of such models is difficult and time consuming and the resulting model is often of less than acceptable quality.
Developing good models requires the modeler to abstract from a problem sufficiently to get a concise and usable formulation. As an example, consider the problem of determining the average skill level of workers in a factory. One correct, concrete way to do this would be to track each individual worker. Since this is not practical, a reasonable dynamic approximation might be an aging chain. An alternative, and more compact representation would be a productivity coflow (a coflow with a learning effect). Knowing that these two options are available, and knowing which one to choose, requires some exposure to the concepts in formal training, review of other models, or reinvention of the structures. Molecules provide a methodology for helping novice and experienced modelers to choose appropriate structure for the problem at hand.
Stocks, Flows and…
At the very early stages of learning how to build models, people discover the difference between stocks and flows. Finer distinctions and other concepts such as auxiliaries, constants, lookup tables, and equation formulation are also typically introduced. After this introduction, most teaching is by example, with no usable taxonomy presented for further learning. This is very much like providing a clear explanation of wood and nails and then letting students watch a house being built in order to learn how to do so themselves.
Just as standard substructures and assembly techniques are used in building houses, frequently recurring and nearly standard substructures are used in building models. Some of these substructures, such as first and third order delays (Forrester, 1961) and coflows (Hines 1983, Homer 1983) have been documented and explicitly discussed. Most, however, remain implicit, part of the knowledge base that each individual develops.
Molecules
These elements of structure are called "molecules." Molecules are made of primitive stock and flow or auxiliary elements and are, in turn, the building blocks of complete models. A molecule is an element of substructure that serves a particular purpose. The analogy with chemistry is not exact, but the name does convey much of the same spirit. One of the simplest molecules, and one that probably appears in most models, is the decay process.
For a simple molecule such as this, it is probably easiest to simply check the form and enter the structure and equations directly. However, for more complicated molecules, it will be easier to incorporate molecules into a model and make the appropriate modifications to appearance, naming conventions, and equations.
Molecules are currently formulated as complete dynamic models. Since components of molecules (such as the level in the above example) may already be in place in a model, there needs to be flexibility on how much of the molecule to include. Portions of a molecule can be copied and incorporated into a model.
Molecules and Objects
Molecules are closely related to what are called "classes" in object oriented programming. The material delay molecule is derived from the decay molecule and is used in the aging chain molecule. Similarly, the productivity coflow is derived from the standard coflow, which is derived from a smooth (Hines 1983). This object-oriented organization is very helpful because it provides a good way to learn about successively more complicated molecules. Once a molecule is thoroughly understood, it is a much easier task to understand the other molecules that derive from it.
Molecules and Archetypes
It is useful to distinguish between molecules and archetypes (Senge 1990). Archetypes present dynamics lessons that have been learned from systems having certain structural characteristics. Molecules are building blocks from which structure is created. Molecules improve the ability to represent structure, but do not draw dynamic lessons from particular structures.
Software for Molecules
The current implementation of molecules is an add-on to the Vensim® software. Ultimately, the molecule framework will be available as a stand-alone application that will allow users to look up, experiment with, and classify molecules in a number of different ways. The molecules will be available for use with system dynamics software supporting the model interchange format (MIF) protocol (Myrtveit 1995). This will allow anyone with system dynamics software to use molecules.
A Taxonomy
The following diagram represents a preliminary selection of molecules and their relationships.
The diagram above is presented when the user selects the Vensim menu item Windows>Molecules. Double clicking on any of the names in the diagram brings up that molecule. The user can then select the molecule (or a portion of it), copy it to the clipboard, and insert it into the model they are working on. Once this is done, the normal Vensim tools are used to rename the model elements, change the units of measurement, and finish construction of the model.
References
Forrester, Jay W. (1961). Industrial Dynamics. Cambridge MA: MIT Press.
Hines, James H., (1983). "New Coflow Equations." MIT System Dynamics Group working paper D-3488.
Homer, Jack B. (1983). A Dynamic Model for Analyzing the Emergence of New Medical Technologies. Ph.D., M. I. T.
Myrtveit, Magne (1995). "Models Crossing the Boundaries of Tools." In Toshiro Shimada & Khalid Saeed (Ed.), System Dynamics '95, 1 (pp. 170-179). Tokyo
Senge, Peter M. (1990). The Fifth Discipline: the Art and Practice of the Learning Organization. New York: Doubleday/Currency.