Linear Software Models: Equivalence of Modularity Matrix to Its Modularity Lattice

Iaakov Exman, Daniel Speicher

Abstract

Modularity is an important feature to solve the composition problem of software systems from subsystems. Recently it has been shown that Software systems’ Modularity Matrices linking structors to functionals can be put in almost block-diagonal form, where blocks reveal higher-level software modules. An alternative formalization has been independently proposed using Conceptual Lattices linking attributes to objects. But, are these independent formalizations related? This paper shows the equivalence of Modularity Matrices to their respective Modularity Lattices. Both formalizations support the simplest form of software composition, i.e. linear composition, expressed as an addition of independent components. This equivalence has both theoretical and practical advantages. These are illustrated by comparison of both representations for a series of case studies.

References

  1. Baldwin, C.Y. and Clark, K.B., 2000. Design Rules, Vol. I. The Power of Modularity, MIT Press, MA, USA.
  2. Belohlavek, R., 2008. Introduction to Formal Concept Analysis, Dept. of Computer Science, Palacky University, Olomouc, Czech Republic.
  3. Cai, Y. and Sullivan, K.J., 2006. Modularity Analysis of Logical Design Models, in Proc. 21st IEEE/ACM Int. Conf. Automated Software Eng. ASE'06, pp. 91-102, Tokyo, Japan.
  4. Concept Explorer, 2006 - Web site: http://conexp.sourceforge.net/. Visited May 2015.
  5. Exman, I., 2012. Linear Software Models for WellComposed Systems, in S. Hammoudi, M. van Sinderen and J. Cordeiro (eds.), 7th ICSOFT'2012 Conf., pp. 92-101, Rome, Italy.
  6. 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.
  7. 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.
  8. 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.
  9. Finholt, T.A., Horn, D. and Thome, S., 2004. NEESgrid Requirements Traceability Matrix, Technical Report NEESgrid-2003-13, University of Michigan.
  10. Gamma, E., Helm, R., Johnson, R. and Vlissides, J., 1995. Design Patterns: Elements of Reusable ObjectOriented Software, Addison-Wesley, Boston, MA.
  11. Ganter, B. and Wille, R., 1999. Formal Concept Analysis. Mathematical Foundations. Springer.
  12. Ganter, B., Stumme, G. and Wille, R., 2005. Formal Concept Analysis - Foundations and Applications. Springer.
  13. Heckmann, P. and Speicher, D., 2012. Assisted Software Exploration using Formal Concept Analysis”, in SKY'2012 3rd Int. Workshop on Software Knowledge, pp. 11-21, SciTePress, Portugal.
  14. Lindig, C. and Snelting, G., 1997. Assessing Modular Structure of Legacy Code Based on Mathematical Concept Analysis, in ICSE'97 Proc. 19th Int. Conf. on Software Engineering, pp. 349-359, ACM. DOI: 10.1145/253228.253354.
  15. Parnas, D.L., 1972. On the Criteria to be Used in Decomposing Systems into Modules, Comm.. ACM, 15, 1053-1058.
  16. 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.
  17. Snelting, G., 2000. Software reengineering based on concept lattices, in Proc. of 4th European Software Maintenance and Reengineering, pp. 3-10, IEEE. DOI: 10.1109/CSMR.2000.827299.
  18. 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.
  19. 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.
Download


Paper Citation


in Harvard Style

Exman I. and Speicher D. (2015). Linear Software Models: Equivalence of Modularity Matrix to Its Modularity Lattice . In Proceedings of the 10th International Conference on Software Paradigm Trends - Volume 1: ICSOFT-PT, (ICSOFT 2015) ISBN 978-989-758-115-1, pages 109-116. DOI: 10.5220/0005557701090116


in Bibtex Style

@conference{icsoft-pt15,
author={Iaakov Exman and Daniel Speicher},
title={Linear Software Models: Equivalence of Modularity Matrix to Its Modularity Lattice},
booktitle={Proceedings of the 10th International Conference on Software Paradigm Trends - Volume 1: ICSOFT-PT, (ICSOFT 2015)},
year={2015},
pages={109-116},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005557701090116},
isbn={978-989-758-115-1},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 10th International Conference on Software Paradigm Trends - Volume 1: ICSOFT-PT, (ICSOFT 2015)
TI - Linear Software Models: Equivalence of Modularity Matrix to Its Modularity Lattice
SN - 978-989-758-115-1
AU - Exman I.
AU - Speicher D.
PY - 2015
SP - 109
EP - 116
DO - 10.5220/0005557701090116