NetLogo
64px | |
![]() User interface
|
|
Paradigm | multi-paradigm: educational, procedural, agent-based, simulation |
---|---|
Designed by | Uri Wilensky |
First appeared | 1999 |
Stable release | 5.2.1 / October 6, 2015 |
Typing discipline | dynamic |
OS | Cross-platform (JVM) |
License | GPL |
Filename extensions | nlogo, nlogo3d, nls |
Website | ccl |
Influenced by | |
StarLogo, Logo |
NetLogo is an agent-based programming language and integrated modeling environment.
Contents
About
NetLogo was designed, in the spirit of the Logo programming language, to be "low threshold and no ceiling". It teaches programming concepts using agents in the form of turtles, patches, links and the observer.[1] NetLogo was designed for multiple audiences in mind, in particular: teaching children in the education community, and for domain experts without a programming background to model related phenomena. [2] Many scientific articles have been published using NetLogo.[3]
The NetLogo environment enables exploration of emergent phenomena. It comes with an extensive models library including models in a variety of domains, such as economics, biology, physics, chemistry, psychology, system dynamics.[4] NetLogo allows exploration by modifying switches, sliders, choosers, inputs, and other interface elements.[5] Beyond exploration, NetLogo allows authoring of new models and modification of existing models.
NetLogo is freely available from the NetLogo website. It is in use in a wide variety of educational contexts from elementary school to graduate school.[6][7][8][9] Many teachers make use of NetLogo in their curricula.[10]
NetLogo was designed and authored by Uri Wilensky, director of Northwestern University's Center for Connected Learning and Computer-Based Modeling.[11]
Books
A number of books have been published about NetLogo.[12]
Books available in print include:
- Lua error in package.lua at line 80: module 'strict' not found.
- Lua error in package.lua at line 80: module 'strict' not found.
- Lua error in package.lua at line 80: module 'strict' not found.
- Lua error in package.lua at line 80: module 'strict' not found.
- Lua error in package.lua at line 80: module 'strict' not found.
Books available online include:
- José M. Vidal (2010). Fundamentals of Multiagent Systems Using NetLogo. http://multiagent.com/p/fundamentals-of-multiagent-systems.html
Online courses
Several massive open online courses are currently being offered that use NetLogo for assignments and/or demonstrations:
- Introduction to Complexity (Melanie Mitchell, Santa Fe Institute) http://www.complexityexplorer.org
- Social Network Analysis (Lada Adamic, University of Michigan) https://www.coursera.org/course/sna (this course is not yet available).
- Model Thinking (Scott E. Page, University of Michigan) https://www.coursera.org/course/modelthinking
Technical foundation
NetLogo is free and open source software, under a GPL license.[13] Commercial licenses are also available. It is written in Scala and Java and runs on the Java Virtual Machine.[14] At its core is a hybrid interpreter/compiler that partially compiles user code to JVM bytecode.[15]
A version that runs on JavaScript, instead of the JVM, is currently under development.[16]
Examples
A simple multiagent model in NetLogo is the Wolf-Sheep Predation model,[17] which is shown in the screenshot above. It models the population growth of a predator/prey system over time. It has the following characteristics:
- There are two breed of turtles, called sheep and wolves.
- Sheep and wolves move randomly and have limited energy.
- Wolves and sheep lose energy by moving. If a wolf or sheep has zero energy, it dies.
- Sheep gain energy by eating grass.
- Wolves gain energy by eating sheep.
- Both wolves and sheep can reproduce, sharing energy with their offspring.
HubNet
HubNet is a technology that uses NetLogo to run participatory simulations in the classroom.[18] In a participatory simulation, a whole group of users takes part in enacting the behavior of a system. Using an individual device, such as a networked computer or Texas Instruments graphing calculator, each user acts as a separate, independent agent. One example of a HubNet activity is "Tragedy of the Commons",[19] which models the economic problem called tragedy of the commons.
References
<templatestyles src="Reflist/styles.css" />
Cite error: Invalid <references>
tag; parameter "group" is allowed only.
<references />
, or <references group="..." />
External links
- CCL home page
- NetLogo news via Twitter
- Discussion group for users hosted by Yahoo!
- Discussion group for developers hosted by Google
- NetLogo models of multiagent systems
- ↑ http://ccl.northwestern.edu/netlogo/docs/programming.html#agents Types of Agents in NetLogo
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ http://ccl.northwestern.edu/netlogo/references.shtml
- ↑ http://ccl.northwestern.edu/netlogo/models/ Models included with NetLogo
- ↑ http://ccl.northwestern.edu/netlogo/docs/interface.html#interface
- ↑ lhttp://ccl.northwestern.edu/papers/2011/sengupta2011.pdf
- ↑ lhttp://ccl.northwestern.edu/papers/2010/BEAGLE-chapter-final-distribute.pdf
- ↑ lhttp://ccl.northwestern.edu/papers/2009/Blikstein&Wilensky_AnAtomIsKnown.pdf
- ↑ lhttp://ccl.northwestern.edu/papers/2009/Levy&Wilensky_ConnectedChemistry.pdf
- ↑ http://ccl.northwestern.edu/courses.shtml
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ http://ccl.northwestern.edu/netlogo/resources.shtml
- ↑ http://ccl.northwestern.edu/netlogo/docs/faq.html#license
- ↑ http://ccl.northwestern.edu/netlogo/faq.html
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ https://github.com/NetLogo/NetLogo/wiki/NetLogo-Web
- ↑ http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation Wolf Sheep Predation
- ↑ http://ccl.northwestern.edu/netlogo/hubnet.html HubNet
- ↑ http://ccl.northwestern.edu/netlogo/models/HubNetTragedyoftheCommonsHubNet
- Pages with reference errors
- Pages with broken file links
- Logo programming language family
- Agent-based programming languages
- Agent-based software
- Pedagogic integrated development environments
- Java platform
- Free software programmed in Scala
- Simulation programming languages
- Simulation software
- Simulation software stubs