NetLogo: Design and Implementation of a Multi

Download Report

Transcript NetLogo: Design and Implementation of a Multi

SwarmFest, May 11, 2004
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
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
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)
http://ccl.northwestern.edu/netlogo/