A Powerful Technique to Reveal System Dynamics
Revisiting Complexity Management in OPM
Managing the complexity of systems is vital for effectively modelling them without losing clarity. Complexity management mechanisms help simplify intricate systems while maintaining a comprehensive representation of their structure and behaviour.
In the last article of this two-part series on complexity management in OPM, we explored the unfolding/folding mechanism in OPM, while allow us to refine a system’s architecture by revealing or hiding its structural components at different levels of abstraction. Today, we’ll dive into another powerful mechanism in OPM: in-zooming/out-zooming, which serves to refine the dynamics of a system.
Decomposing the Dynamics of a System
Complex systems, like aircraft, perform millions or routines and subroutines every second. Yet, if we zoom out far enough, we might simply describe what the aircraft is doing as “flying”. Modelling every subroutine involved in this process on the same diagram would quickly lead to an overwhelming and unusable model. To make such a system understandable, we need to decompose its dynamics, breaking down complex processes into manageable subprocesses. This allows different teams and stakeholders to focus on the specific dynamics relevant to their work, all while maintaining a cohesive view of the entire system.
This is where in-zooming becomes crucial. A process is said to be synchronous when it has to follow a particular execution order. In-zooming allows us to model these synchronous processes at different levels of abstraction, ensuring that their sequence is respected. Unlike unfolding, which is useful for modelling asynchronous processes (where order doesn’t matter), in-zooming is specifically designed to refine processes that have a defined sequence. By breaking down the dynamics across multiple layers, we preserve both clarity and functionality in complex system models.
In-zooming/Out-zooming Applied to Processes
Let’s take a simple example: baking a cake. In the previous article on unfolding, we saw how the process of “Preparing” could be unfolded into two subprocesses — “Ingredients Gathering” and “Equipment Preparing” — which could be performed in any order. But after the preparation is complete, certain processes must be carried out in a strict sequence for the cake to bake properly.
For instance, after preparing, we need to perform “Mixing” followed by “Baking” — clearly, these processes cannot happen in reverse. In this case, in-zooming is the appropriate mechanism. We would zoom into the “Cake Baking” process in a lower-level diagram and reveal the subprocesses in the correct order: “Preparing”, then “Mixing”, followed by “Baking”.
The Timeline OPM principle states that subprocesses are executed from top to bottom. Any processes displayed at the same level of the diagram are understood to be executed in parallel. This visual representation allows for clarity in understanding both the sequence and the potential concurrency of subprocesses in a system.
Furthermore, if we begin with lower-level subprocesses such as “Oven Preheating”, “Oven Baking”, and “Cooling” and find the diagram becoming too cluttered, we can use the reverse operation — out-zooming — to collapse the details and focus on higher-level information. By out-zooming, we simplify the view of the process, hiding intricate details while preserving overall behaviour of the system.
When applying out-zooming to processes, it’s important to be cautious about the types of links connecting those processes. Out-zoomed processes must all share the same kind of link, as the resulting encapsulating process will inherit the dominant link type based on links precedence. For example, “Batter Pouring” might be linked to the “Tartlet Set” using an instrument link, while “Oven Baking” could be connected via a result link. If we out-zoom these two subprocesses, the encapsulated process would default to the result link, as per OPM’s link precedence hierarchy: consumption = result > effect > agent > instrument. Misapplying this principle can lead to confusion in understanding the process flow.
Need a refresher on procedural links? Check out our previous article on this topic.
The ability to zoom in and out dynamically allows stakeholders to focus on the appropriate level of details for their needs. Whether we’re zooming into specific subprocesses or abstracting out to see the bigger picture, OPM provides the flexibility to manage dynamic complexity in a coherent and scalable way.
Decomposing the Physical Structure of a System
A lesser-known but equally valuable use of in-zooming is its application to objects. Although temporal order doesn’t apply to objects as it does to processes, in-zooming into an object implies a spatial arrangement of its subcomponents. This provides a rough, 2D layout of the internal structure of an object, which can be useful in certain modelling contexts.
While this spatial decomposition is not as precise as what you’d find in a CAD software, it serves as a helpful approximation when a detailed layout isn’t required. The 2D arrangement helps modellers and stakeholders visualise how different parts of an object relate to each other within a system, adding another layer of understanding to the system model.
In-zooming/Out-zooming Applied to Objects
To illustrate this, let’s revisit the “Camera” example from the previous article. When we in-zoom into the camera into a lower-level diagram, we can spatially arrange its internal components — such as the “Lens”, “Mirror”, and “Image Sensor” — in a way that represents their physical layout within the system. The OPL sentence will then specify that these components are arranged in this particular horizontal and vertical sequence.
By doing this, we create a rough but useful spatial understanding of the object’s structure. While it’s not as detailed as a CAD model, this approach helps maintain clarity when working at a higher level of abstraction. As with processes, if we need to reduce complexity in the diagram, we can apply out-zooming to hide these internal details, either within the same diagram or across different levels.
Out-zooming objects works similarly to processes: it abstracts away the internal components, allowing us to focus on the object at a higher level while still maintaining the integrity of the model.
Conclusions
Unlike other modelling languages, OPM provides a unique and powerful mechanism for refining system dynamics through in-zooming and out-zooming. This technique allows us to delve into the detailed processes of a system or abstract them out, ensuring that the relevant information is displayed at the right level for the appropriate audience.
In this article, we explored how in-zooming and out-zooming can be applied to both processes and objects, allowing us to manage complexity effectively. In-zooming reveals the temporal and spatial structure of subprocesses and subcomponents, while out-zooming simplifies the view by hiding unnecessary details.
Interested in deepening your knowledge of OPM and advance your skills? Check out our microcourse on OptimiSE Academy!
I hope this article has been helpful in understanding OPM’s dynamic refinement capabilities. Feel free to share your thoughts in the comments below!
Leave a Reply