A large number of metrics for evaluating the quality of software
have been proposed in the literature. However, there is no standard
terminology or formalism for defining metrics and consequently many
of the metrics proposed have some ambiguity in their definitions. This
hampers the empirical validation of these metrics. To address this problem,
we generalise an existing approach to defining metrics that is based
on the Object Constraint Language and the Unified Modelling Language
metamodel. We have developed a prototype tool called DMML (Defining
Metrics at the Meta Level) that supports this approach and we present
details of this tool. To illustrate the approach, we present formal definitions
for the Chidamber and Kemerer metrics suite