StarLogo is new modeling environment based on the paradigm of massive parallelism . StarLogo is designed to help nonexpert users (such as precollege students) model the workings of decentralized systems, such as ant colonies and market economies. Users can write simple rules for thousands of objects, then observe the patterns that arise from the interactions. In doing so, users develop new ways of thinking about decentralized systems.
In creating StarLogo, I had a very different set of goals. I was not particularly concerned with performance or speed. Rather, I was interested in providing new ways for users to model, control, and think about actions that actually happen in parallel. Many things in the world really do act in parallel; the most natural way to model such situations is with a parallel programming language. In these cases, parallelism isn't a "trick" to improve performance; it is the most natural way of expressing the desired behavior.
In recent years, there has been a growing scientific interest in decentralized systems . But most people continue to have great difficulty reasoning about and understanding such situations. When people see patterns in the world, they tend to assume some type of centralized control, even where it doesn't exist. When people see a flock of birds, for example, they typically assume that the bird in the front is leading and the others are following. But most bird flocks don't have leaders at all. Rather, each bird follows a set of simple rules, reacting to the movements of the birds nearby. Orderly flock patterns arise from these simple, local interactions . StarLogo is intended to help people model such systems -- and, in the process, move beyond the "centralized mindset."
First, StarLogo has many more turtles. While traditional versions of Logo typically have only a few turtles, StarLogo has thousands of turtles -- and all of the turtles can perform their actions at the same time, in parallel. For many colony-type explorations, having hundreds of turtles is a necessity. The behavior of a colony can change qualitatively when the number of turtles is increased. An ant colony with 10 ants might not be able to make a stable pheromone trail to a food source, whereas a colony with 100 ants (following the exact same rules) might.
Second, StarLogo turtles have better senses. The traditional Logo turtle was designed primarily as a drawing turtle, for creating geometric shapes. But the StarLogo turtle is more of a behavioral turtle. StarLogo turtles come equipped with "senses." They can detect and distinguish other turtles nearby, and they can "sniff" scents in the world. Such turtle-turtle and turtle-world interactions are essential for creating and experimenting with decentralized phenomena. Parallelism alone is not enough. If each turtle just acts on its own, without any interactions, interesting colony-level behaviors will never arise.
Third, StarLogo reifies the turtles' world. In traditional versions of Logo, each pixel of the turtles' world has a single piece of state information -- its color. StarLogo attaches a much higher status to the turtles' world. The world is divided into small square sections called patches. The patches have many of the same capabilities as turtles -- except that they can not move. Each patch can hold an arbitrary variety of information. For example, each patch can keep track of the amount of "chemical" that has been released within its borders. Patches can also execute StarLogo commands, just as turtles do. For example, each patch could diffuse some of its "chemical" into neighboring patches, or it could grow "food" based on the level of chemical within its borders. Thus, the environment is given a status equal to that of the creatures inhabiting it.
StarLogo was originally implemented on the Connection Machine, a massively-parallel supercomputer. Recently, StarLogo was ported to the Macintosh. (To obtain a copy, write to firstname.lastname@example.org)
High-school students have used StarLogo in many similar projects, modeling the behaviors of traffic jams, termite colonies, and predator-prey ecosystems.
StarLogo simulation inspired by slime-mold aggregation.
Each "turtle" emits a chemical pheromone, while also following the gradient of the pheromone.
2. Papert, S. Mindstorms. Basic Books, New York, 1980.
3. Resnick, M. Turtles, Termites, and Traffic Jams: Explorations in Massively Parallel Microworlds. MIT Press, Cambridge, MA, 1994.
4. Waldrop, M. Complexity: The Emerging Science at the Edge of Order and Chaos. Simon and Schuster, New York, 1992.
ęCopyright on this material is held by the author