Elements of GeNIe Diagrams: Submodel
From DSL
Submodels Submodels is a construct introduced in GeNIe for the purpose of user interface. Very often, when a decision model is large, it becomes impossible to navigate through its graph - it may look like a spaghetti of nodes and arcs. Luckily, real world systems and their models tend to assume a hierarchical structure. There may be several variables that are strongly connected with each other and only weakly connected with the rest of the model. Such may be the case in a business model - purchasing, production, and sales may be three almost autonomous subsystems that can be connected with each other through a small number of links, their inputs and outputs. A decision maker may want to examine each of these subsystems in detail, but may also want to have a global view of the entire business without unnecessary detail.
Submodels are special types of nodes that host sub-graphs of the entire graph and make the Graph view structured hierarchically. Submodeling facilitates modularity in large models. The internals of a submodel, along with its structure can be examined in separation from the entire model.
To create a submodel in GeNIe, select the Submodel tool (from the Tool menu or the tool from the Standard toolbar) and click on the graph view. You will see a new submodel.
You can change the identifier of the new submodel by right-clicking it and choosing Submodel Properties.
The submodel property sheet look as follows:
The General tab allows to change the identifier and the name of the submodel, the Format sheet allows to change the graphical properties of the submodel icon and is identical to the property sheet described in node property sheets. See Submodel Property Sheet for more information.
Submodel windows can be opened by double-clicking on the Submodel icon or right-clicking on the submodel icon and choosing Open Submodel from the pop-up menu.
Nodes can be moved between submodels by selecting them in the source submodel, dragging, and dropping them in the destination submodel. For example, we might want to create a submodel for the variables Success and Forecast in the influence diagram model used in the Creating Influence Diagrams tutorial. We do this by creating a submodel node, renaming it to Risks, and then dragging and dropping the nodes Success of the venture and Expert Forecast to the new submodel.
The resulting model will look as follows:
Submodels are opened by double-clicking on them. Double-clicking on the submodel Risks yields the following:
One thing that becomes less clear in submodels is the connections that the submodel has with the external world - GeNIe does not show arcs that are coming from outside or that go to the outside world. It does let the user know that there are such connections. First of all, by showing these connections as coming into the submodel node (note the arcs from the submodel node Risks coming into the nodes Invest and Gain at the main model level). It also adds small triangle-shaped marks on the left and right sides of the internal submodel nodes showing that there are incoming and outgoing arcs respectively. The user can examine these connections by placing the cursor over the small triangle. This will display the name of the child of the node in another submodel as follows:
You can locate the child of this node by right clicking and choosing Locate Child from the Node Popup menu. Select the appropriate name from the Locate Child submenu to flash the child on the screen as shown below:
It is possible to add arcs between nodes that are located in different submodels in the very same way that arcs are added between nodes in the same submodel. When more than one arc is drawn between a submodel and a node, then GeNIe draws a double arrow arc from the submodel to the node as shown below:
All the above functions can be also performed through GeNIe tree view.
