In the world of simulation modeling, it’s not uncommon to encounter models with thousands of blocks. This complexity can make it challenging to understand what is happening within the model. Fortunately, hierarchy offers a powerful solution to this problem.
Imagine you’re building a model in ExtendSim. Your model grows as you add more complexity and starts to look like a spaghetti model. What if you could combine some of those blocks into a single, higher-level construct that represents a specific part of your process? And then, take several of those new constructs and combine them into an even higher-level construct creating many subsystems or submodels? This is the magic of ExtendSim’s hierarchical capability.
Your model isn’t just a flat, one-dimensional diagram. Instead, it’s displayed in layers, allowing you to drill down from the highest system level to the smallest detail.
Now, why would you want to use hierarchical blocks? Here are a few reasons:
Simplify Complexity: By grouping areas of the model into hierarchical blocks, you can simplify and organize a complex model.
Logical Presentation: Instead of showing all the details at once, you can present a model as a few simple, logical steps. To reveal the subsystems within a step, just double-click the hierarchical block.
Productivity and Comprehension: Create a hierarchical block that visually represents a process element. Save it in an ExtendSim library for reuse in other models.
Structured Development: When developing a new model, start with simple assumptions and gradually add complexity by creating more levels of hierarchy. This helps structure your thinking and makes the model easier to follow.
Documentation and Enhancement: Hierarchical blocks can also be used for documentation. They could act as popup windows that reveal pictures, text, and more when double-clicked.
Hierarchical blocks are unique because they have characteristics of both a block and a model worksheet. They can contain no blocks, one block, a group of blocks, or even other hierarchical blocks. They can also include text, graphics, cloned dialog items, and pictures.
You can copy hierarchical blocks to other areas of the model or to other models using them just like other blocks. The parameters within a hierarchical block can be changed by double-clicking it and then double-clicking the desired interior block’s icon or changing the block’s cloned dialog items.
Hierarchical blocks have their own worksheets with notebooks and structures, similar to ExtendSim model windows. You can add blocks from a library, create new hierarchical blocks, add graphics, type labels and text, and clone dialog items on these worksheets.
The components of a hierarchical block (icon, connectors, or Help text) can be changed by accessing its structure window. Unlike other blocks, hierarchical blocks are saved directly in the model as copies by default, allowing them to be treated like a copy of a portion of the model. You can copy a hierarchical block to another part of your model and make changes without affecting the original block—this is known as physical hierarchy.
Alternatively, you can save a hierarchical block in a library, treating it like a regular block. When you make changes to the block’s structure window and choose to update all instances of that block, it’s known as pure hierarchy.
In summary, hierarchy is an invaluable tool in simulation modeling, simplifying complex models and making them more intuitive and manageable. By organizing models into hierarchical blocks, you can create a more user-friendly and realistic representation of the processes being simulated.