19 June 2001




M. Cobb
University of Southern Mississippi
Hattiesburg, MS 39406-5106
H. Foley III    R. Wilson
M. Chung    K. Shaw
Naval Research Laboratory
Stennis Space Center, MS 39529


This completely object-oriented language, introduced in the early 1980s, uses a graphical, interactive programming environment. Smalltalk is based on the concept of communicating entities, known as objects. Objects are normally regarded as instances of classes that have attributes and that implement methods for performing operations. Communication between objects occurs when one object sends a message to another, causing that object's method of the same name to be invoked. The ability to define objects that interact in this way enables the incremental development of very complex systems. Starting with just a few objects, programmers can implement basic capabilities quickly, then add to or refine these objects until the system is complete. Smalltalk s interactive environment allows changes to be made, and their effects known, in a very short period. Adele Goldberg and David Robson provide an excellent reference for those wishing to learn more about Smalltalk, and David Smith gives a quick introduction to object-oriented concepts in general.

Since the beginning of NRL's object-oriented mapping work in 1994, we have used ParcPlace-Digitalk' s Visual Works Smalltalk environment, in conjunction with OTI's ENVY/Developer source code manager, to let multiple developers make changes to the source code. Our development platform consists of several Sun Sparc workstations running the Solaris operating system, with one workstation per developer. This has been an extremely effective setup, and continues to be the development environment of choice for the distributed mapping project. Kevin Shaw and colleagues provide more details on the development history of the prototype and the impact of using an OO approach for the project.

Sponsored by the Defense Modeling and Simulation Office (DMSO) and the National Imagery and Mapping Agency's Terrain Modeling Program Office.

Published in IEEE Software May/June 1998.
Journal Article