“…As software experts we surly know that our systems requirements, development techniques, tools and hardware all change at a dramatic rate. Many of the concepts I advocate [3] (e.g., structural architecture, version space, configuration space, and specialization) are only for flexibility. The resulting system embodies these concepts but they do not change the system's function.…”