7.3.2 – Creating the Submodel Chart
To create a subchart, simply begin a new flowchart in ProcessModel and place the activities, connections, and any other objects, defining the submodel on the layout.
Then enter the necessary data in the properties dialog for each object and save the file. You can graphically link each sub chart to the main chart so that a right-mouse click will move you from one level to the next.
How To – Create a Link to a Submodel
1. Open the SubModel tab for the process that will be represented by a subprocess.
2. From the Submodel tab, select the Browse button to link to an existing submodel or type in a new name to create a submodel.
3. Select the Activate button to move to the submodel.
Submodel tab will not show on 50 object licenses.
4. If you are linking to an existing submodel, you will now see that model. If you are creating a new submodel, you will now see a blank layout. Build the subprocess on this layout.
5. Name the connecting routes. For more information on naming connecting routes see “Connection Naming” in Chapter 7.3.3.
Submodels may be created independently and linked at a later time by linking to an Existing File, however it is helpful to create the overall structure of the model at the beginning of the modeling project.
6. Saving and exiting from the subprocess will return you to the main process.
Always travel down to a submodel by using the activate button and close submodels when moving to a higher level model. The opening and closing of the models forces the update of Attributes and Variables in each model (i.e. the variables and attributes will be copied in both directions so that all action logic can be executed).
Always travel down to a submodel by using the activate button to make changes. Do not make changes directly to the submodel by opening it without opening from the main model.
Arrivals in the Submodel Chart
You can create a submodel with its own entities and arrivals if you want to test it independently. Arrivals get automatically replaced with inputs coming from the main model when linked into another model, unless no routings or arrivals in the main model map to the arrival in the submodel.
Remember that the routing of entities coming into the submodel from the main model is controlled by the routing or arrival defined in the main model. Likewise, the routing of entities coming from the submodel into the main model is controlled by the routing defined in the submodel.
Naming Variables and Attributes
When naming attributes and variables to be used in a model that will use hierarchical models, you should give each attribute and variable throughout the model a unique name to avoid confusion and unexpected results. Keep in mind that all variables are global. If you define the same attribute or variable in a submodel that was defined in the main model, there will be only one attribute or variable, and it may be used throughout the entire model.
So if you are creating complex models using hierarchical modeling, you may want to establish some internal naming conventions, especially where teams are involved in the modeling project.
Delete Attributes and/or Variables and/or Scenario Parameters
Linked hierarchical model files synchronize data when you save each file. When you delete a variable, attribute, or scenario parameter in one model file, it is added back in from the other linked files during synchronization.
- Unlink your hierarchical model files.
- Make your change in each file and save it.
- Re-link the hierarchical structure