Thursday, May 17, 2007
The secret of constructing reliable software is not rocket science. The secret is in the timing. Nothing must be allowed to happen before or after its time. If you could control the timing of events in a software system in such a way that the system's complex temporal behavior becomes thoroughly predictable, you could, as a result, construct a software sentinel that would automate the job of the discovering and enforcing the temporal laws that govern the system's behavior. Additions and/or modifications to the system are not allowed to break the exisiting timing protocols thereby insuring solid consistency. The beauty of this is that it makes it possible to create software programs of arbitrary complexity without incurring the usual penalties of unreliability and high development costs. This simple and beautiful secret will usher in the golden age of automation.