In Cosmos, a program does not generally have read and write privileges to memory external to its structure. The only exceptions are when it reproduces (i.e. a new program is written to the environment), and when it sends and receives messages from the environment. In Tierra, the restrictions on read privileges are more relaxed (programs can read the code of neighbouring programs), but the write privileges are similar to those in Cosmos. Moreover, in Cosmos (as in Avida [Adami & Brown 94], Computer Zoo [Skipper 92], and similar models), the two-dimensional environment in which the programs live is unrelated to the address space of the programs; the programs live simultaneously in two different worlds. The situation is not as extreme in Tierra, but even there some aspects of the programs (e.g. registers and instruction pointers) are not physically represented in the shared environment.
Compare this situation to von Neumann's work with self-reproduction using cellular automata (discussed in Section 3.2), where automata are entirely represented (constructed) in a single, shared space, and interact entirely within this space as well. The interactions are defined by the CA's low-level transition rules, and do not, for example, respect boundaries between the higher-level self-reproducing automata. This is of course similar to the situation of biological organisms, which have the freedom to interact with their environment in a variety of ways only limited by the laws of physics (although organisms themselves generally evolve mechanisms to restrict such free interaction).