8 DISCUSSION
This work has shown by theoretical arguments and
case studies, the equivalence between two different
modularity representations of a software system, viz.
the Modularity Matrix and its Modularity Lattice.
This is interesting as it mutually reinforces their
independent conclusions, and it triggers new
questions in each representation, motivated by the
line of thoughts of the other one.
In practical terms, both representations enable to
assess modularity of a software system and to
highlight localized couplings deserving software
sub-system redesign.
8.1 Future Work
Concerning rigorous formalization, linearity still is
an open issue worth of investigation in the context of
Modularity Lattices. Moreover, is there any meaning
to non-linearity for software systems?
In the context of Modularity Matrices, we have
asked whether systems with outliers like the
NEESGrid system, are amenable to complete block-
diagonalization or they are essentially non-block-
diagonal. Are these systems the exception, or a class
on their own? The equivalence of Modularity
Matrices and Lattices should facilitate research.
REFERENCES
Baldwin, C.Y. and Clark, K.B., 2000. Design Rules, Vol.
I. The Power of Modularity, MIT Press, MA, USA.
Belohlavek, R., 2008. Introduction to Formal Concept
Analysis, Dept. of Computer Science, Palacky
University, Olomouc, Czech Republic.
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.
Concept Explorer, 2006 – Web site:
http://conexp.sourceforge.net/. Visited May 2015.
Exman, I., 2012. Linear Software Models for Well-
Composed Systems, in S. Hammoudi, M. van
Sinderen and J. Cordeiro (eds.), 7
th
ICSOFT’2012
Conf., pp. 92-101, Rome, Italy.
Exman, I., November 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,. See also video presentation:
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.
Finholt, T.A., Horn, D. and Thome, S., 2004. NEESgrid
Requirements Traceability Matrix, Technical Report
NEESgrid-2003-13, University of Michigan.
Gamma, E., Helm, R., Johnson, R. and Vlissides, J., 1995.
Design Patterns: Elements of Reusable Object-
Oriented Software, Addison-Wesley, Boston, MA.
Ganter, B. and Wille, R., 1999. Formal Concept Analysis.
Mathematical Foundations. Springer.
Ganter, B., Stumme, G. and Wille, R., 2005. Formal
Concept Analysis - Foundations and Applications.
Springer.
Heckmann, P. and Speicher, D., 2012. Assisted Software
Exploration using Formal Concept Analysis”, in
SKY’2012 3
rd
Int. Workshop on Software Knowledge,
pp. 11-21, SciTePress, Portugal.
Lindig, C. and Snelting, G., 1997. Assessing Modular
Structure of Legacy Code Based on Mathematical
Concept Analysis, in ICSE’97 Proc. 19
th
Int. Conf. on
Software Engineering, pp. 349-359, ACM. DOI:
10.1145/253228.253354.
Parnas, D.L., 1972. On the Criteria to be Used in
Decomposing Systems into Modules, Comm.. ACM,
15, 1053-1058.
Siff, M. and Reps, T., 1999. Identifying modules via
concept analysis, IEEE Trans. Software Engineering,
Vol. 25, (6), pp. 749-768. DOI: 10.1109/32.824377.
Snelting, G., 2000. Software reengineering based on
concept lattices, in Proc. of 4
th
European Software
Maintenance and Reengineering, pp. 3-10, IEEE.
DOI: 10.1109/CSMR.2000.827299.
Steward, D., 1981. The Design Structure System: A
Method for Managing the Design of Complex
Systems, IEEE Trans. Eng. Manag., EM-29 (3), pp.
71-74.
Wille, R., 1982. Restructuring lattice theory: an approach
based on hierarchies of concepts. In: I. Rival (ed.):
Ordered Sets, pp. 445–470, Reidel, Dordrecht-Boston.
ICSOFT-PT2015-10thInternationalConferenceonSoftwareParadigmTrends
116