An instance hierarchy, merely listing the child name or variable name given in the definition is not always sufficient to give a unique identifier.
Instead, CertSAFE uses instance paths to uniquely name elements within an instance hierarchy. Instance paths can be either instance child names, which identify a unit within an instance hierarchy, or instance variable names which identify a variable name within an instance hierarchy. An instance path starts at the instance root and lists all of the children that must be stepped into to arrive at the named element.
In the CertSAFE GUI, the Instance view shows a tree of all the instance paths in the current GUI root and allows you to navigate to them. There is also an inline notation for instance paths, used in the breadcrumbs bar and other parts of the CertSAFE GUI. For instance child names, the notation consists of
- the symbol □, denoting the root the path is relative to; followed by
- zero or more of
- the symbol ▶, followed by
- a definition child name.
For instance variable names, the notation consists of
- an instance child name, followed by
- the symbol ●, followed by
- a definition variable name.
Instance paths example¶
Suppose we have a diagram named “Internal”, defined as follows:
We also have a diagram named “External”, defined as follows:
Further, suppose that the left-hand copy of Internal has the definition child name “Internal 1” and the right-hand copy has the definition child name “Internal 2”, and that External is set as the current GUI root. Some of the instance paths in this root then include:
- “□” – the root unit
- “□ ▶ Internal 1” – the left-hand instance of Internal
- “□ ▶ Internal 2” – the right-hand instance of Internal
- “□ ● X” – the input of the root unit
- “□ ▶ Internal 1 ● B” – the output of the left-hand instance of Internal
- “□ ▶ Internal 2 ● B” – the output of the right-hand instance of Internal
See the article “Diagrams are not models” for additional examples of instance child names.