Abstract

This paper discusses modularization as a mechanism for improving the flexibility and comprehensibility of a system while allowing the shortening of its development time. The effectiveness of a “modularization” is dependent upon the criteria used in dividing the system into modules. A system design problem is presented and both a conventional and unconventional decomposition are described. It is shown that the unconventional decompositions have distinct advantages for the goals outlined. The criteria used in arriving at the decompositions are discussed. The unconventional decomposition, if implemented with the conventional assumption that a module consists of one or more subroutines, will be less efficient in most cases. An alternative approach to implementation which does not have this effect is sketched.

Keywords

Modular programmingFlexibility (engineering)Computer scienceDecompositionSubroutineMathematicsProgramming language

Affiliated Institutions

Related Publications

Optuna

The purpose of this study is to introduce new design-criteria for next-generation hyperparameter optimization software. The criteria we propose include (1) define-by-run API tha...

2019 5681 citations

Publication Info

Year
1972
Type
article
Volume
15
Issue
12
Pages
1053-1058
Citations
4581
Access
Closed

External Links

Social Impact

Social media, news, blog, policy document mentions

Citation Metrics

4581
OpenAlex

Cite This

David Lorge Parnas (1972). On the criteria to be used in decomposing systems into modules. Communications of the ACM , 15 (12) , 1053-1058. https://doi.org/10.1145/361598.361623

Identifiers

DOI
10.1145/361598.361623