scispace - formally typeset
Open AccessBook

On the criteria to be used in decomposing systems into modules

Reads0
Chats0
TLDR
In this article, the authors discuss modularization as a mechanism for improving the flexibility and comprehensibility of a system while allowing the shortening of its development time, and the effectiveness of a modularization is dependent upon the criteria used in dividing the system into modules.
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.

read more

Citations
More filters
Journal ArticleDOI

Basic concepts and taxonomy of dependable and secure computing

TL;DR: The aim is to explicate a set of general concepts, of relevance across a wide range of situations and, therefore, helping communication and cooperation among a number of scientific and technical communities, including ones that are concentrating on particular types of system, of system failures, or of causes of systems failures.
Journal ArticleDOI

An empirical study of speed and communication in globally distributed software development

TL;DR: This work uses both data from the source code change management system and survey data to model the extent of delay in a distributed software development organization and explores several possible mechanisms for this delay.
Journal ArticleDOI

Exploring the Structure of Complex Software Designs: An Empirical Study of Open Source and Proprietary Code

TL;DR: This paper reports data from a study that seeks to characterize the differences in design structure between complex software products, using design structure matrices to map dependencies between the elements of a design and define metrics that allow us to compare the structures of different designs.
Journal ArticleDOI

Modularity and Innovation in Complex Systems

TL;DR: In this paper, the authors develop a formal simulation model that allows them to carefully examine the dynamics of innovation and performance in complex systems and highlight the trade-off between the destabilizing effects of overly refined modularization and the modest levels of search and a premature fixation on inferior designs that can result from excessive levels of integration.
Journal ArticleDOI

Predicting source code changes by mining change history

TL;DR: An approach that applies data mining techniques to determine change patterns can be used to recommend potentially relevant source code to a developer performing a modification task and can reveal valuable dependencies by applying to the Eclipse and Mozilla open source projects.
References
More filters
Journal ArticleDOI

On the criteria to be used in decomposing systems into modules

TL;DR: In this paper, the authors discuss modularization as a mechanism for improving the flexibility and comprehensibility of a system while allowing the shortening of its development time, and the effectiveness of modularization is dependent upon the criteria used in dividing the system into modules.
Journal ArticleDOI

The structure of the “THE”-multiprogramming system

TL;DR: A multiprogramming system is described in which all activities are divided over a number of sequential processes, in each of which one or more independent abstractions have been implemented.
Journal ArticleDOI

A technique for software module specification with examples

TL;DR: This paper presents an approach to writing specifications for parts of software systems sufficiently precise and complete that other pieces of software can be written to interact with the piece specified without additional information.
Proceedings ArticleDOI

Information distribution aspects of design methodology

TL;DR: The role of documentation in the design and implementation of complex systems is explored, resulting in suggestions in sharp contrast with current practice, and the thesis that such information "broadcasting is harmful, that it is helpful if most system information is hidden from most programmers, is supported.
Journal ArticleDOI

BLISS: a language for systems programming

TL;DR: A language, BLISS, is described, designed so as to be especially suitable for use in writing production software systems for a specific machine (the PDP-10): compilers, operating systems, etc.