{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2022,10,12]],"date-time":"2022-10-12T13:48:14Z","timestamp":1665582494194},"reference-count":19,"publisher":"World Scientific Pub Co Pte Lt","issue":"02","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Int. J. Soft. Eng. Knowl. Eng."],"published-print":{"date-parts":[[2014,3]]},"abstract":"<jats:p> Modularity \u2014 the decoupling of software units \u2014 is essential for composition of real software systems from ready-made components. But for a long time one lacked a formal theory of modularity. Recently we have been developing Linear Software Models as rigorous theoretical modularity standards based upon plain Linear Algebra. By these models, decoupling means just linear independence, within a modularity matrix. This paper applies Linear Software Models to software systems, obtaining three consequences: (1) besides decoupling, various informal notions of software engineering, such as software modules, cohesion, and single responsibility, have for the first time a well-defined formal counterpart; (2) canonical building blocks like Software Design Patterns strictly obey the Linear Software Models; (3) larger software systems obey bordered Linear Models, allowing precise location and visualization of residual coupling. The latter consequences are demonstrated by case studies of software systems from the literature. The applicability of the Linear Software Models is quantitatively shown to scale well with system size, for the given case studies. <\/jats:p>","DOI":"10.1142\/s0218194014500089","type":"journal-article","created":{"date-parts":[[2014,6,20]],"date-time":"2014-06-20T06:46:19Z","timestamp":1403246779000},"page":"183-210","source":"Crossref","is-referenced-by-count":6,"title":["Linear Software Models: Standard Modularity Highlights Residual Coupling"],"prefix":"10.1142","volume":"24","author":[{"given":"Iaakov","family":"Exman","sequence":"first","affiliation":[{"name":"Software Engineering Department, The Jerusalem College of Engineering, JCE \u2013 Azrieli, Jerusalem, Israel"}]}],"member":"219","published-online":{"date-parts":[[2014,6,19]]},"reference":[{"key":"rf1","doi-asserted-by":"publisher","DOI":"10.1145\/361598.361623"},{"key":"rf4","first-page":"51","author":"Griswold W. G.","journal-title":"IEEE Software"},{"key":"rf6","volume-title":"Design Patterns: Elements of Reusable Object-Oriented Software","author":"Gamma E.","year":"1995"},{"key":"rf7","doi-asserted-by":"publisher","DOI":"10.1145\/62139.62141"},{"key":"rf8","volume-title":"Agile Software Development: Principles, Patterns and Practices","author":"Martin R. C.","year":"2003"},{"key":"rf10","unstructured":"A.\u00a0Donnellan, Computational Earthquake Physics: Simulations, Analysis and Infrastructure (2007)\u00a0pp. 2263\u20132279."},{"key":"rf12","first-page":"71","volume":"29","author":"Steward D.","journal-title":"IEEE Trans. Eng. Manag."},{"key":"rf14","doi-asserted-by":"publisher","DOI":"10.1115\/1.2771182"},{"key":"rf15","doi-asserted-by":"crossref","DOI":"10.7551\/mitpress\/2366.001.0001","volume-title":"Design Rules, Vol. 1. The Power of Modularity","author":"Baldwin C. Y.","year":"2000"},{"key":"rf18","doi-asserted-by":"publisher","DOI":"10.1108\/02635570610688896"},{"key":"rf19","doi-asserted-by":"publisher","DOI":"10.1109\/3476.585144"},{"key":"rf20","doi-asserted-by":"publisher","DOI":"10.1016\/0048-7333(94)00775-3"},{"key":"rf21","doi-asserted-by":"publisher","DOI":"10.1016\/j.ijproman.2004.11.001"},{"key":"rf22","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-70561-1_15"},{"key":"rf24","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2006.31"},{"key":"rf25","doi-asserted-by":"publisher","DOI":"10.1002\/(SICI)1096-908X(199907\/08)11:4<245::AID-SMR193>3.0.CO;2-8"},{"key":"rf26","doi-asserted-by":"publisher","DOI":"10.1016\/j.entcs.2006.05.029"},{"key":"rf29","doi-asserted-by":"publisher","DOI":"10.1504\/IJMTM.2003.002528"},{"key":"rf30","doi-asserted-by":"publisher","DOI":"10.1137\/S1052623497318682"}],"container-title":["International Journal of Software Engineering and Knowledge Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.worldscientific.com\/doi\/pdf\/10.1142\/S0218194014500089","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,8,6]],"date-time":"2019-08-06T18:03:48Z","timestamp":1565114628000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.worldscientific.com\/doi\/abs\/10.1142\/S0218194014500089"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2014,3]]},"references-count":19,"journal-issue":{"issue":"02","published-online":{"date-parts":[[2014,6,19]]},"published-print":{"date-parts":[[2014,3]]}},"alternative-id":["10.1142\/S0218194014500089"],"URL":"https:\/\/doi.org\/10.1142\/s0218194014500089","relation":{},"ISSN":["0218-1940","1793-6403"],"issn-type":[{"value":"0218-1940","type":"print"},{"value":"1793-6403","type":"electronic"}],"subject":[],"published":{"date-parts":[[2014,3]]}}}