Skip to main content

Weighted Hierarchy

Containment plays a central role in enabling abstraction in software engineering. It describes the relationship between two objects where one object is a part of – or belongs to – the other. It creates hierarchical structures where the parent objects (the containers) contain child objects (the containees). Conceptually, the lifespan of the containees is contingent on that of the container: when the container is deleted, so are the containees. The Weighted Hierarchy SMS exploits the support of composition (a restrictive form of association) in many DSLs to visualise recursive containment relationships, where each element can be attributed an importance or weight.


The Weighted Hierarchy SMS aims to understand (multi-level) hierarchies emerging from containment relationships, and the relevance of their elements. The main sensemaking tasks to answer are:

  • What is the structure of the examined component?
  • What is the relevance of the components?

Presentation metaphor

This is a structural-based SMS. The other SMS that belongs to this group is Connectivity, which relaxes the composition to an association.

Context meta-model

The strategy fuses the concepts of containers and containees into a single class, HierarchicalElement. These have a name and an optional numeric weight which, by default is the size of the children collection. What characterises the SMS is that hierarchical elements are related with themselves via a children composition, supporting recursive containment relationships.

Weighted hierarchy context meta-model.

Visualisation variants

  • The SMS can be visualised with Treemaps spanning multiple levels.


  • title : string [1..1]. Title of the visualisation.