
 
 
becomes lower than the lower bound predefined (see 
the right figure of Figure12). 
Operation2. Use the metrics M2 to integrate the 
objects. The coupling operations provided should be 
performed to lead the M2’s value to converge into 
the dotted rectangular area.  
 
Figure 12: Object integration schema. 
4.2 Discussions 
Reengineering programs using the toolkit by haptics 
was examined. In the Appendix, the metrics of the 
program experimented are depicted. The original 
program was reorganized using several coupling 
methods following the methodology described in 
section 4.1, and the reorganized metrics were 
collected.  
Table 2 shows five experimental results. The 
transition of metrics 1 and 2 of the programs 
followed by the coupling schema is shown in Figure 
13. In Figure 13, the original program is denoted as 
O1, and the succeeding reorganization of the 
program is described as arrows. Three programs, O1, 
O2 and O3, are reengineered. S stands for Sound, 
and objects are integrated by sound coupling, C 
stands for Colour, and objects are integrated by 
colour coupling.  M1(Y1) and M1(Y2) are the 
boundaries of metrics 1, and the program had better 
be in this boundary when reorganized. M2(X1) and 
M2(X2) are the boundary of metrics 2; M2(X3) and 
M2(X4) are the other boundary of metrics 2. These 
boundaries are predefined and the integration of 
objects was performed to be converged in these 
boundaries. 
Michele Lanza (Lanza, 2006) computed the 
methods per class (M1) and the lines per method 
(M2) by analyzing 45 java projects, and showed that 
the average of M1 is 7 ranging from 4 to 10, and the 
average of M2 is 10 ranging from 7 to 13. The 
suitable metrics area of the program by the reference 
(Lanza, 2006) is between M2(X1) and M2(X2) for 
metrics 2 and between M1 (x 1) and M1 (x 2) for 
metrics 1. 
In Figure 13, it can be seen that the metrics M1 
for the program O1 was decomposed, and changed 
the metrics M1 to B1 and B2, and then changed to 
C1 and S1 after integration. The program O3 is 
decomposed, and changed to B3, and then integrated 
to S1. If we follow the reference (Lanza, 2006), only 
an object O2 had the appropriate metrics, and O3’s 
reengineering was performed well, but O1’s 
reengineering was not appropriate. 
5 CONCLUSIONS 
This paper described the software reengineering 
toolkit with tangible user interface by using haptic 
device. The system framework of the toolkit, the 
program decomposition method and several 
coupling methods of the objects are described. Two 
types of the tangible user interface by haptics, the 
active user interface and the passive user interface, 
are introduced. Several object coupling methods are 
described and discussed. The methodology of the 
program integration by using haptic device is 
proposed. Two metrics, methods per class and lines 
per method, are adopted, and some experiments for 
software program reengineering were performed. 
The discussion of the results examined the 
usefulness of the toolkit. 
Software visualization is changing from 2D to 
3D, and the user interface is changing from GUI to 
TUI (Ishii, 1997). The interface devices with body 
movement, and 3D visualization tools with more 
sophisticated metaphor are emerging (Wettel, 2011). 
This paper introduced the new tangible user 
interface by using the haptic device, and examined 
some experiments. 
However, we need more efforts for practical use. 
Shaping up the toolkit, and validating the 
effectiveness of the toolkit with more experiments, 
we are going to use the toolkit to the first 
programming course to learn the style of the 
program, and also be going to provide to the people 
who is not familiar with the  programming.  
ACKNOWLEDGEMENTS 
This study was partially supported by JSPS 
KAKENHI Grant Number 24501142. 
REFERENCES 
Lanza, M., Marinescu, R., 2006. Object oriented metrics 
in practice, New York. 
SoftwareReengineeringToolkitwithTangibleInterfacebyHaptics
355