Created: 04/15/99 :: Updated:2/19/03 :: Visitors: :: © A. Drogoul 1993-2003 ::

Table of contents

Description

StarLogo is a powerful, yet simple, language aimed at providing people with the simplest way for designing self-organized collective systems. It is based on Logo, but provides the programmer with three different entities: turtles (which can then belong to different species), patches (the environment) and the observer (the global procedures and variables). Unfortunately, it does not adopt an object-oriented style for programming these entities and this can confuse some people. We are currently working on a port from StarLogo to Java in order to (1) make it widely available (it only runs on Macintoshes); (2) clarify the object-oriented aspects of the language; (3) allow people to quickly build applets that can be demonstrated over the Web.

I have coded a lot of different applications in StarLogo: foraging collective behaviors inspired by those of the species of ants used in the Manta project, many collective sorting algorithms, etc. It is a very simple environment for quickly testing ideas, algorithms, etc.

 

back to top

Software

The official software(s)

StarLogo comes in three distributions. The original one has been developped in CommonLisp at the MIT MediaLab by Mitchell Resnick. An alternate distribution (based on the same kernel), named StarLogoT, provided a more cumfortable development environment, although there were no big differences between the two. These two distributions have since evolved as StarLogo (rewritten in Java) and NetLogo (in Java too, with the ability to run simulation projects as applets). The links for downloading each of these distributions can be found at the bottom of this page.

StarJava (downloadable, but discontinued in 2000)

It basically consisted in compiling StarLogo source files into Java. Instead of writing an interpreter in Java for running StarLogo code, which could affect the performances of the system (this is the way taken by the MIT people), we have chosen to compile the StarLogo code into Java code, to be linked with a set of core classes providing all the low-level primitives, functions and tools found in StarLogo (graphics included). By doing this, however, we lose the ability to use the interpreter on-line (the "Command Center"). Depending on the demand from users, we might include an interpreter later for this special purpose. Moreover, the resulting Java code can be reworked before being compiled, allowing people to add functions not found in StarLogo (datasets in turtles, etc.).

Here is a global overview of the StarJava framework. A first beta release is expected in July 1999, which will likely include a graphical tool for programming turtles, since the compiler is still not finished. The official announcement will be made on this page.

Update (01/15/2000) : the software is almost finished and you should contact Jean-Louis Tandé for more information.

Update (04/10/2000) : the software has been unfortunately discontinued (lask of people, lack of time, progresses of the two "official" distributions towards Java-based implementations). You can download its latest incarnation (which, at least, compiles fine, and includes some demonstration simulations in an applet) here.

starjava

 

back to top

Experiments

ants_1 ants_2 ants_3

You can run the above applet (automatically generated by NetLogo) from here. It corresponds to an ant-sorting algorithm.

Some of my work on StarLogo can be downloaded from this site. These files are only text files which can be directly saved and then used as "project files" in NetLogo (I usually use this distribution since it appears to be more reliable). These text files only contain a data fork (and no resource fork).

People

List of the people that have worked or still work on StarLogo :

back to top

Related papers

You might be interested to take a look at these papers for further information :

back to top

Related links

You might be interested to take a look at these links for further information :

back to top