Before starting to create and to manipulate objects in the Coffee Maker - Getting Started project, we shall first present the project and its structure briefly. The contents of the project can be discovered by navigating in the Internal Block Diagram and in the Treeview.
Start by docking the Treeview to the left-hand side of the user interface: in this manner, you can visualize both the Internal Block Diagram and the Treeview at all times. You can for the moment close the Palette panel (via the cross in its top right-hand corner). This provides more space for the Internal Block Diagram visualization.
Let us start first to explore the project via the Internal Block Diagram. In this diagram, we can see the several objects, namely
- Coffee Drinkers
- Coffee Maker
- Water Supply
These objects are actually object instances: they each have a unique name and a situated at a given location in the object instance hierarchy. The types corresponding to these object instances can be seen presented in the Properties panel at the right-hand side. Display the Object Properties panel through the Object Panel of the Home Category (Properties button) or by using Ctrl+Shift+P shortcut. Click (a single left-click) on objects to select them.
The types represent an abstract "mold" used to create object instances; the type defines the characteristics of the object instances, such as their appearance, the possible locations in the object hierarchy, available child types, etc.
For instance, the object named Coffee Drinkers is of type Stakeholder while the Coffee Maker and Water Supply are of type System. We can also see several objects represented as flows instead of containers in the Internal Block Diagram. For instance, the Coffee Drinkers object produces a violet flow of type Requirements consumed in the Coffee Maker.
Flows are also objects and the same rules apply to them as to objects represented in container-form. In fact, the starting and end points of flows (i.e. the locations where they are produced and consumed) are represented as containers.
To explore the inner structure of the Coffee Maker object, double-click on it in the Internal Block Diagram. You are now presented with the following view:
We are now viewing the internal structure of the Coffee Maker object. We can see that the name of the parent object (Coffee Maker) is actually displayed at the top left-hand corner of the Internal Block Diagram. The Coffee Maker contains several subsystems, notably
- Water reservoir
- Heating & transfer system
- Brewing & filtering system
- Pouring system
- Storage system
These subsystems are first-degree child objects of the Coffee Maker; Coffee Maker constitutes the parent object of these object instances.
The Water Reservoir is actually of type Component while all the other listed elements are of type System. As the Coffee Maker itself is of type System, this type is of recursive nature. We can also see flows connecting the different subsystems as well as flows and an object related to the stakeholder requirements.
Now, double-click on the Heating & transfer system object. You can see that there are even more subsystems inside this object, notably Low pressure heating system and High pressure heating system.
The flows originating from outside the focus system (Heating & transfer system) are represented using a white port while flows consumed outside the focus system end in a black port.
Let us now go back up in the object hierarchy by using the Navigation Panel of the Home Category. The Go Previous button allows you to go back to the previous focus object. Press Go Previous (or use Ctrl+Shift+Left shortcut) and you return to the Coffee Maker system. The Go Next button allows you to go forward in the object hierarchy (pressing Go Next (Ctrl+Shift+Right shortcut) returns you now to the Heating & transfer system). The Go Parent button takes you one hierarchical level higher (Ctrl+Shift+Up shortcut).
You can also use the treeview to navigate in the object hierarchy. If the treeview panel is not displayed, click on the Show Treeviews button to display it.
At the moment, you should find yourself at the Coffee Maker system. Take a look at the Treeview, you should see that the Coffee Maker is highlighted in light gray.
If you click on the Brewing and filtering system in the treeview, the view in the Internal Block Diagram changes: focus is now on the Brewing and filtering system. Also, in the Treeview, this system is now highlighted. If you now click on the Go Parent button (or use Ctrl+Shift+Up shortcut) in the Navigation Panel of the Home Category, you return to the Coffee Maker level. Note that the Coffee Maker becomes highlighted also in the Treeview.
These two different representations of the system, the Internal Block Diagram and the Treeview are linked. They are also equivalent in the sense that they both contain all the same objects. You can verify this by opening the nodes of the Treeview and exploring their contents. The flows can be seen under the nodes of the final objects producing or consuming them.
There are also a few other useful navigation tools, like Design Panel of the Home Category with its Zoom and Pan buttons or Zoom Panel of the Diagram Category. You can for instance Zoom in on the Internal Block Diagram or, if you want to display all the diagram objects at a time, you can use the Zoom to fit tool.
Return to the Coffee Maker object. Sometimes one wishes to display the internal structure of a given object in the Internal Block Diagram. To do this, right-click on the chosen non-flow object, the Storage system, and choose Expand from the context menu. This enlarges the Storage system object and displays the Coffee pot component inside it. The same can be achieved if double-clicking on [+] button near the Storage system,
Next, we learn about Navigation in Projections.