Herbert Simon’s parable of the watchmakers was constructed to convey his belief that complex systems will evolve from simple systems much more rapidly if there are stable intermediate forms present in that evolutionary process than if they are not present. … Read More
Author Archives: Ian Sutton
The parable of the two watchmakers
The parable of the two watchmakers was introduced by Nobel Prize winner Herbert Simon to describe the complex relationship of subsystems and their larger wholes. There once were two watchmakers, named Hora and Tempus, who made very fine watches. The … Read More
Travelin’ lite (the only way to fly)
Of course, you can’t code up a (meaningful) system without some number of building blocks. So even in a perfectly architected and layered system, you inevitably accumulate some baggage as you move up the stack. The trick, though, is to … Read More
Identifying transitive closures with Structure101
Here an interesting use case. I am currently working on a reuse project. We have a large legacy Java application that we are trying to farm for implementations of some high level functions in a new application. To do this … Read More
Graphviz on steroids
We just released our new generic jobbie, Structure101g. If you already know Structure101 for Java or Structure101 for C/C++, you probably already have a good idea of what Structure101g might be. This is for those (and there are many, oh … Read More
Software erosion and package tangles
My recent post on architectural erosion in the findbugs code-base was generally well received, but there were some skeptical voices. In a comment, Emeric questioned whether cyclic dependencies at the package level are anything more than a smell (if that). … Read More
Software erosion in pictures – Findbugs
My particular area of interest in software these days is the importance of levels of abstraction above the raw code. In Java, the most natural place for these to manifest themselves is through the package structure (though this is certainly … Read More