Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Plugin] [Netlogo] [Doc] Lack of clarity on the headlessing of NetLogo models #304

Closed
JusteRaimbault opened this issue May 30, 2018 · 6 comments
Assignees
Milestone

Comments

@JusteRaimbault
Copy link
Contributor

The documentation and good practices (and what actually works) around the use of fully headless models for NetLogo tasks is to my mind not robust (we discussed of that with @ElCep this morning) :

  • the use of a clear-all may or may not be necessary, depending is the user counts on the setting of variables by the task itself or uses a custom setup procedure (passing values with variables substitution)
  • keeping globals as sliders still works, but may be misleading -> a good practice is a clear dichotomy between headfull and headless netlogo model files (implying having most of the code in external sources to keep consistence between the two).
  • it is not clear is keeping plots can be harmful for performance (I do not remember if the netlogo headless workspace deactivates all plot procedures)
    We need both to clarify the behavior (linked also with the possibility of setting variables with java/scala variables directly) ; and rewrite the doc to clearly document the issues at stake at promote good practices.
@JusteRaimbault JusteRaimbault self-assigned this May 30, 2018
@JusteRaimbault JusteRaimbault added this to the 8 milestone May 30, 2018
@JusteRaimbault JusteRaimbault modified the milestones: 8, 9 Jun 14, 2018
@JusteRaimbault
Copy link
Contributor Author

Todo list :

  • Test safety of execution with unheadlessed models (seems to still work)
  • Reformulate good practices in terms of headlessing (gui vars, setup, clear-all etc.)
  • Add good practices in terms of NetLogo code factoring
  • Finish a netlogoheadlesser / add in import wizard ?

@JusteRaimbault
Copy link
Contributor Author

5c4a231faa adds a clear all before launching the task (lead to issues when pooling on nodes, whereas a clean workspace is the expected behavior) : so a use of clear-all is not necessary, even misleading for users using input mapping.

@JusteRaimbault
Copy link
Contributor Author

For setup, both using string substitution and input mapping are acceptable behaviors, and I guess none should be favored. The first is cleaner to have an explicit view of what the experiments does : the setup function must take all needed parameters in argument. The second is necessary when using huge arrays (but I'm not sure is any users are using this new feature yet).

@JusteRaimbault
Copy link
Contributor Author

Furthermore, the HeadlessNetLogo.scalatex shouldn't be in tutorials. I'm trying to refactor that soon.

@JusteRaimbault
Copy link
Contributor Author

See this branch

@JusteRaimbault JusteRaimbault changed the title [Netlogo] Lack of clarity on the headlessing of NetLogo models [Plugin] [Netlogo] [Doc] Lack of clarity on the headlessing of NetLogo models Sep 13, 2018
@JusteRaimbault
Copy link
Contributor Author

I think the NetLogo doc is relatively clear now ; will leave the other ideas (headlesser etc.) to future enhancements.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant