From Object-Oriented to Knowledge-Based Programming (NUT System Development Experience)
Abstract
A long-term effort is described which has resulted in a knowledge-based software tool, NUT, that combines object-oriented programming with automatic program synthesis. The concept of classes has been considerably extended so that they have evolved into knowledge modules possessing all essential features of frames and can be used as specifications for automatic synthesis of programs. A logically simple and reliable program synthesizer plays an essential role in a number of extensions of the programming tool: scheme editor for developing visual specification languages, declarative reflection tools and distributed programming toolkit. Applications in simulation are briefly discussed.