The version 9.1 release of iThink & STELLA introduced a new approach to modeling complex systems: hierarchical modules. Modeling with modules can really simplify the way you think about, construct and communicate systems.
Since a lot of customers are now getting their feet wet with modules, we’ve been receiving a steady stream of questions. We asked our Director of Product Development Karim Chichakly to compile a list of frequently asked questions that he thought would be useful for anyone using modules. The questions and answers are listed below. If you have any additional questions, post them in the comments and we’ll respond.
What is a module?
A module is a container for lower-level model structure. It is designed to support a process of top-down model design and development.
What is a module input?
A module input is a variable that can become the ghost of another variable at a different level of the module hierarchy. It becomes the ghost when you assign it to that other variable. After it is assigned, it is referred to both as a cross-level ghost and an assigned module input. All of this is managed transparently if you use the ghost tool.
What is a module output?
When a variable is designated as a module output, you are telling the software that this variable can be ghosted on a different level of the module hierarchy. While any variable can be a module output, it is important to carefully manage which variables you intend to be shared across modules.
How are modules different from Decision Process Diamonds (DPDs)?
DPDs were designed to collapse one level of structure and hide non-essential details while modules were designed for top-down development of complex models. Their goals are very different and so is their behavior. While it is true that modules can be used to replace DPDs, the reverse is not true.