Rules and tools

Rule based systems on computers have an interesting connection with the tools you might find in a machine shop. Superficially they look different, but they have a lot in common.

A router, lathe, planer, saw, grinder and milling machine each serves a particular purpose. And each is an evolution of years or even centuries of invention and refinement.

The same is true of a rule in a computer software system. Whether the rule is to align two objects, detect similarities or differences, enforce symmetries, or combine properties in new ways, each tool has been refined and made easy to use over many iterations.

More importantly, the individual tools are meant to work together with each other. You wouldn’t have a rule system that did nothing but align two objects, any more than you would have a machine shop that contained nothing but a milling machine. It is the ability to go back and forth between different tools that gives the system its power.

I suspect there is a semantics of tools — and sets of tools — that transcends the question of what problem domain you are working in.

Leave a Reply