In general, a module design of large-scale
systems has been discussed in the literature (E.
Yourdon et al., 1979). It is clear that the design of
each module has a large influence on a system. A
general architecture has strict regulations regarding
module design. In such cases, a module is evaluated
according to the design regulations. However, in our
three-layer architecture, there are no regulations
governing module design. Instead, module design
guidelines exist. We need a method to estimate
whether a given module deviates from these
guidelines. The evaluation of module design of our
three-layer architecture is different from that of
general architectures.
4.4 Evaluation Index of Modules
Module design and its interface are important in
terms of changing module connections while a robot
is operating. It is necessary to estimate whether the
module is of a good design; this is the heart of
evaluating module design. Therefore, evaluation is
estimated first using the number of lines of the
module source code itself. The subsections given
below summarize a number of different indexes we
used for our evaluation.
4.4.1 Degree of Relation
This index shows the strength of the relation of a
module and other modules. The number of lines
used for communication among modules and the
number of lines of an entire module are compared as
follows:
∑
∈
.
(1)
Here, S is a set of programs for communication,
St(S) is the number of lines for the communication
of module x, and M(x) is the total number of lines of
module x. A module should be designed that the
relationship between modules is low. When one
constructs a module with a good design, the related
degree described here is low.
4.4.2 Degree of Concentration
This index shows the strength of the relation among
the functions of a module. Modules are evaluated by
the total percentage of the number of lines of a
related function (Okamoto et al., 2012) as follows:
∑∑
1,
2
∙
1
∙
2
∈∈
.
(2)
Here, F is a set of all functions in modules, Re(f1,f2)
defines the relation of function f1 and f2, which a
modules should be composed of high relationship
function. The degree of concentration becomes high
with good designs.
4.5 Module Design Experimentation
We evaluated a module of a traveling system in
which three modules exist. We calculated the degree
of relation and the degree of concentration of these
modules, and then, we made alterations on the basis
of these calculations. We revalued each module after
such change and argue variability of the entire
system.
4.5.1 Evaluation using the Suggestion Index
We calculated the suggestion index using three
modules (results shown in Table 1). Reviewing the
degree of concentration for module A, it was the
lowest value (less than 50%) as compared with other
modules. Such a module appears to be a bad design;
thus, it was redesigned. The related degree of
module B was also evaluated and was observed to
have the highest value (more than 70%) as compared
with other modules. Therefore, this module was also
redesigned.
4.5.2 Redesign of Modules
Module A was the module that revises the distortion
of the run course. A different calculation system was
included in one module. The degree of concentration
was the low value because different calculation
method exists in single modules. This module
divided every calculation system because a relation
was the low function, which is illustrated in Figure 9.
Next, module B makes a run order with handed
data. The same type of data is received at the same
time. It was designed so that it might be used
exclusively. The degree of relation was the high
value because it was the module from which much
data was received. A data conversion module was
recreated because the same data connected to this
module was set to one, as shown in Figure 10.
4.5.3 Evaluation after Design Changes
Table 2 shows the calculated suggestion index
values after redesign. Both the degree of relation and
the degree of concentration are better. When
changing a module, a programmer is conscious of an
index because an index uses the number of lines of a
given program.
This change will benefit this architecture. While
a robot operates, connections between the modules
Three-LayeredSoftwareArchitectureandItsVariabilityforTeleoperatedSystem
353