Linear Software Models for Well-composed Systems
Iaakov Exman
2012
Abstract
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.
References
- Baldwin, C.Y., and Clark, K.B., 2000. Design Rules, Vol. I. The Power of Modularity, MIT Press, Cambridge, MA, USA.
- Borndorfer, R., Ferreira, C.E., and Martin, A., 1998. “Decomposing Matrices into Blocks”, SIAM J. Optimization, Vol. 9, Issue 1, pp. 236-269.
- 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.
- 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.
- 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.
- Gamma, E., Helm, R., Johnson, R., and Vlissides, J., 1995. Design Patterns: Elements of Reusable ObjectOriented Software, Addison-Wesley, Boston, MA, USA.
- 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.
- 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.
- Kaufman, C., Perlman, R., and Speciner, M., 1997. Network Security - Private Communication in a Public World, Prentice-Hall, Englewood Cliffs, NJ, USA.
- 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).
- Martin, R. C., 2003. Agile Software Development: Principles, Patterns and Practices, Prentice Hall, Upper Saddle River, NJ.
- 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).
- Parnas, D.L., 1972. “On the Criteria to be Used in Decomposing Systems into Modules”, Comm. ACM, Vol. 15, pp. 1053-1058.
- 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.
- 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).
- Rowland, T., and Weisstein, E.W., 2006. "Block Diagonal Matrix." from MathWorld, http:// mathworld.wolfram.com/BlockDiagonalMatrix.html.
- 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.
- 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.
- 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.
- 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.
- Ulrich, K.T., 1995. “The Role of Product Architecture in the Manufacturing Firm”, Res. Policy, 24, pp. 419- 440.
- 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
@conference{icsoft12,
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,},
year={2012},
pages={92-101},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0004085500920101},
isbn={978-989-8565-19-8},
}
in EndNote Style
TY - CONF
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