Assuming a reasonable Maximal-Sparsity-Threshold
of 0.5 – i.e. the internal Sparsity of a module should
be low, meaning high Cohesion – the bigger module
is thus inferred to have an outlier.
We next erase an edge linking vertices S3 to F2
of the Bipartite Graph to split the module with too
big Sparsity. The new eigenvectors are in Fig. 14.
Figure 14: Abstract System without Outlier eigenvectors –
There are now three modules.
Recalculated Sparsity shows that the split
modules have high Cohesion. But erasing the edge
from S1 to F2, instead of the dashed “outlier” edge
from S3 to F2 in the Bipartite Graph in Fig. 11,
would also have reduced the Sparsity of the resulting
modules. Thus, the outlier resolution may not be
unique in algebraic terms. The software engineer
may need to apply semantic knowledge about
software components, to resolve couplings.
6 DISCUSSION
This work extended the formal meaning of software
system modules adding a new criterion, Connected
Components. One perceives that it appears in all
Linear Software Models’ representations of software
systems (Modularity Matrix, Modularity Lattice,
Bipartite Graph, Laplacian Matrix).
6.1 Evaluating Spectral Approaches
This work uses Laplacian eigenvectors fitting its
zero-valued eigenvalues to obtain number and sizes
of modules. Eigenvectors and eigenvalues were
calculated with the JAMA library (JAMA, 2016).
Previously (Exman, 2015) we used eigenvectors
of the Modularity Matrix symmetrized and weighted
by an affinity. The same results were obtained by
both approaches. They differ mainly by efficiency.
While Modularity Matrix weighting demands an
affinity definition, the Laplacian is neatly defined. A
Modularity Matrix advantage is its smaller size, just
one fourth of the corresponding Laplacian.
Ongoing research investigates the Laplacian
approach to larger software systems containing
outliers coupling diagonal blocks. We intend to
further formalize outliers’ treatment by the Fiedler
vector (Fiedler, 1973). This will better evaluate the
Laplacian approach for realistic systems design.
6.2 Main Contribution
This work shows that different spectral approaches
produce the same numbers and sizes of software
system modules. Behind diverse techniques, there is
just one single basic algebraic theory of software
system composition, viz. Linear Software Models.
REFERENCES
Baldwin, C.Y. and Clark, K.B., 2000. Design Rules, Vol.
I. The Power of Modularity, MIT Press, MA, USA.
Cai, Y. and Sullivan, K.J., 2006. Modularity Analysis of
Logical Design Models, in Proc. 21
st
IEEE/ACM Int.
Conf. Automated Software Eng. ASE’06, pp. 91-102,
Tokyo, Japan.
Exman, I., 2012. Linear Software Models, Extended
Abstract, in I. Jacobson, M. Goedicke and P. Johnson
(eds.), GTSE 2012, SEMAT Workshop on General
Theory of Software Engineering, pp. 23-24, KTH
Royal Institute of Technology, Stockholm, Sweden.
Video site:
http://www.youtube.com/watch?v=EJfzArH8-ls
Exman, I., 2013. Linear Software Models are Theoretical
Standards of Modularity, in J. Cordeiro, S.
Hammoudi, and M. van Sinderen (eds.): ICSOFT
2012, Revised selected papers, CCIS, Vol. 411, pp.
203–217, Springer-Verlag, Berlin, Germany. DOI:
10.1007/978-3-642-45404-2_14
Exman, I., 2014. Linear Software Models: Standard
Modularity Highlights Residual Coupling, Int. Journal
on Software Engineering and Knowledge Engineering,
vol. 24, pp. 183-210, March 2014. DOI:
10.1142/S0218194014500089
Exman, I., 2015. Linear Software Models: Decoupled
Modules from Modularity Eigenvectors, Int. Journal
on Software Engineering and Knowledge Engineering,
vol. 25, pp. 1395-1426, October 2015. DOI:
10.1142/S0218194015500308
Fall, K., in Focus: Perspectives-US, 2016. “Four Thought
Leaders on Where the Industry is Headed”, IEEE
Software, pp. 36-39.
Fiedler, M., 1973. “Algebraic Connectivity of Graphs”,
Czech. Math. J., Vol. 23, (2) 298-305 (1973).
Gamma, E., Helm, R., Johnson, R. and Vlissides, J., 1995.
Design Patterns: Elements of Reusable Object-
Oriented Software, Addison-Wesley, Boston, MA.
JAMA, 2016. Java Matrix Package, web site:
http://math.nist.gov/javanumerics/jama/
Merris, R., 1994. "Laplacian matrices of graphs: a survey",
Linear Algebra and its Applications, Vols. 197-198,
January-February, pp. 143-176. DOI: 10.1016/0024-
3795(94)90486-3.
Ng, A.Y., Jordan, M.I., and Weiss, Y., 2001. On spectral