NetLogo 6.0.3 released

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

NetLogo 6.0.3 released

uri wilensky-2
The Center for Connected Learning and Computer-Based Modeling at Northwestern University is pleased to announce NetLogo 6.0.3, available for free download from our site at <> .

The NetLogo user community continues to experience much growth. We've had many hundreds of thousands of downloads in the past year from our website. Maintaining the large code-base, adding features to support our users, and expanding the models library requires considerable resources. Please consider making a donation at our site <>. All donation sizes help.

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.

Most models created in NetLogo 5 or later will work in NetLogo 6 after automatic conversion upon first opening the model. Models created in NetLogo 4 or earlier should be opened in NetLogo 5 first and saved before opening in NetLogo 6. If you have any trouble, please consult: <>.

Feature Changes

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 <> for information about the new syntax.
Documentation Changes

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 script in the Linux installer package.
Fixed a Behaviorsearch UI bug where absolute value derivatives weren't being enabled.
Extension Changes

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.
Documentation Changes

Clarify documentation around __includes by providing examples.
Fix a broken link in the dictionary.
Update the Windows unattended installation directions in the FAQ.
Model Changes

New Sample Models:

Bidding Market
Blood Sugar Regulation
Rock Paper Scissors
Vision Evolution
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:

Alternative Visualizations:

Virus - Alternative Visualization
Virus - Circle Visualization
Curricular Models:

epiDEM Basic
epiDEM Travel and Control
IABM Models:

Spread of Disease
Sample Models:

Disease Solo
Rumor Mill
Known Issues

We encourage our users to report any bugs they find with NetLogo 6 to our bugs mailing list <mailto:[hidden email]>, and other feedback to our feedback mailing list <mailto:[hidden email]>. We encourage users who encounter a bug to consult this wiki page <> which lists major problems as users encounter them and offers advice on how to alleviate or work around them.

This list contains several defects known to us at the time of the release of 6.0.3:

The vid extension produces videos that don't play properly in Windows (the same video plays correctly on a Mac, however). It appears to play videos created by other sources properly.
The arduino extension doesn't work properly in Windows 10 under 64-bit NetLogo. It does work properly running under 32-bit NetLogo. We recommend windows users who want to work with the arduino extension install the 32-bit version of NetLogo.
There are problems editing the HubNet interface after importing a HubNet client interface from the interface tab of another model.
Some Users continue to have problems initially launching NetLogo 6 in Mac OS Sierra. More information (including a partial workaround for the problem) is available here <>.

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.


Uri Wilensky
Professor of Learning Sciences, Computer Science and Complex Systems
Director, Center for Connected Learning and Computer-Based Modeling


Uri Wilensky


Uri Wilensky