Prototypes vs. simulations

What really is the difference between a prototype and a simulation? This discussion came up in a teleconference recently, over the Concours research project TBE: Tools and Techniques for Business Experimentation.
Intuitively, you might say that a prototype is something physical, and a simulation is done in software or acted out in some way. You might say that a prototype is built to show a concept and a simulation is done to investigate the relationships between a concept and its environment. Or you might say that a prototype should be as close to the working end results as possible, whereas a simulation only shows the effects of it, not caring what is behind the curtain.
The trouble with these definitions is that both “prototype” and “simulations” can be used for a variety of purposes. To a certain extent they are defined not by their content but by their use (or even by what environment they are in.)
Classifying techniques and uses of them is useful, but sometimes I wonder if we need to be precise. Back in the stone age of computing there were all kinds of more-or-less well defined classifications of computers, for instance into mainframe, mini and micro. First these were based on technical specifications, such as CPU speed or memory size. Then one tried price. Then you got the light-hearted but surprisingly correct classifications of “a micro is a computer you can throw, a mini is one you can topple, and a mainframe is one you can crawl into” which weren’t too far off the mark. At least for a while, until the technological evolution made the whole classification scheme useless.
Similarly, classifying things as software or hardware becomes more difficult, since they to a certain extent are substitutes. You get finer distinctions such as firmware, and jokey extenstions such as wetware. I am increasingly fond of the saying that

hardware is something which, if you fiddle with it long enough, breaks, whereas software is something which, if you fiddle with it long enough, works.
So, perhaps we should differentiate between prototypes and simulations by saying that
a prototype is something you build to see whether something will work, and a simulation is something you build to see whether something will break….
Oh well, just a thought. And it is still fairly early in the morning.

Advertisements