"Years of experience modelling complex hierachical systems in UML and SysMLhave taught
me that the only sensible and practical way to organise diagrams of assemblies is to use wrapper Components."
This is the BIG TRICK for working with complex hierarchical systems !
In this alternative I use parasitic <<composition>> "wrapper" Components to visually reinforce the assembly structure. Experience shows that for complex real-world systems it is very difficult and fiddly to diagram without such wrappers. To use a Component as a <<composition>> wrapper, create a Component and place it on the diagram then move an assembly block (parent) and its composed children into the wrapper on the diagram. THE OWNERSHIP OF THE BLOCKS WILL NOT BE AFFECTED. (By contrast, if you move blocks in the containment browser into a Component it will steal ownership of the blocks.)
The process can be repeated throughout the system, so that one can then easily move and organise any assembly and its children throughout the composition hierarchy. You can now move the composition wrappes around the diagram and it moves its assembled hierarchy. Very cool, very useful, and much easier than working with multi-select. This technique also promotes a systematic diagramming and engineering process.
Note how the non-composed references are also now clearly distinguished from the composed ones.
TIP: create your own <<composition>> stereotype for the wrapper Components.
TIP: use a faint border style for the wrapper components.
TIP: Create a wrapper style under Options->Project_Options->Symbols_properties_style using clone style.
DISCLAIMER: this technique is not standard SysML, however it is supported in the MagicDraw's SysML Plugin.

