The LogicalWrapper is a new graphical grouping element proposed for UML and SysML1. The LogicalWrapper may not own elements that are not LogicalWrappers2, it merely groups elements logically and graphically (visually) according to a logical context indicated by its name, with traceability of the logical members of the grouping. Any element that may be a logical member of a LogicalWrapper may be a member of more than one LogicalWrapper.
The proposed symbol for the LogicalWrapper is a simple rectangle, with a name header similar to that of a Class symbol, a compartment for logical graphical grouping, and an optional listing compartment for logical members. A LogicalWrapper may be used in any UML or SysML diagram that supports element symbols that can be graphically contained within the proposed rectangular
symbol for a LogicalWrapper.
Graphical containment, in supportng diagrams, of wrapped symbols by the proposed rectangular symbol for a LogicalWrapper implies logical membership (grouping) of the elements represented by those symbols, but does not imply ownership or containment in any sense in the underlying model. A LogicalWrapper may itself be wrapped by another LogicalWrapper (nested) if the outer wrapper provides a relevant context for the inner wrapper.
A proposed relatonship Wraps can be used to indicate members of a wrapper when graphical containment is not used. Two LogicalWrappers may be related to each via binary relatonships. Logical wrapping is presented as a parasitic organisational mechanism that is orthogonal to the “physical” ownership of elements afforded by Packages, Models, and other Namespaces. The LogicalWrapper shares some of the membership tracking powers of the SysML ElementGroup, and – like the SysML ElementGroup – it may be extended to help support elicitation of model elements through Graphical Parsing Analysis (although that is not its primary application).