Abstract
The rapid proliferation of personal computers has brought a new class of users, the so-called non-computer professionals, into the world of computing. These users are typically well versed in their respective professions, such as engineering, science, financial analysis, teaching, and research, but may lack the programming skills necessary to take full advantage of the power of computers. They would like to communicate with the computer in their "natural" language, viz., relationships, equations, and formulas. The category of declarative or constraint or very high level languages has been conceived in response to those needs. TK!Solver developed by Software Arts, is the first commercially available and widely acclaimed constraint language designed to provide the engineer with the desired power, flexibility, versatility, and ease of use. TK!Solver also serves as a framework for developing and using personalized expert systems in various scientific and engineering disciplines. After a simple demonstration session illustrating the creation of models and the power of the basic problem-solving mechanisms of TK!Solver, the development history of TK!Solver is traced back to its conceptual precursor, QAS. The various stages in the evolution of the TK concept are recounted and new developments are discussed. The principles of TK model design are outlined and illustrated by specific application examples. It is concluded that the main contribution of TK!Solver is the experience of thousands of professionals developing a taste for constraints, and learning to create, manipulate, and use mathematical models in a direct dialogue with the computer.