Borning, A., ``The Programming Language Aspects of ThingLab, a
Constraint-Oriented Simulation Laboratory'', ACM Trans. on
Programming Languages and Systems, vol. 3, no. 4 (Oct. 1981), pp. 353-387.]
is an interactive graphical simulation system based on Smalltalk.
- Objects have ports that can be connected graphically.
- If an object is modified interactively, it propagates changes to its
ports, and thus to objects to which it is connected.
- Features of objects can be ``anchored'' to prevent them from changing.
- An object may do search by attempting to change different port values
to make itself consistent.
- Problems are solved by value propagation or by relaxation.