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