Linear Software Models for Well-composed Systems

Iaakov Exman


Modularity is essential for automatic composition of real software systems from ready-made components. But given ready-made components do not necessarily correspond exactly to the units and functionality of designed software system architecture modules. One needs a neat composition procedure that guarantees the necessary and sufficient components to provide required units. Linear Software Models are rigorous theoretical standards subsuming modularity. The Linear-Reducible model is proposed as a model of well-composed software systems, above and beyond software variability. Indeed, case studies of representative systems recognized as well-composed, be they small, intermediate building blocks or large scale, are shown to be Linear-Reducible. The paper lays down theoretical foundations – upon exact linear independence and reducible matrix concepts – providing new precise meanings to familiar modularity ideas, such as the single responsibility theorem. The theory uses a Modularity Matrix – linking independent software structors to composable software functionals in a Linear Model.


  1. Baldwin, C.Y., and Clark, K.B., 2000. Design Rules, Vol. I. The Power of Modularity, MIT Press, Cambridge, MA, USA.
  2. Borndorfer, R., Ferreira, C.E., and Martin, A., 1998. “Decomposing Matrices into Blocks”, SIAM J. Optimization, Vol. 9, Issue 1, pp. 236-269.
  3. Cai, Y., and Sullivan, K.J., September 2006. “Modularity Analysis of Logical Design Models”, in Proc. 21st IEEE/ACM Int. Conf. On Automated Software Eng. ASE'06, pp. 91-102, Tokyo, Japan.
  4. Clemins, P. J., Ewalt, H. E., and Johnson, M.T., 2002. “Time-Aligned SVD Analysis for Speaker Identification”, in Proc. ICASSP02 IEEE Int. Conf. Acoustics Speech and Signal Proc., Vol. 4, pp. IV4160.
  5. Finholt, T.A., Horn, D., and Thome, S., 2004. “NEESgrid Requirements Traceability Matrix”, Technical Report NEESgrid-2003-13, School of Information, University of Michigan, USA.
  6. Gamma, E., Helm, R., Johnson, R., and Vlissides, J., 1995. Design Patterns: Elements of Reusable ObjectOriented Software, Addison-Wesley, Boston, MA, USA.
  7. Hwang, H., and Oh, Y.H., 2003. “Another similarity coefficient for the p-median model in group technology”, Int. J. Manufacturing Tech. & Management Vol. 5, pp. 38-245.
  8. Kang, B-K., and Bieman, J.M., 1999. “A Quantitative Framework for Software Restructuring”, J. Softw. Maint. Research & Practice, Vol. 11, Issue 4, pp. 245- 284.
  9. Kaufman, C., Perlman, R., and Speciner, M., 1997. Network Security - Private Communication in a Public World, Prentice-Hall, Englewood Cliffs, NJ, USA.
  10. Kusiak, A., and Huang, C-C., 1997. “Design of Modular Digital Circuits for Testability”, IEEE Trans. Components, Packaging and Manufacturing Technology - Part C., Vol. 20, pp. 48-57 (1).
  11. Martin, R. C., 2003. Agile Software Development: Principles, Patterns and Practices, Prentice Hall, Upper Saddle River, NJ.
  12. Mitchell, B.S., and Mancoridis, S., 2006. “On the Automatic Modularization of Software Systems Using the Bunch Tool”, IEEE Trans. Software Engineering, Vol. 32, pp. 193-208, (3).
  13. Parnas, D.L., 1972. “On the Criteria to be Used in Decomposing Systems into Modules”, Comm. ACM, Vol. 15, pp. 1053-1058.
  14. Riehle, D., 1996. “Describing and Composing Patterns Using Role Diagrams”, in K-U. Mutzel & H-P. Frei. (eds.) Proc. Ubilab Conf., Universitatsverlag Konstanz, pp. 137-152.
  15. Rodrigues, N.F., and Barbosa, L.S., 2006. "Component Identification through program slicing", Electronic Notes in Theoretical Computer Science, Vol. 160, pp. 291-304, Proc. Int. Workshop Formal Aspects of Component Software (FACS 2005).
  16. Rowland, T., and Weisstein, E.W., 2006. "Block Diagonal Matrix." from MathWorld, http://
  17. Sethi, K., Cai, Y., Wong, S., Garcia, A., and Sant'Anna, C., 2009. “From Retrospect to Prospect: Assessing Modularity and Stability from Software Architecture”, in Proc. European Conf. on Software Architecture, WICSA/ECSA, pp. 269-272.
  18. Sosa, M.E., Agrawal, A., Eppinger, S.D., and Rowles, C.M., September 2005. “A Network Approach to Define Modularity of Product Components”, in Proc. IDETC/CIE ASME International Design Engineering Technical Conf. & Computers and Information in Engineering Conf., Long Beach, CA, USA, pp. 1-12.
  19. Sosa, M.E., Eppinger, S.D., and Rowles, C.M., 2007. “A Network Approach to Define Modularity of Components in Complex Products”, ASME Journal of Mechanical Design, 129, 1118.
  20. 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.
  21. Ulrich, K.T., 1995. “The Role of Product Architecture in the Manufacturing Firm”, Res. Policy, 24, pp. 419- 440.
  22. Wong, S., Cai, Y., Kim, M, and Dalton, M., 2011. “Detecting Software Modularity Violations”, in Proc. 33rd Int. Conf. Software Engineering, pp. 411-420.

Paper Citation

in Harvard Style

Exman I. (2012). Linear Software Models for Well-composed Systems . In Proceedings of the 7th International Conference on Software Paradigm Trends - Volume 1: ICSOFT, ISBN 978-989-8565-19-8, pages 92-101. DOI: 10.5220/0004085500920101

in Bibtex Style

author={Iaakov Exman},
title={Linear Software Models for Well-composed Systems},
booktitle={Proceedings of the 7th International Conference on Software Paradigm Trends - Volume 1: ICSOFT,},

in EndNote Style

JO - Proceedings of the 7th International Conference on Software Paradigm Trends - Volume 1: ICSOFT,
TI - Linear Software Models for Well-composed Systems
SN - 978-989-8565-19-8
AU - Exman I.
PY - 2012
SP - 92
EP - 101
DO - 10.5220/0004085500920101