Skip to main content

Linear Software Models Are Theoretical Standards of Modularity

  • Conference paper
Software and Data Technologies (ICSOFT 2012)

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 411))

Included in the following conference series:

Abstract

Modularity is essential to obtain well-composed software systems from COTS (Commercial Off-The-Shelf) components. But COTS components do not necessarily match the modules of the designed software system. A clear-cut procedure is needed for the choice of the necessary and sufficient components providing the required functionalities. Linear Software Models are rigorous theoretical standards of modularity. These models are proposed as formal criteria for well-composed software systems. The paper lays down theoretical foundations – upon linear independence and reducible matrix concepts – providing precise meanings to familiar software concepts, such as coupling and the single responsibility theorem. The theory uses a Modularity Matrix – linking linearly independent software structors to composable software functionals. The theory has been tested by applying it to small canonical systems and to large software systems found in the literature.

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 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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

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

    Google Scholar 

  2. Borndorfer, R., Ferreira, C.E., Martin, A.: Decomposing Matrices into Blocks. SIAM J. Optimization 9(1), 236–269 (1998)

    Article  MathSciNet  Google Scholar 

  3. Cai, Y., Sullivan, K.J.: Modularity Analysis of Logical Design Models. In: Proc. 21st IEEE/ACM Int. Conf. On Automated Software Eng., ASE 2006, pp. 91–102. Tokyo, Japan (2006)

    Google Scholar 

  4. Clemins, P.J., Ewalt, H.E., Johnson, M.T.: Time-Aligned SVD Analysis for Speaker Identification. In: Proc. ICASSP02 IEEE Int. Conf. Acoustics Speech and Signal Proc., vol. 4, pp. IV-4160 (2002)

    Google Scholar 

  5. Finholt, T.A., Horn, D., Thome, S.: NEESgrid Requirements Traceability Matrix, Technical Report NEESgrid-2003-13, School of Information, University of Michigan, USA (2004)

    Google Scholar 

  6. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Boston (1995)

    Google Scholar 

  7. Hwang, H., Oh, Y.H.: Another similarity coefficient for the p-median model in group technology. Int. J. Manufacturing Tech. & Management 5, 38–245 (2003)

    Article  Google Scholar 

  8. Kang, B.-K., Bieman, J.M.: A Quantitative Framework for Software Restructuring. J. Softw. Maint. Research & Practice 11(4), 245–284 (1999)

    Google Scholar 

  9. Kaufman, C., Perlman, R., Speciner, M.: Network Security – Private Communication in a Public World. Prentice-Hall, Englewood Cliffs (1997)

    Google Scholar 

  10. Kusiak, A., Huang, C.-C.: Design of Modular Digital Circuits for Testability. IEEE Trans. Components, Packaging and Manufacturing Technology – Part C 20(1), 48–57 (1997)

    Article  Google Scholar 

  11. Martin, R.C.: Agile Software Development: Principles, Patterns and Practices. Prentice Hall, Upper Saddle River (2003)

    Google Scholar 

  12. Mitchell, B.S., Mancoridis, S.: On the Automatic Modularization of Software Systems Using the Bunch Tool. IEEE Trans. Software Engineering 32(3), 193–208 (2006)

    Article  Google Scholar 

  13. Parnas, D.L.: On the Criteria to be Used in Decomposing Systems into Modules. Comm. ACM 15, 1053–1058 (1972)

    Article  Google Scholar 

  14. Riehle, D.: Describing and Composing Patterns Using Role Diagrams. In: Mutzel, K.-U., Frei., H.-P. (eds.) Proc. Ubilab Conf., Universitatsverlag Konstanz, pp. 137–152 (1996)

    Google Scholar 

  15. Rodrigues, N.F., Barbosa, L.S.: Component Identification through program slicing. Electronic Notes in Theoretical Computer Science 160, 291–304 (2006); Proc. Int. Workshop Formal Aspects of Component Software (FACS 2005) (2005)

    Google Scholar 

  16. Rowland, T., Weisstein, E.W.: Block Diagonal Matrix. from MathWorld (2006), http://mathworld.wolfram.com/BlockDiagonalMatrix.html

  17. Sethi, K., Cai, Y., Wong, S., Garcia, A., Sant’Anna, C.: From Retrospect to Prospect: Assessing Modularity and Stability from Software Architecture. In: Proc. European Conf. on Software Architecture, WICSA/ECSA, pp. 269–272 (2009)

    Google Scholar 

  18. Sosa, M.E., Agrawal, A., Eppinger, S.D., Rowles, C.M.: 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 (2005)

    Google Scholar 

  19. Sosa, M.E., Eppinger, S.D., Rowles, C.M.: A Network Approach to Define Modularity of Components in Complex Products. ASME Journal of Mechanical Design 129, 1118 (2007)

    Article  Google Scholar 

  20. Steward, D.: The Design Structure System: A Method for Managing the Design of Complex Systems. IEEE Trans. Eng. Manag., EM-29(3), 71–74 (1981)

    Google Scholar 

  21. Ulrich, K.T.: The Role of Product Architecture in the Manufacturing Firm. Res. Policy 24, 419–440 (1995)

    Article  Google Scholar 

  22. Wong, S., Cai, Y., Kim, M., Dalton, M.: Detecting Software Modularity Viola-tions. In: Proc. 33rd Int. Conf. Software Engineering, pp. 411–420 (2011)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Exman, I. (2013). Linear Software Models Are Theoretical Standards of Modularity. In: Cordeiro, J., Hammoudi, S., van Sinderen, M. (eds) Software and Data Technologies. ICSOFT 2012. Communications in Computer and Information Science, vol 411. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-45404-2_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-45404-2_14

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-45403-5

  • Online ISBN: 978-3-642-45404-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics