|
Objects in this document may appear out of sequence if not viewed with Internet Explorer |
|
ORMSware NMOD Primer: Chapter 10 |
|
|
Note:
This is the layer that gives NMOD the edge of being a modeling as well as programming environment. It removes assumption-induced constraints and complexities inherent in packages that confine analysts to using just network objects to formulate a problem, limiting the function of each basic node to evaluating
only one expression, and the function of arcs to merely indicating dependencies between variables.
We think the downside of the flexibility NMOD offers is that the analyst has to do a little extra work to implement a model while also assuming the risk associated with such freedom. But, this risk and the little extra work required provide the analyst with a disproportionate amount of modeling flexibility and power, and reduction in modeling cycle time when problems are complex and large scale. |
Hierarchical logical networks give us visibility into a problem more than spreadsheets can and, by extension, much more than programs can. Thinking about surrogates traveling through networks representing customers is an easy way to envision the dynamics of a problem. What makes a model come alive and perform everything the way we envision are the instruction sets in network objects. As explained earlier, these instruction sets are evoked by surrogates as they reach and enter the network objects in a model.
Instruction sets in networks are expressed in terms of the following:
Analyst can choose the data type s/ he wants to use for any given user-defined property. We will discuss this in detail shortly.
|
System properties |
System properties are certain exposed NMOD variables which the analyst can retrieve as well as manipulate. NMOD variables that should not be used or changed by analysts are protected appropriately from potential manipulation. Some system properties are made available for read-only use through various exposed NMOD functions. You will find tables of manipulatable system properties, exposed NMOD functions, etc., and their descriptions, in Appendix A.
Global properties are user-defined scalar variables that can be set and retrieved from any point in a model. Global properties can be used to define variables applicable to the overall environment of the situation being modeled. For example, in a financial or macroeconomic model inflation rate could be defined as a global property; in a manufacturing model, total fixed cost of an operation could be defined as a global property; in a transportation model, cost of fuel could be defined as a global property; and so on.
A global property set in a network object is available immediately to entities at all network objects in the model.
|
Customer Token properties |
There are two types of Token properties, viz. predefined properties and user-defined properties. Predefined properties are procedures, data structures, arrays and scalar variables relevant to each token. These properties are already set up in NMOD. Some of these properties are hidden from the user. Some are read-only, accessible through exposed functions provided by NMOD. Others can be manipulated by the user. You will find a table of these variables and functions in Appendix A.
User-defined Token properties are typed scalar variables the analyst can create, access and manipulate on-the-fly from anywhere in a model. Changes in properties of a given token are applicable by default only to that token and surrogates created to serve that token. However, the analyst can write logic to have an entity access and manipulate properties of any token.
|
Surrogate properties |
There are two types of Surrogate properties, viz. predefined properties and user-defined properties. Predefined properties are procedures, data structures, arrays and scalar variables relevant to each surrogate. These properties are already set up in NMOD. Some of these properties are hidden from the user. Some are read-only, accessible through functions provided by NMOD. Others can be manipulated by the user. You will find a table of these variables and functions in Appendix A.
User-defined Surrogate properties are typed scalar variables the analyst can create, access and manipulate on-the-fly from anywhere in the model. Changes in properties of a given surrogate are applicable only to that surrogate. However, the analyst can write logic to have an entity access and manipulate properties of any surrogate, or properties of a token represented by that surrogate.
| Note: Next version of NMOD will enable analysts to create user-defined derived-type, array and pointer properties for tokens and surrogates. |
|
Click to go to Chapter 9: Creation, assignment and disposal of tokens and surrogates |
|
Click to go to Chapter 11: Properties and notations |
|
Click to go to Introduction: NMOD Primer |