Although ARK targets a fairly specific application domain, it supports a powerful programming model. Programmers can not only create simulations by linking together various pre-built objects and interactors, but they can also develop new interactors. Programminga simulation, such as the planetary orbit simulation shown in Figure 2, involves first generating physical objects, like balls, from the object warehouse in the lower right corner of the display. By clicking on the objectMenu button, the programmer can choose to instantiate any object available in the environment. After creating some physical objects, the programmer follows the same procedure to place interactors, like the Motion and Gravity objects in Figure 2, in the alternate reality. The programmer now uses the messageMenu button to find out what sorts of messages to which the various interactors respond by placing the button on an interactor and pressing it with the hand. This generates a list of all messages appropriate to that interactor. The programmer chooses one, such as “off” for the gravity interactor in the orbit simulation, and the system generates a message box. Message boxes are objects which can send and receive Smalltalk messages. The programmer links the new message box, in our case one which generates the message “off”, to the appropriate interactor by joining them with a dotted line. The message box can then be collapsed to a single button as in Figure 2. Interactors affect all the objects in the same alternate reality, so after specifying all the necessary controls, a programmer can begin the simulation.