Conceptual Software Design: Modularity Matrix as Source of Conceptual Integrity

  • Iaakov ExmanEmail author
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 914)


Conceptual Software Design is of utmost importance for software development due to its focus on the Conceptual Integrity of software systems. However, in order to turn it into actual standard practice in software design, a precise mathematical representation of Conceptual Design is necessary. This paper claims that Linear Software Models – by means of their basic algebraic structures, the Modularity Matrix or its corresponding Laplacian Matrix – guarantee Conceptual Integrity of the software system they represent. This is argued by first offering a concise Plausibility Path with a few formal steps towards Conceptual Integrity in terms of the Modularity Matrix. These steps clarify the role of the Modularity Matrix, both as a facilitator and as a formal source of the software modules’ Conceptual Integrity. Then, the paper characterizes Conceptual Integrity as an intensive property of the software system. Finally, application in practice is demonstrated by providing explicit formulas to compute Conceptual Integrity principles, viz. propriety and orthogonality.


Conceptual Software Design Conceptual integrity Linear Software Models Modularity Matrix Laplacian matrix Modularity Lattice Abstract Domain Conceptualization Propriety Orthogonality 


  1. 1.
    Baldwin, C.Y., Clark, K.B.: Design Rules, Volume I. The Power of Modularity. MIT Press, Cambridge (2000)CrossRefGoogle Scholar
  2. 2.
    Beynon, W.M., Boyatt, R.C., Chan, Z.E., Intuition in software development revisited. In: Proceedings of the 20th Annual Psychology of Programming Interest Group Conference, UK. Lancaster University (2008)Google Scholar
  3. 3.
    Brooks, F.P.: The Mythical Man-Month – Essays in Software Engineering, Anniversary edn. Addison-Wesley, Boston (1995)Google Scholar
  4. 4.
    Brooks, F.P.: The Design of Design: Essays from a Computer Scientist. Addison-Wesley, Boston (2010)Google Scholar
  5. 5.
    Buzaglo, M.: The Logic of Concept Expansion. Cambridge University Press, Cambridge (2002)zbMATHGoogle Scholar
  6. 6.
    Clements, P., Kazman, R., Klein, M.: Evaluating Software Architecture: Methods and Case Studies. Addison-Wesley, Boston (2001)Google Scholar
  7. 7.
    De Rosso, S.P., Jackson, D.: What’s wrong with git? A conceptual design analysis. In: Proceedings of Onward! Conference, pp. 37–51. ACM (2013).
  8. 8.
    De Rosso, S.P., Jackson, D.: Purposes, concepts, misfits, and a redesign of git. In: Proceedings of OOPSLA 2016, Conference, pp. 292–310. ACM (2016).
  9. 9.
    Exman, I.: Linear software models. In: Proceedings of GTSE 1st SEMAT Workshop on a General Theory of Software Engineering. KTH Royal Institute of Technology, Stockholm, Sweden, (2012).
  10. 10.
    Exman, I.: Linear software models, video presentation of paper [9] (2012).
  11. 11.
    Exman, I.: Linear software models: standard modularity highlights residual coupling. Int. J. Softw. Eng. Knowl. Eng. 24, 183–210 (2014). Scholar
  12. 12.
    Exman, I., Speicher, D.: Linear software models: equivalence of modularity matrix to its modularity lattice. In: Proceedings of 10th ICSOFT International Conference on Software Technology, ScitePress, Portugal, pp. 109–116 (2015).
  13. 13.
    Exman, I.: Linear software models: decoupled modules from modularity matrix eigenvectors. Int. J. Softw. Eng. Knowl. Eng. 25(8), 1395–1426 (2015). Scholar
  14. 14.
    Exman, I., Sakhnini, R.: Linear software models: modularity analysis by the Laplacian matrix. In: Proceedings of ICSOFT 2016 11th International Joint Conference on Software Technologies, vol. 2, pp. 100–108 (2016).
  15. 15.
    Exman, I.: The modularity matrix as a source of software conceptual integrity. In: Proc. SKY’2016 7th International Workshop on Software Knowledge, ScitePress, Portugal, pp. 27–35 (2016).
  16. 16.
    Exman, I., Katz, P.: Conceptual software design: algebraic axioms for conceptual integrity. In: Proc. SEKE 2017, 29th International Conference on Software Engineering and Knowledge Engineering, pp. 155–160 (2017).
  17. 17.
    Exman, I., Sakhnini, R.: Linear software models: bipartite isomorphism between Laplacian eigenvectors and modularity matrix eigenvectors. Int. J. Softw. Eng. Knowl. Eng. 28(7), 897–935 (2018). Scholar
  18. 18.
    Gabriel, R.P.: Designed as designer. In: Essay Track, ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages and Applications, Montreal, Canada (2007).
  19. 19.
    Ganter, B., Wille, R.: Formal Concept Analysis: Mathematical Foundations. Springer, Berlin (1998). Scholar
  20. 20.
    Ganter, B., Stumme, G., Wille, R.: Formal Concept Analysis - Foundations and Applications. Springer, Berlin (2005). Scholar
  21. 21.
    Jackson, D.: Conceptual design of software: a research agenda. CSAIL Technical report, MIT-CSAIL-TR-2013–020 (2013).
  22. 22.
    Jackson, D.: Towards a theory of conceptual design for software. In: Proceedings Onward! 2015 ACM International Symposium on New Ideas, New Paradigms and Reflections on Programming & Software, pp. 282–296 (2015).
  23. 23.
    Kazman, R.: Tool support for architecture analysis and design. In: ISAW 96 Proceedings of 2nd International Software Architecture Workshop, pp. 94–97. ACM, New York (1996).
  24. 24.
    Kazman, R., Carriere, S.J.: Playing detective: reconstructing software architecture from available evidence. Technical report CMU/SEI-97-TR-010, Software Engineering Institute, Carnegie Mellon University, Pittsburgh (1997)Google Scholar
  25. 25.
    Krone, M., Snelting, G.: On the inference of configuration structures from source code. In: Proceedings of ICSE-16 16th International Conference on Software Engineering (1994).
  26. 26.
    Lakatos, I.: Proofs and Refutations: The Logic of Mathematical Discovery. Cambridge University Press, Cambridge (1976)CrossRefGoogle Scholar
  27. 27.
    Liskov, B.: Keynote address - data abstraction and hierarchy. ACM SIGPLAN Not. 23(5), 17–34 (1988). Scholar
  28. 28.
    Rovetto, R.: The shape of shapes: an ontological exploration. In: Proceedings of SHAPES 1.0 1st Interdisciplinary Workshop on Shapes, Karlsruhe (2011)Google Scholar
  29. 29.
    Weisstein, E.W.: “Normalized vector” from MathWorld–a wolfram web resource (2018).

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.The Jerusalem College of Engineering – AzrieliJerusalemIsrael

Personalised recommendations