Plumbin Simulation

A recent email exchange ...


Ward -- Recently we had a pleasure of working with BarbaraYates and JanSteinman on the design review of our current project. We chose PipesAndFilters architecture for the software. Jan mentioned that you and KentBeck worked on a similar problem in the past. I searched Smalltalk Archive and PPR for any pointer to the results of that and was not successful. Do you know of any document or source code(in public domain) that I could leverage of in developing generic abstract filter and/or pipe classes? -- JerzyBilchuk


Jerzy -- He must be thinking of the educational simulator I wrote for the FirstAdvancedSmalltalkClass. It was called Plumbin'. The name is a takeoff of Truckin', a knowledge engineering simulator built at Xerox PARC in the same period -- mid 80's. Plumbin' was inspired by the child's card game, Waterworks, where you play pipe cards like dominos to connect faucets to spouts. I modeled four or five fluid devices (pipes, valves, pressure tanks, etc.) Each had views that could animate the real-time behavior (state, pressure and flow), and controllers with which one could intervene.

One of the students was so taken by the power and simplicity of the whole thing that he founded a five year development project at a major chemical manufacturer to duplicate the thing on a chip. The result was a programmable part that could model and control chemical processes, communicate by fiber with similar parts, and generate a video animation of everything it did as it did it.

I learned a bit about collaboration on what was in fact my first project involving Kent. I wrote the thing in a few days and then polished it for a few more because I wanted the students to read and enjoy the code. I gave a copy to Kent and asked for his comments. I wasn't expecting anything but praise. Instead he gave me modifications. Hurmph. I considered discarding them. At the last minute I put the mods in, all of them. I felt the program slipping as I did. But, lo, it was just my imagination. The program didn't decay after all. In fact it held up quite well. What did decay was my defensiveness. You can't collaborate without letting go of something. -- WardCunningham


Just wanted to let you know that the sources for Plumin' have helped me understand Squeak better. I've gotten the sources running and have started enhancing. I added a MosaicController? object which pops up a menu allowing one to add new tiles to the model. Its helping me understand how to work in the MVC enviroment. Thanks again. -- ErikHusby


EditText of this page (last edited February 20, 2003) or FindPage with title or text search