The Programming Language Aspects of ThingLab, a Constraint-Oriented Simulation Laboratory

The programming language aspects of a graphic simulation laboratory named ThingLab are presented. The design and implementation of ThingLab are extensions to Smalltalk. In ThingLab, constraints are used to specify the relations that must hold among the parts of the simulation. The system is object-oriented and employs inheritance and part-whole hierarchies to describe the structure of a simulation. An interactive, graphic user interface is provided that allows the user to view and edit a simulation.

[1]  Guy L. Steele,et al.  The definition and implementation of a computer programming language based on constraints , 1980 .

[2]  Daniel G. Bobrow,et al.  On Overview of KRL, a Knowledge Representation Language , 1976, Cogn. Sci..

[3]  Joe Logue Special Message - IEEE Fellow Nominations , 1977 .

[4]  Craig Schaffert,et al.  Abstraction mechanisms in CLU , 1977, Commun. ACM.

[5]  Mary Shaw,et al.  An introduction to the construction and verification of Alphard programs , 1976, ICSE '76.

[6]  Henry Lieberman,et al.  A session with Tinker: Interleaving program testing with program design , 1980, LISP Conference.

[7]  Carl Hewitt,et al.  Viewing Control Structures as Patterns of Passing Messages , 1977, Artif. Intell..

[8]  Luc Steels,et al.  Reasoning Modeled As A Society Of Communicating Experts , 1979 .

[9]  Mark Stefik,et al.  Planning with Constraints (MOLGEN: Part 1) , 1981, Artif. Intell..

[10]  Alan Borning,et al.  ThingLab: a constraint-oriented simulation laboratory , 1979 .

[11]  Adele Goldberg,et al.  Personal Dynamic Media , 1977, Computer.

[12]  David Canfield Smith,et al.  Pygmalion: a creative programming environment. , 1975 .

[13]  Ivan E. Sutherland,et al.  Sketchpad a Man-Machine Graphical Communication System , 1899, Outstanding Dissertations in the Computer Sciences.

[14]  Kristen Nygaard,et al.  SIMULA: an ALGOL-based simulation language , 1966, CACM.

[15]  Daniel H. H. Ingalls,et al.  The Smalltalk-76 programming system design and implementation , 1978, POPL.