09 May 2007

A Theory of Modularity

I've mentioned a few times how important modularity is to the efficiency of openness. This seems pretty obvious, intuitively, but it's nice to know that some academics have produced a rather nice, rigorous demonstration of why this should be the case for software:

Important software modularity principles, such as the information hiding criterion, have remained informal. DSM modeling and Baldwin and Clark’s design rule theory have the potential to formally account for how design rules create options in the form of independent modules and enable independent substitution.

This paper evaluated the applicability of the model and theory to real-world large-scale software designs by studying the evolution of two complex software platforms through the lens of DSMs and design rule theory. The results showed that (1) DSM models can precisely capture key characteristics of software architecture by revealing independent modules, design rules, and the parts of a system that are not well modularized; (2) design rule theory can formally explain why some software systems are more adaptable, and how a modularization activity, such as refactoring, conveys strategic advantages to a company.

Er, quite. (Via Michael Tiemann.)

No comments: