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.
|Paradigm||Multi-paradigm: educational, procedural, agent-based, simulation|
|Designed by||Mitchel Resnick, Eric Klopfer, Daniel Wendel|
|Developers||MIT: Media Lab, Scheller Teacher Education Program|
StarLogo Nova 2.1 / November 24, 2018
|Typing discipline||duck, dynamic, strong|
|Implementation language||Java, C|
|Platform||Java virtual machine|
|StarLogo TNG, StarLogo, MacStarLogo Classic, OpenStarLogo, starlogoT|
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.
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.
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.
- "StarLogo TNG". MIT Scheller Teacher Education Program Education Arcade. Massachusetts Institute of Technology. Retrieved 2019-07-15.
- "Welcome to StarLogo Nova". StarLogo Nova. MIT Scheller Teacher Education Program. Retrieved 2019-07-10.
- "StarLogo Nova". MIT Scheller Teacher Education Program Education Arcade. Massachusetts Institute of Technology. Retrieved 2019-07-15.