Wednesday, March 19, 2008

Brief Overview of NetLogo

Computer Programming Language

Think of your favorite computer application. It might be a word processor, a game or even a website. One thing that they all have in common is that they were created using a programming language. Programming languages are the instructions used to tell a computer what to do. Logo is a programming language created by Seymour Papert. Originally designed for exploring human languages like English, Logo quickly became know for its ability to do graphics. More information about the history of Logo as well as a simple web based Logo programming environment can be found at the Berkley Foundation for Opportunities in Information Technology website.

Turtle Graphics

Early on Logo was used to control a simple floor robot. The only commands it could do were move forward, move back or turn left or right. Underneath was a spot for a pen. With the pen inserted the robot could draw simple pictures as it moved around on the paper. The robot looked like a turtle and hence the term “turtle graphics”. Today most versions of logo support sending commands to a “virtual turtle” robot that “lives” on the computer screen. NetLogo can control multiple turtles at once. There are also more sophisticated turtle robotic applications.

Agent Based Programming

Its good to think of a NetLogo program the same way as you would a movie production. Some of the people needed to make a movie are the actors that actually play the parts, the prop people that take care of the special effects, the director who tells the prop people and the actors what to do, the writer who actually develops the story and the producer who puts it all together. Anybody who's anybody in the movie business communicates through their agent. The main players in the NetLogo world are all controlled by agents too.

Turtle Agents

These are like the actors in a movie. They may play the part of cars in a traffic jam, termites collecting wood, wolves and sheep fighting for survival or even thousands of cells of slime mold.

Patch Agents

These are like the prop men. The make the roads, grass, rivers any other background objects that may be needed.

Observer Agent

Typically there is only one lead director for a movie. And there is only one observer for a NetLogo program. The observer is able to communicate with the turtles and patches and tell them what to do.



No comments: