NetLogo 6.0.3 improves on NetLogo 6.0.2 by offering Library Models changes, bugfixes, extension enhancements, and small usability improvements. Six new models have been added to the library, among other changes. This version of NetLogo contains fixes for several bugs specific to HubNet, System Dynamics, and NetLogo 3D as well as other miscellaneous bugfixes. Several bundled extensions, in particular the cf extension, have been substantially enhanced. Additionally, usability improvements have been made: adding a searchable procedures menu, updating the look and feel of agent monitors, and enforcing that plot and pen names be unique.
Improve the look & feel of Agent Monitor windows.
The procedures menu in the code tab now has a search field and actively filters procedure names as the user types. This should improve navigation speed for large models with lots of procedures. There is also now a hotkey to access this menu: Ctrl-G on Windows and Linux, and Cmd-G on MacOS.
Increase the speed of the diffusion primitive and make the diffusion operation symmetric.
NetLogo enforces that plot names are unique and that pen names are per-plot unique without taking capitalization into account. This avoids certain cases where set-current-plot and set-current-plot-pen primitives would set the plot or pen to something different than the user intended because names differed in capitalization only.
Models with existing plots and pens which have the same name without taking capitalization into account will be automatically converted on first open in 6.0.3.
We are planning on adding the ability to have multiple conditional branches to ifelse and ifelse-value. However, as this is a fairly substantial change to the core language, we have implemented it in the cf extension for testing. See the cfdocumentation <https://ccl.northwestern.edu/netlogo/docs/cf.html> for information about the new syntax.
Add a table to the Output section of the Programming Guide specifying how the various output primitives differ in whether they print the calling agent, whether they print a newline, and whether they can be read back into NetLogo.
Anonymous procedures appearing inside ask blocks inside repeat blocks now close over unique copies of let-variables introduced in the repeat block.
Fix a longstanding HubNet bug in which HubNet would sometimes crash as a large number of users joined.
Fix HubNet discovery when the HubNet server is run on a Mac.
When switching from the code tab to the interface tab, the cursor switches to the command center. This prevents typed commands or copy/paste keyboard shortcuts from affecting the code tab.
Turtles draw trails when moving backwards (regression in NetLogo 6.0.1).
Smooth Code Tab scrolling.
BehaviorSpace now only applies standard CSV string escaping (doubling of double quotes) to string outputs in result files. It used to apply NetLogo style string escaping (backslashes in front of special characters) and then apply CSV escaping on top of that... The new behavior is consistent with the RFC 4180 specification and the current behavior of the csv extension.
The Behaviorspace dialog appears centered in the NetLogo window.
Due to changes introduced in Java, certain dialogs in NetLogo 6.0.1 would appear under the dialog that created them instead of on top. These dialogs now appear on top of the dialog that created them.
Non-code changes to the System Dynamics modeler are pulled in on every recompile (prior to this, changes like newly-disconnected flows were sometimes not taken into account on recompiles).
The system dynamics code tab adjusts itself to match the size of the system dynamics window.
NetLogo 3D loads and saves system dynamics.
Fixes an error raised in 3D when the world was cleared following setting a patch-color to an RGB list.
Miscellaneous small changes to the format of exported worlds. NetLogo 6.0.3 should be able to import worlds exported by older versions of NetLogo and older versions of NetLogo should be able to import worlds exported by NetLogo 6.0.3.
The "others" execute bit is set for the netlogo-headless.sh script in the Linux installer package.
Fixed a Behaviorsearch UI bug where absolute value derivatives weren't being enabled.
nw:generate-preferential-attachment <http://ccl.northwestern.edu/netlogo/docs/nw.html#nw:generate-preferential-attachment> accepts a min-degree parameter, specifying the number of links each new turtle preferentially creates to existing turtles.
The arduino extension (and the related sketch and model in the library) have been updated to allow the arduino to send strings back to NetLogo. Two new debug primitives have also been added to help troubleshoot interaction between NetLogo and the arduino.
The verbose cf extension conditional syntax as been replaced with straight-forward generalizations of the ifelse and ifelse-value primitives. The syntax is much simpler and these primitives run much faster than the old constructs.
The ls extension has much less overhead for calling out to single models, making constructs like ask turtles [ ls:ask my-model [ run-something ] ] much faster.
The ls extension now seeds the child model RNG based on the parent model RNG at model creation. Furthermore, andls:random-seed primitive has been introduced, so an entire model system can be seeded simultaneously. This makes it possible to have reproducible runs when using LevelSpace.
The ls:let primitive now handles scoping properly.
ls:assign has been added to LevelSpace to make assigning globals of child models easier.
Clarify documentation around __includes by providing examples.
Fix a broken link in the dictionary.
Update the Windows unattended installation directions in the FAQ.
New Sample Models:
Blood Sugar Regulation
Rock Paper Scissors
New Curricular Models
NIELS - Current in a Wire HubNet
New HubNet Activities:
Current in a Wire HubNet (same as above)
Revised Code Examples:
arduino Extension: The example model and sketch have been updated to reflect new features in the extension
sound Extension – Sound Workbench: Minor GUI updates
sound Extension – Percussion Workbench: Minor GUI updates
File Input Example: Fixed a bug in the save-patch-data template procedure
Lottery Example: Corrected Related Models from Preferential Attachment to the Rnd Example Model in the Info Tab
Info Tab Example: Corrected reference from pegdown to flexmark in the Info Tab
Revised Curricular Models:
BEAGLE Evolution - Fish Tank Genetic Drift: Update duplicate plot-pen names and resize plots
GenEvo - GenEvo 4: Replaced usage of cf:when with nested ifelses
Lattice Land - Lattice Land Explore: Fixed bug when deleting a segment that didn't exist.
Lattice Land - Lattice Land Triangles Dissection: Fixed bug when deleting a segment that didn't exist.
NIELS - Electrostatics: All turtles are now particles and each particle has a charge; Changed particle coloring; Updated Info Tab and some variable names to reflect later NIELS models
Urban Suite - Tijuana Bordertowns: Minor Info Tab updates.
Revised Sample Models:
Artificial Anasazi: Update broken URLs in Info Tab
Autumn: Update broken URLs in Info Tab
HIV: The AIDS model has been renamed to HIV†
Color Fractions: Removed direct reference to dead web page in Info Tab
Fairy Circles: Update URLs in Info Tab
Fur: Update broken URLs in Info Tab
Hex Cell Aggregation: Update broken URLs in Info Tab
Ising: Update broken URLs in Info Tab
Kicked Rotators: Update broken URLs in Info Tab
Language Change: Update URLs in Info Tab
Lennard-Jones: Added citation in the Info tab
Lightning: Update URLs in Info Tab.
L-System Fractals: Update broken URLs in Info Tab
Membrane Formation: Update broken URLs in Info Tab
Moth: Update URLs in Info Tab
Party: Fix incorrect comment on turtle headings.
PD Basic: Minor GUI updates
Segregation: Update broken URLs in Info Tab. Update color scheme for color blindness. Minor GUI updates. Minor Info Tab updates.
Sugarscape 1 Immediate Growback: Fixed "Wealth distribution" histogram bug (turtle with max sugar was not displayed)
Sugarscape 2 Constant Growback: Fixed "Wealth distribution" histogram bug (turtle with max sugar was not displayed)
Sugarscape 3 Wealth Distribution: Fixed "Wealth distribution" histogram bug (turtle with max sugar was not displayed)
Revised IABM Models:
Arduino Example: The example model and sketch have been updated to reflect new features in the extension (same as above)
Segregation Simple Extension 1: Update broken URLs in Info Tab
Segregation Simple Extension 2: Update broken URLs in Info Tab
Segregation Simple Extension 3: Update broken URLs in Info Tab
Segregation Simple: Update broken URLs in Info Tab
† This resulted in a number of models being updated in order to correctly reference the HIV model:
Virus - Alternative Visualization
Virus - Circle Visualization
epiDEM Travel and Control
NetLogo was designed and authored by Uri Wilensky, project leader and director of the CCL. The core development team includes Jeremy Baker, Jason Bertsche, Robert Grider, Bryan Head, Seth Tisue and Nicolas Payette. Many others have contributed greatly. HubNet was jointly designed by Uri Wilensky and Walter Stroup.
The CCL gratefully acknowledges two decades of support for our NetLogo work. The original support came from the National Science Foundation -- grant numbers REC-9814682 and REC-0126227. Further support has come from REC-0003285, REC-0115699, DRL-0196044, CCF-ITR-0326542, DRL-REC/ROLE-0440113, SBE-0624318, EEC-0648316, IIS-0713619, DRL-RED-9552950, DRL-REC-9632612, and DRL-DRK12-1020101, IIS-1441552, CNS-1441016, CNS-1441041, CNS-1138461, IIS-1438813, IIS-1147621, DRL-REC-1343873, IIS-1438813, IIS-1441552, CNS-1441041, IIS-1546120, DRL-1546122, DRL-ITEST-1614745 and DRL-1640201. Additional support came from the Spencer Foundation, Texas Instruments, the Brady Fund, the Murphy fund, and the Northwestern Institute on Complex Systems.
Professor of Learning Sciences, Computer Science and Complex Systems
Director, Center for Connected Learning and Computer-Based Modeling