Cormas in 10 years!

Hello Marco,

Thank you for your comment. I remember now that I had indeed passionate discussions with Andrew Bell (@abell) about agent-based modelling primitives in Pheonix at CSS’15. From what I remember from our discussions and reading again the Adrew’s paper in iEMS I think that using the Agent-based Modeling Primitives and Land-Use Modelling Primitive that they propose is a great idea, especially in our community in which we use different platforms that have many similarities. Proof is that we are still organizing each year a common training MISSABMS (Multi-plateforms summer school on ABMS) for the three platforms Gama, Cormas and NetLogo! So I agree that we should use generic descriptions for these primitives and I would be very glad to exchange about that with Andrew et al.

This being said, when we shoot the video, I was actually thinking at something slightly different. I was thinking of implementing in Cormas a discrete event scheduler implementing the paralell Discrete EVent System Specification (DEVS) proposed by Bernard P. Zeigler in order to be able to have modularity in terms of a coupled model composed by the coupling of sub-models. The idea is that at the moment, a Cormas model is though as a whole, and the consistency of scheduling must be designed for the whole system (even though there are of course some basic features available such as cellular automaton framework). By implementing a DEVS scheduler, we should be able to have real sub-models that we can connect together in a “plug and play” manner.
Of course it is a huge undertaking since it can be heavy to code models in DEVS and thus this way of developing must co-exist with the actual Cormas scheduling system which is much more intuitive… And of course, a higher level of model description (such as the unit of numeric input or output variables, etc.) is necessary to describe clearly these sub-models so that end-modellers do not connect these sub-models in an inconsistent way…

I did not think about it in the first place but reading your post, I think that this could be helpful too in the perspective of sharing models across platforms since it reaquires to specify them with enough details to couple these sub-models to any other sub-model.

If we work well, maybe in 10 years we will have both AMPs and LUMPs coded as modular sub-models!

2 Likes