Contradicting the general intuition that aspects make programs smaller due to
reuse, the OO version and its counterpart in AO did not present
significant gains in relation to the four classical metrics: Vocabulary Size (VS),
Number of Operations (NOO), Lines of Code (LOC), and Number of Attributes
(NOA). The VS metric in Fig. 6 shows that the AO implementation needed to define
9.32% more components (classes þ aspects) than the OO version. This di®erence is
justified by the presence of several new aspects in the AO implementation of the HW
system. Such aspects are used to modularize the design by contract concern which is
completely tangled and scattered in all the system layers.