Skip to main content

Conceptual Software Design: Modularity Matrix as Source of Conceptual Integrity

  • Conference paper
  • First Online:
Knowledge Discovery, Knowledge Engineering and Knowledge Management (IC3K 2016)

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Baldwin, C.Y., Clark, K.B.: Design Rules, Volume I. The Power of Modularity. MIT Press, Cambridge (2000)

    Book  Google Scholar 

  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. Brooks, F.P.: The Mythical Man-Month – Essays in Software Engineering, Anniversary edn. Addison-Wesley, Boston (1995)

    Google Scholar 

  4. Brooks, F.P.: The Design of Design: Essays from a Computer Scientist. Addison-Wesley, Boston (2010)

    Google Scholar 

  5. Buzaglo, M.: The Logic of Concept Expansion. Cambridge University Press, Cambridge (2002)

    MATH  Google Scholar 

  6. Clements, P., Kazman, R., Klein, M.: Evaluating Software Architecture: Methods and Case Studies. Addison-Wesley, Boston (2001)

    Google Scholar 

  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). http://dx.doi.org/10.1145/2509578.2509584

  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). http://dx.doi.org/10.1145/2983990.2984018

  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). http://semat.org/wp-content/uploads/2012/10/GTSE_2012_Proceedings.pdf

  10. Exman, I.: Linear software models, video presentation of paper [9] (2012). http://www.youtube.com/watch?v=EJfzArH8-ls

  11. Exman, I.: Linear software models: standard modularity highlights residual coupling. Int. J. Softw. Eng. Knowl. Eng. 24, 183–210 (2014). https://doi.org/10.1142/S0218194014500089

    Article  Google Scholar 

  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). https://doi.org/10.5220/0005557701090116

  13. Exman, I.: Linear software models: decoupled modules from modularity matrix eigenvectors. Int. J. Softw. Eng. Knowl. Eng. 25(8), 1395–1426 (2015). https://doi.org/10.1142/S0218194015500308

    Article  Google Scholar 

  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). https://doi.org/10.5220/0005985601000108

  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). https://doi.org/10.5220/0006098300270035

  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). http://dx.doi.org/10.18293/SEKE2017-148

  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). https://doi.org/10.1142/S0218194018400107

    Article  Google Scholar 

  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). http://dreamsongs.com/DesignedAsDesigner.html

  19. Ganter, B., Wille, R.: Formal Concept Analysis: Mathematical Foundations. Springer, Berlin (1998). https://doi.org/10.1007/978-3-642-59830-2

    Book  MATH  Google Scholar 

  20. Ganter, B., Stumme, G., Wille, R.: Formal Concept Analysis - Foundations and Applications. Springer, Berlin (2005). https://doi.org/10.1007/978-3-540-31881-1

    Book  MATH  Google Scholar 

  21. Jackson, D.: Conceptual design of software: a research agenda. CSAIL Technical report, MIT-CSAIL-TR-2013–020 (2013). http://dspace.mit.edu/bitstream/handle/1721.1/79826/MIT-CSAIL-TR-2013-020.pdf?sequence=2

  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). https://doi.org/10.1145/2814228.2814248

  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). https://doi.org/10.1145/243327.243618

  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. 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). https://doi.org/10.1109/icse.1994.296765

  26. Lakatos, I.: Proofs and Refutations: The Logic of Mathematical Discovery. Cambridge University Press, Cambridge (1976)

    Book  Google Scholar 

  27. Liskov, B.: Keynote address - data abstraction and hierarchy. ACM SIGPLAN Not. 23(5), 17–34 (1988). https://doi.org/10.1145/62139.62141

    Article  Google Scholar 

  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. Weisstein, E.W.: “Normalized vector” from MathWorld–a wolfram web resource (2018). http://mathworld.wolfram.com/NormalizedVector.html

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Iaakov Exman .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Exman, I. (2019). Conceptual Software Design: Modularity Matrix as Source of Conceptual Integrity. In: Fred, A., Dietz, J., Aveiro, D., Liu, K., Bernardino, J., Filipe, J. (eds) Knowledge Discovery, Knowledge Engineering and Knowledge Management. IC3K 2016. Communications in Computer and Information Science, vol 914. Springer, Cham. https://doi.org/10.1007/978-3-319-99701-8_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-99701-8_11

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-99700-1

  • Online ISBN: 978-3-319-99701-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics