The first part of the Representation Condition
says that for a given empirically observed relation
between entities, there must exist a numerical
relation between corresponding measured values and
vice versa. In other words, any empirical observation
should be measurable and any measurement result
should be empirically observable. The second part
says a measured value of an entity which is obtained
by the application of an empirical binary operation
on two entities should be equal to the value obtained
by corresponding numerical binary operation
executed over individually measured values of
entities. In other words, complexity of the whole
should be definable in terms of complexities of its
parts and their higher order relations.
For MCCM, the representation condition
requires that (1) if for any two program body e
1
and
e
2
are in more_or_equal_complex relation (i.e.<e
1
,
e
2
>
∈
more_or_equal_complex) then the measured
complexity value of entity e
1
should be greater than
the measured complexity value of entity e
2
(i.e.
m(e
1
) > m(e
2
)) and vice versa. When we reconsider
the program bodies P and Q where Q is the double
of P, we can say that since MCCM is based on the
counting of operators, operands and cognitive
weights of basic control structures, they also become
double or vice versa. Consequently, for part (1) of
the condition we can say that the empirically
observed more_or_equal_complex relation between
two program bodies leads to a numerical binary
relation > among those entities or vice versa.
However, part (1) is only satisfied if there is such
clear empirically observable relations between
program bodies for example P and Q. On the other
hand, in case of P and R since we do not have any
clear empirical relation between them, the
requirement
∀
i
∈
1..n <
e
, …, >
∀
1
i
n
e
i
n
(<m( ),…,m( )>
∈ < ,…, >
1
e
i
n
e
i
S
⇒
1
e
i
n
e
i
R
)
implied by part (1) may not be required anymore.
The formal approach describing such relaxation is
proposed by (Morasca, 2003). He has argued that the
original definition of Representation Condition is
very demanding for state of art of software
engineering measurement. Therefore, he suggested
weakening (only) the first part of the condition two
way link , to a one way link, as follows:
⇔ ⇒
Definition 5: Weak Representation Condition is
defined by[8].
∀
i
∈
1..n < , …, >
∀
1
e
i
n
e
i
n
(< ,…, >∈ <m( ),…,m( )>
1
e
i
n
e
i
R
⇒
1
e
i
n
e
i
(Part 1)
S
)
j
1..m
<
e
, >
1 2
e
×
(m(e
1
o
j
e
2
)=m(e
1
) p
j
m(e
2
))
(Part 2)
When we consider the above example again,
although we can calculate the MCCM values for P
and R, this does not imply the existence of
corresponding empirical relations between P and R.
On the other hand, for a given
more_or_equal_complex relation between P and Q
that can be empirically observable one can always
find corresponding metric values satisfying the
Weak Representation Condition.
For part two of the Representation Condition, we
can say that the complexity value of a program body
which is obtained by concatenation (i.e. the
empirical binary operation) of e
1
and e
2
is equal to
the sum (i.e. the numerical binary operation) of their
calculated complexity values. Therefore, MCCM
satisfies the second part of the Representation
Condition. Finally, we can say that MCCM satisfies
the Weak Representation condition.
Showing the MCCM satisfies the Weak
Representation Condition, we can investigate the
type of the scale for our proposal. In order to be able
to decide on the scale type we need to define the
Weak Scale and Weak Meaningful Statement
concepts (Morasca, 2003).
Definition 6: A weak scale is a triple <ERS,
NRS, m>, where ERS is an Empirical Relational
System, NRS is a Numerical Relational System, and
m is a measure that satisfies the Weak
Representation Condition.
Definition 7: A statement is called Weak
Meaningful Statement if its truth value does not
change if a weak scale is replaced by another weak
scale. Formally, if S(m) is based on measure m and
S(m’) is the same statement obtained by replacing m
with m’, we have S(m)
S(m’).
Based on the notion of weak meaningful
statement we can talk about four different types of
weak scales:
Weak nominal scale: The meaningful statements
of this class of scales are of the form m(e
1
) = m(e
2
)
for at least one pair of entities e
1
and e
2
. If for one
scale, m(e
1
) = m(e
2
) is satisfied for a pair of entities
e
1
and e
2
then we must have m’(e
1
) = m’(e
2
) for all
other scales m’.
Weak ordinal scale: <ERS, NRS, m> is a weak
ordinal scale if m(e
1
) > m(e
2
) is a weak meaningful
statement for at least one pair of entities e
1
, e
2
. It is
not required that m(e
1
) > m(e
2
) or m(e
1
) = m(e
2
) be
weak meaningful statements for all pairs of entities
e
1
, e
2
.
Weak interval scale: <ERS, NRS, m> is a weak
interval scale if (m(e
1
) – m(e
2
)) / (m(e
3
) – m(e
4
)) = k
ENASE 2007 - International Conference on Evaluation on Novel Approaches to Software Engineering
22