Modular programming

This is an old revision of this page, as edited by Samsara (talk | contribs) at 00:11, 19 February 2006 (Modularity in Biology: expand, introduce modularity in segmentation). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Modularity is a concept that has applications in the contexts of computer science, particularly programming, as well as cognitive science in investigating the structure of mind. A module can be defined variously, but generally must be a component of a larger system, and operate within that system independently from the operations of the other components.

Modularity in Computer Science

Modularity is the property of computer programs that measures the extent to which they have been composed out of separate parts called modules.

Programs that have many direct interrelationships between any two random parts of the program code are less modular than programs where those relationships occur mainly at well-defined interfaces between modules.

Modular programming techniques are those which increase modularity. (See also: structured programming, procedural programming, object-oriented programming and aspect-oriented programming, distributed computing.)

Modularity in Biology

In addition to showing scale-free and small world properties, biological networks appear to exhibit modularity in topological structure. In the field of network biology, the definition of nodes and edges in a given network depends on the type of network examined. For example, in a protein interaction network, nodes correspond with individual proteins and edges represent the interactions between them (either through direct physical interaction, or compound-mediated). Metabolic networks, on the other hand, contain metabolite nodes and edges that represent the specific enyzmes that connect them (in catalyzing biochemical reactions). As with any type of network, modularity in biological networks allows sub-groups of nodes and edges to function in a semi-autonomous fashion.

The concept of modularity resurfaces at the scale of organs and developmental units. Why are there distinct cell types organised into spatial aggregations (organs), and what are the benefits of having a segmented body plan, containing different modules (for instance, thoracic and abdominal segments in an arthropod) and where one of the possible differences between species is in the number of each type of module they possess?

Interestingly, this property has led researchers to suggest that modularity imparts a certain degree of evolvability to a system by allowing specific features (i.e. network sub-groups) to undergo changes without substantially altering the functionality of the entire system. Essentially, each module is free to evolve within, so long as the interfaces between modules remain consistent. This would suggest that the metabolic pathways at the edges between modules are relatively more constrained. It is thought that there exists an optimal degree of modularity for each given organism.

Modularity in Cognitive Science

The question of whether mind is structured in a modular fashion is a prominent one in the cognitive sciences. The basic modular position, as articulated by Jerry Fodor in his 1983 Monograph The Modularity of Mind, essentially argues that the mind is composed of independent, closed, ___domain-specific processing modules governed by a central controlling module, similar to the main program of a modular computer program. Fodor's proposal includes only lower-level cognitive processes, while he argues that higher-level processes are not modular.

Other perspectives on modularity come from evolutionary psychology, particularly from the work of Leda Cosmides and John Tooby. This perspective suggests that modules are units of mental processing that evolved in response to selection pressures. On this view, much modern human psychological activity is rooted in adaptations that occurred earlier in human evolution, when natural selection was forming the modern human species.

Arguments Against Modularity

In contrast to modular mental structure, some theories posit ___domain-general processing, in which mental activity is distributed across the brain and cannot be decomposed, even abstractly, into independent units. A staunch defender of this view is William Uttal, who argues in The New Phrenology (2003) that there are serious philosophical, theoretical, and methodological problems with the entire enterprise of trying to localize cognitive processes in the brain. Part of this argument is that a successful taxonomy of mental processes has yet to be developed.

Works Cited

Fodor, Jerry. (1983). Modularity of Mind: An Essay on Faculty Psychology. Cambridge, Mass.: MIT Press.

Uttal, William R. (2003). The New Phrenology: The Limits of Localizing Cognitive Processes in the Brain. Cambridge, Mass.: MIT Press.

Guimerá, R. & L.A. Nunes Amaral (2005). Functional Cartography of Complex Metabolic Networks. Nature, 433: 895-900.

Yang, A.S. (2001). Modularity, Evolvability and Adaptive Radiations. Evolution and Development, 3:2, 59-72.

See also