HOME

TheInfoList



OR:

StarLogo is an agent-based simulation language developed by Mitchel Resnick, Eric Klopfer, and others at the
Massachusetts Institute of Technology The Massachusetts Institute of Technology (MIT) is a Private university, private research university in Cambridge, Massachusetts, United States. Established in 1861, MIT has played a significant role in the development of many areas of moder ...
(MIT) Media Lab and Scheller Teacher Education Program in
Massachusetts Massachusetts ( ; ), officially the Commonwealth of Massachusetts, is a U.S. state, state in the New England region of the Northeastern United States. It borders the Atlantic Ocean and the Gulf of Maine to its east, Connecticut and Rhode ...
. It is an extension of the
Logo A logo (abbreviation of logotype; ) is a graphic mark, emblem, or symbol used to aid and promote public identification and recognition. It may be of an abstract or figurative design or include the text of the name that it represents, as in ...
programming language A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
, a
dialect A dialect is a Variety (linguistics), variety of language spoken by a particular group of people. This may include dominant and standard language, standardized varieties as well as Vernacular language, vernacular, unwritten, or non-standardize ...
of
Lisp Lisp (historically LISP, an abbreviation of "list processing") is a family of programming languages with a long history and a distinctive, fully parenthesized Polish notation#Explanation, prefix notation. Originally specified in the late 1950s, ...
. Designed for
education Education is the transmission of knowledge and skills and the development of character traits. Formal education occurs within a structured institutional framework, such as public schools, following a curriculum. Non-formal education als ...
, StarLogo can be used by students to model or simulate the behavior of decentralized systems. The first StarLogo ran on a
Connection Machine The Connection Machine (CM) is a member of a series of massively parallel supercomputers sold by Thinking Machines Corporation. The idea for the Connection Machine grew out of doctoral research on alternatives to the traditional von Neumann arch ...
2 parallel computer. A subsequent version ran on
Macintosh Mac is a brand of personal computers designed and marketed by Apple Inc., Apple since 1984. The name is short for Macintosh (its official name until 1999), a reference to the McIntosh (apple), McIntosh apple. The current product lineup inclu ...
computers. It was later renamed MacStarLogo, and now is named MacStarLogo Classic. The current StarLogo is written in the language
Java Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
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 Open-source licenses are software licenses that allow content to be used, modified, and shared. They facilitate free and open-source software (FOSS) development. Intellectual property (IP) laws restrict the modification and sharing of creative ...
according to
The Open Source Definition ''The Open Source Definition'' (OSD) is a policy document published by the Open Source Initiative. Derived from the Debian Free Software Guidelines written by Bruce Perens, the definition is the most common standard for open-source software. T ...
, 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 Squeak is an object-oriented, class-based, and reflective programming language. It was derived from Smalltalk-80 by a group that included some of Smalltalk-80's original developers, initially at Apple Computer, then at Walt Disney Imaginee ...
Smalltalk Smalltalk is a purely object oriented programming language (OOP) that was originally created in the 1970s for educational use, specifically for constructionist learning, but later found use in business. It was created at Xerox PARC by Learni ...
.


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 A web browser, often shortened to browser, is an application for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's scr ...
. StarLogo Nova's execution engine is built on the
Adobe Flash Adobe Flash (formerly Macromedia Flash and FutureSplash) is a mostly discontinuedAlthough it is discontinued by Adobe Inc., for the Chinese market it is developed by Zhongcheng and for the international enterprise market it is developed by Ha ...
runtime and includes a purpose-built instancing rendering engine, using the Adobe Molehill 3D graphics
application programming interface An application programming interface (API) is a connection between computers or between computer programs. It is a type of software Interface (computing), interface, offering a service to other pieces of software. A document or standard that des ...
(API), able to render tens of thousands of independently moving agents on current hardware. The programming area is built on ScriptBlocks, a
JavaScript JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior. Web browsers have ...
-based blocks
library A library is a collection of Book, books, and possibly other Document, materials and Media (communication), media, that is accessible for use by its members and members of allied institutions. Libraries provide physical (hard copies) or electron ...
. 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 Object-oriented programming (OOP) is a programming paradigm based on the concept of '' objects''. Objects can contain data (called fields, attributes or properties) and have actions they can perform (called procedures or methods and impl ...
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.


See also

* NetLogo *
Scratch (programming language) Scratch is a High-level programming language, high-level, block-based visual programming language and website aimed primarily at children as an educational tool, with a target audience of ages 8 to 16. Users on the site can create projects o ...
* MicroWorlds


References


External links

* {{Authority control Agent-based programming languages Educational programming languages Logo programming language family Pedagogic integrated development environments