= 5. In a normal situation, each task executes its
service according to its primary path. Once, for
some reason, service N becomes unavailable. In this
case, the service switching occurs. Service N will be
switched to its alternative which is service E, which
depends on service G. Task1’s degree of coupling
has now increased from 8 to 13 as discussed earlier.
Task2, at the same time, has increased its overall
degree of coupling from 5 to 16 due to the switching
across tasks. Since both Task1 and Task2 belong to
the same system, the total degree of coupling of this
system has increased from 8+5 = 13 to 13+16 = 29.
The increased degree of coupling of a system
implies that it becomes more vulnerable.
3.3 Determining the System True
Degree of Coupling
In the two sections above, we discussed about the
couplings within and across tasks. When a task
within the system needs to switch from a primary
service to the alternative services, the degree of
coupling usually increases. That is because when we
design software, we usually select the best path, i.e.
the path that has the lowest overall degree of
coupling, to be our primary path, and some other
path with higher degree of coupling to be an
alternative one. Therefore, once a service switching
occurs, the degree of coupling usually increases.
Since the degree of coupling can be used for
software quality measurement, considering only the
degree of coupling of the primary path may no
longer be accurate because it is not guaranteed that
the primary path will always be available, i.e. a
service switching occurs and the degree of coupling
will change. On the other hand, considering only
alternative path is equally unfair. Thus, the system
designer should take account for the degrees of
coupling in both primary and all alternative paths.
Equations (2) - (4) suggest the proper degree of
coupling of a system using the probability as the
weight.
∑
(2)
=
(3)
=
∑
(4)
,where
is the degree of coupling of the system,
is the direct coupling of
within
the system,
is the probability that the primary path
will be used in task p,
is the total dependency along the primary
path,
is the total degree of coupling along the
alternative path,
is the probability that the alternative
path will be used in task p,
is the total dependency along the
alternative path x.
For a simplest case, a system consists of two
separated tasks; say T
a
and T
b
, each of which relies
on its main service path. Suppose the degrees of
coupling primary paths of T
a
and T
b
are 8 and 11,
respectively. An alternative path is provided for each
main task, such that the alternative path of T
a
has 14
degree of coupling, which the one for T
b
has 17
degree of coupling. The probability that the main
service path in T
a
to become unavailable is 5%, and
10% for T
b
. Then the overall degree of coupling of
this system will be calculated as shown below. Then
= 0.95,
= 0.90,
= 0.05,
= 0.10,
= 8,
= 11,
= 14, and
= 17.
=
= (0.95)(8) + (0.05)(14)
= 8.3
=
= (0.90)(11) + (0.1)(17)
= 11.6
Thus,
=
= 8.3 + 11.6
= 19.9
From above example, we consider the degree of
coupling from both primary and alternative paths.
4 CONCLUSIONS
This study proposes a technique that can be used to
determine the quality of software systems through
the overall degree of couplings, particularly for non-
disruptive systems. The system continuity can be
achieved by providing alternative service paths to
critical ones, so that the system may switch the
execution to the alternative services once the main
services become unavailable.
It is quite natural that the degree of couplings of
the alternative path is higher than the main path
The Determination of Service Couplings for Non-disruptive Systems
213