An object-oriented logic programming environment for modeling
Thomas W. Page, Richard R. Muntz · 1989
The human mind is primarily a machine for constructing and evaluating models. It is no surprise then that most of what we do with computers amounts to modeling real-world systems. Models allow us to ask questions like: What happened? What would happen if ... ? Will it perform acceptably? We would like to be able to ask these types of questions about a real-world system before it is ever built, while it is in operation, or after it has failed. While there is an ever expanding set of mathematical techniques for modeling, the actual practice of modeling remains the exclusive domain of a few experts. Each expert is typically highly proficient at only a small number of these techniques. The mathematical solvers associated with each technique are generally very inflexible, requiring input in a rigid and idiosyncratic format. What is required is an advanced modeling environment; an environment for the construction, storage, maintenance, querying and solution of models. Such an environment would harness the advanced modeling techniques for use by experts in the domain being modeled as opposed to experts in the solution techniques themselves. If realized, this meta-modeling system would truly be a tool for magnifying the power of the human brain. The goal of this dissertation is to begin to put in place the technology out of which an advanced modeling environment could be constructed. We propose a programming language based on a combination of the logic and object-oriented programming paradigms. We argue that both the declarative knowledge representation via logic and the hierarchical organization and modularization of object-oriented structuring are critical to the flexible modeling environment problem. We identify a surprising weakness of all existing programming paradigms, the inability to bind a function name to an implementation for a given target object (model) flexibly. In response, we propose a new concept, semantic binding, to deal with the problem. Finally, we demonstrate the effectiveness of this new hybrid-paradigm language in combination with semantic binding by presenting a prototype modeling environment. The Tangram Object-Oriented Modeling Environment is operational and being used to model a variety of domains.