System Architect can be configured to support box-in-box diagrams on the basis that underlying references between definitions will be updated on adjusting node symbols to contain or not contain other node symbols. Embedding a node symbol within another will have the effect of populating a reference property from the embedded definition to the embedding definition. Likewise changing a diagram so that a symbol is no longer embedded will have the effect of removing the reference the old embedding item. A property can be defined to allow the user to turn off the behavior – see below.
Note that System Architect will not auto-build box-in-box diagrams from definitions. This is because in most cases users can be expected to have carefully laid out diagrams and we would have to destroy the existing diagram layout to achieve this.
Instead we present inconsistency errors and a report can be run from the Report menu to hide them or to obtain an explanation from the perspective of the rules for the embedding behavior.
To suppress refreshing of the inconsistency indicators
The refreshing of the inconsistency indicators can be suppressed with the following diagram property. Here it is defaulted to ‘F’ so that if you start with a new diagram they would not appear at all until shown using the command on the Reports menu.
RENAME SYMBOL "User 1" TO "OU-OU" RENAME SYMBOL "User 2" TO "OU"
SYMBOL "OU-OU" { REPRESENTS IMPLICIT RELATIONSHIP "Organizational Unit"."EmbeddedIn" ASSIGN TO A EMBEDDEDBY }
SYMBOL "OU" { DEFINED BY "Organizational Unit" ASSIGN TO A }
Note For node user symbol types you are only just starting to use, meaning you are adding a RENAME “User n” statement for this purpose: In order to obtain the full benefit of representational consistency such as removing symbols when the definitions are removed, use the REPRESENTS NODE keywords instead of DEFINED BY.
Explicit relationships
You can employ Explicit Relationship definitions to support box-in-box relationships. The direction of the relationship is the same; from the embedded item to the embedding item.
Taking example from DoDAF2:
FROMDEF and TODEF references and RELATIONSHIP specification:
Enabling property involving type number of relationship definition:
See Property "Auto-create/update 1380" below: 1380 is the definition type number. The symbol type number can also be used.
DIAGRAM "OV-05b BPMN Operational Activity Model (DM2)" { Property "Auto-create/update 1380" { Edit Boolean DEFAULT "T" LABEL "Auto-create/update ActivityPerformedByPerformer definitions on moving symbols" HELP "Populates Activity, Performer references" } }
Assigning a symbol that can represent the definition type to a diagram using the EMBEDDEDBY keyword:
SYMBOL "activityPerformedByPerformer (DM2r)" { REPRESENTS EXPLICIT RELATIONSHIP "ActivityPerformedByPerformer (DM2r)" Assign To "OV-05b BPMN Operational Activity Model (DM2)" EMBEDDEDBY }
Note For node user symbol types you are only just starting to use, meaning you are adding a RENAME “User n” statement for this purpose: In order to obtain the full benefit of representational consistency such as removing symbols when the definitions are removed, use the REPRESENTS NODE keywords instead of DEFINED BY.