NetLogo: Design and Implementation of a Multi-Agent Modeling Environment Seth Tisue, lead developer Uri Wilensky, author and principal investigator Center for Connected Learning and Computer-Based Modeling Northwestern University SwarmFest, May 11, 2004
Outline Introduction to NetLogo (Wilensky, 1999): what’s our niche? Current and future developments: growing that niche
What is NetLogo? A multi-agent programming language… …and integrated modeling environment
Audience and goal Dual audience: research and education Goal: “Low threshold, high ceiling”
Why “low threshold” matters Not just for teaching; researchers should care too –Rapid development, ease of experimentation and prototyping –Communication, sharing, verification –“Clear box” (aka “white box”)
Achieving low threshold Why a special language? –Leave out language complexity –Add language features that are specific to agent-based modeling Why an integrated environment? –Reduce complexity of the software development process
NetLogo facts Cross-platform (written in Java) Free download; no restrictions on use 147 complete, documented sample models (and 83 user community models) Under development since 1999 –Very active development: usually 2 or 3 releases per year Large and active user community
The NetLogo language Logo core Adds agents and concurrency Successor to StarLisp, CM StarLogo, MacStarLogo, and StarLogoT; redesigned for both ease and power Observer, patches, turtles (and breeds) Agentsets 2-D spatial relationships (distance, towards, etc.)
More NetLogo features Web delivery of models as applets BehaviorSpace tool for parameter sweeping HubNet, for participatory simulations (Wilensky & Stroup, 1999)
What’s new?
What’s new? Graphics Faster, more flexible graphics –Turtle sizes –Exact turtle positions –Label agents with text –Smooth, flicker-free animation
Graphics: Before
Graphics: Before & after
Graphics credit: Owen Densmore
Graphics
credit: James Steiner
Graphics
What’s new? Extensibility Extensions API –Add new commands to language by implementing them in Java Controlling API –“Script” NetLogo from Java, such as for doing batch runs
What’s new? Extensibility All-in-one = all-or-nothing? Transition to a modular architecture Bridging the gap between integrated environments and libraries
What’s coming soon?
Work in progress World topologies 3-D world, 3-D graphics
Work in progress: Procedural Modeling of Cities Now in first year of three-year NSF funded project Two components: –Land use patterns (including streets & roads) –Building shapes
credit: Tom Lechner Ben Watson Pin Ren Martin Felsen Uri Wilensky Seth Tisue
Expected spin-offs for NetLogo Large, complex, multi-leveled models Speed Pluggable visualization engines
Ask me for copies Tisue & Wilensky, “NetLogo: A Simple Environment for Modeling Complexity” [ICCS 2004] Tisue & Wilensky, “NetLogo: Design and Implementation of a Multi-Agent Modeling Environment” [SwarmFest 2004] Lechner, Watson, Felsen, Wilensky, Ren, Tisue, “Procedural Modeling of Land Use in Cities” [draft]
Try it! Explore our Models Library online Download application (includes all models)