Top of the World

BIS repositories have a strict hierarchical organization. This page describes the top of that hierarchy and how it functions as a table of contents for the repository as a whole. This table of contents consists of:

  • RepositoryModel
  • Subjects
  • InformationPartitionElements


Every BIS repository has exactly one RepositoryModel that defines the top of the hierarchy. Elements can be inserted into to or updated within the RepositoryModel, but the RepositoryModel itself cannot be deleted.

The RepositoryModel is the only Model in a BIS repository that does not have a ModelModelsElement relationship and an "owning" Element


Subjects are Elements that are used to identify things that the repository is about. The Subject class cannot be specialized (subclassed). The most important capabilities of Subject are:

  • It can have a UserLabel (inherited from Element)
  • It can have a Description
  • It can have child Subjects
  • It can have child InformationPartitionElements

Subjects only exist in the RepositoryModel.

Every BIS repository has exactly one root Subject that describes what the repository as a whole is about.

  • The root Subject - like all Subjects - is contained by the RepositoryModel.
  • The root Subject has no parent element as it is the top of the Subject hierarchy.
  • The root Subject can be updated, but it cannot be deleted.

Child Subjects (optional) can be introduced to further organize the contents of the repository.

  • Child Subjects - like all Subjects - are contained by the RepositoryModel.
  • Child Subjects have another Subject as a parent.


As discussed in Modeling Perspectives Subjects can be viewed and modeled from multiple modeling perspectives (physical, functional, analytical, etc.). InformationPartitionElements are used to "partition" a Subject into different modeling perspectives.

When it is determined that a Subject is to be modeled from a particular modeling perspective, an InformationPartitionElement of the appropriate modeling perspective is added as a child of the Subject. That InformationPartitionElement is the start of a Model hierarchy representing the modeling perspective. The InformationPartitionElement is immediately broken down into a Model of the same modeling perspective.

It is possible for a Subject to have multiple InformationPartitionElements of the same modeling perspective. An example of this would be having two StructuralAnalyticalPartitions for a building (the Subject) that has an isolation joint that divides the building into two separate structures.

InformationPartitionElements always have a parent Subject and are never used outside of the RepositoryModel.

Next: Single Responsible Party Principle

Last Updated: 05 June, 2020