StarLogo

StarLogo is an agent-based simulation language developed by Mitchel Resnick, Eric Klopfer, and others at the Massachusetts Institute of Technology (MIT) Media Lab and Scheller Teacher Education Program in Massachusetts. It is an extension of the Logo programming language, a dialect of Lisp. Designed for education, StarLogo can be used by students to model or simulate the behavior of decentralized systems.

The first StarLogo ran on a Connection Machine 2 parallel computer. A subsequent version ran on Macintosh computers. It was later renamed MacStarLogo, and now is named MacStarLogo Classic. The current StarLogo is written in the language Java and works on most computers.

StarLogo is also available in a version named OpenStarLogo. Its source code is available online, but the license under which it is released is not an open-source license according to The Open Source Definition, because of restrictions on the commercial use of the code.

TNG version
StarLogo TNG (The Next Generation) version 1.0 was released in July 2008. It provides a 3D world using OpenGL graphics and a block-based graphical language to increase ease of use and learnability. It is written in C and Java. StarLogo TNG uses blocks to put together puzzle-like pieces. StarLogo TNG reads the blocks in the order that they fit together, and sets the program in the Spaceland view.

StarLogo is a primary influence for the Kedama particle system, programmed by Yoshiki Oshima, found in the Etoys educational programming environment and language, which can be viewed as a Logo done originally in Squeak Smalltalk.

Nova version
The latest version of StarLogo, StarLogo Nova, was released in beta form in the summer of 2014. StarLogo Nova takes the blocks language and 3D visualization engine of StarLogo TNG and brings them to the web browser. StarLogo Nova's execution engine is built on the Adobe Flash runtime and includes a purpose-built instancing rendering engine, using the Adobe Molehill 3D graphics application programming interface (API), able to render tens of thousands of independently moving agents on current hardware. The programming area is built on ScriptBlocks, a JavaScript-based blocks library. As of 2019, StarLogo Nova under development by the MIT Scheller Teacher Education Program, directed by Eric Klopfer, with lead designer and developer Daniel Wendel.

StarLogo Nova introduces several notable design changes relative to TNG, particularly with the introduction of a World agent, reminiscent of StarLogo 2.2's Observer. In StarLogo Nova, any command can be run by any agent, but each breed has its own program and can have its own set of breed-specific traits. This brings StarLogo Nova closer to an object-oriented programming design, in an effort to improve the ease with which students can transfer skills in StarLogo Nova to other, more mainstream languages. Other changes include the use of embedded arguments for blocks (similar to the language Scratch), What You See Is What You Get (WYSIWYG) editing of the simulation interface, and splitting the collision primitive into its component halves, with each breed having collision code on its own program page.