<< >> Up Title Contents

1.1 LiveWorld: an Animate Programming Environment

Any programming environment designed to support the construction of animate systems has to offer some basic world-modeling capabilities, and offer them in a readily accessible form. It must support the simultaneous animation of multiple objects. It must support object autonomy; in that objects can be seen as operating under their own control rather than under the control of a central program. The objects must be able to sense their environment, which will consist mostly of other animate objects.

LiveWorld (see figure 1.1) is a programming environment designed to support the construction of animate systems. While LiveWorld itself is not based on agents, it is a tool that facilitated the development of the agent-based programming techniques, and as its name implies, was designed to support a feeling of "liveness", a quality difficult to define but a crucial part of establishing the context for agent-based programming. A live environment is one in which there are a lot of simultaneous activities going on, both at the direct command of the user and as a result of autonomous agent activity. Users can interact with autonomous objects, and change their agents while they are running. The feel of LiveWorld sets the stage for agents, by providing a world in which they can act.

One goal of LiveWorld is to provide a world where computational objects of all kinds can be readily manipulated. Animate systems are built out of a diverse set of components, and it is important to have relatively easy-to-use tools that support creation and combination of a variety of object types. LiveWorld is built around a prototype-inheritance object system which allows objects to be easily cloned (copied) and modified. Objects are represented as hierarchically nested boxes, allowing structures of varying degrees of complexity to be manipulated as single units. Complex objects can be assembled by cloning simpler objects and dropping them into a container object: for instance, a sensor or behavior can be added to an animal body in this way. The system is intended to be a construction kit for animate systems, allowing simulations to be built out of components from libraries.

Figure 1.1: The LiveWorld environment.

<< >> Up Title Contents