Modularity is a desirable but elusive design property for large scale programs and computer systems [10, 11]. Designs that appear modular may, once put into practice, actually turn out to be example of “false modularity” because of interdependencies between components. For example, the apparently modular architecture of micro-kernel operating systems [9] has run into practical difficulties [6, 3]. Examining how state machines can be constructed by connecting simpler state machines together, provides some insight into why real modularity is so powerful and how to avoid false modularity. In this paper, I’m going to sketch out how to look at modularity from the perspective of state machines, try to derive a few “rules of thumb”, and point to some of the deep mathematical basis of this method.
-
Recent
- The UNIX file system as a recursive function
- Apple’s A5 chip made in Austin
- Richard Stallman speaks
- Dennis Ritchie
- Droning on about computer security
- The multics file system
- Fukushima Robot Blog
- Sinking in too many layers
- Computer architecture, power, and PHP
- VCs bailing on signed term sheets
- American corporate management
- Apple’s Patents possibly covering android
- Computer Science 101
- Why computers are more and more devices for generating heat from electricity
- Dutch masters
