The language independent domain model of the system is depicted in the following diagram. Domain models for specific languages are detailed in subsequent sections. Referenced types that cannot be located in the workspace are put under the "External" node. External elements are not part of the metrics calculations.