Replies: 6 comments 21 replies
-
Not yet fully resolved, #2227 (comment). There is an "explicit is better than implicit" argument in this context. Note that NetLogo opted to use an explicit |
Beta Was this translation helpful? Give feedback.
-
As input to the conversation, it might be useful to take a look at chapter 3 from Zieg'ers Theory of Modeling and Simulation. Note that this chapter informed the design of the current experimental ABMSimulator and DEVSSimulator. |
Beta Was this translation helpful? Give feedback.
-
I started a discussion on how the DEVS simulator could integrate in this picture: |
Beta Was this translation helpful? Give feedback.
-
Since unfortunately I wont be able to make it to the call, here is my opinion on the matter. First of all I want to repeat that I now think we should not conflate the steps counter and time too much. This is somewhat already present in that we have currently have both steps and time, but also in the discussion "steps" is sometimes regarded as a time variable. And while I think this is a valid approach for most models, I think we should just conceptually define it simply as what it is - the number of times "model.step" is called. And we define this as a significant change in model state - hence we trigger visualization updates in response to this event and we collect the number of steps whenever the datacollector collects data. But of course it also makes sense for some models to have a more fine granular handling of time - and I am very excited for which features you will discuss could be added to a possible time or clock function. But I would see this as a completely additional module and I don't think we need to hard code something into our model base class. Just let users add it by declaring model.time = AwesomeMesaClock() Lastly I want to add my opinion on when to call model.step. I had the impression that almost everyone suggested doing it at the beginning, before user actions. I agree with this opinion. It's less clear cut for time, but this is a separate issue. |
Beta Was this translation helpful? Give feedback.
-
Without judgement, here’s an example of someone wanting to increase the step counter by some other amount: |
Beta Was this translation helpful? Give feedback.
-
Conclusions from the meeting
|
Beta Was this translation helpful? Give feedback.
-
We are planning a call Tuesday 27 aug 14:30 CEST (12:30 PM GMT) to discuss how the concept of time should be integrated in Mesa. The call will take place from our General channel on Matrix, as usual.
Proposed agenda
Write-up of current state of affairs
Thanks @quaquel for the write-up!
PR #2223 to automatically increase time and step count in the model touched on many conceptual subjects on time. After more discussion, 5 discussions where split of.
Where consensus is already reached
Where consensus still needs to be reached
Conclusion of the call
model._time
is (by default) a copy ofmodel._steps
, as a way to move the discussion forwardMaintainers, feel free to edit/update this post directly.
Beta Was this translation helpful? Give feedback.
All reactions