Keywords

ABM; UML; Class diagram; Code generation; reverse engineering; Participatory Modelling

Location

Session D1: Tools And Methods of Participatory Modelling

Start Date

12-7-2016 9:30 AM

End Date

12-7-2016 9:50 AM

Abstract

Designing and implementing an ABM is a hard task that needs programming skills besides design skills. This is especially true when dealing with Participatory Modelling (PM) where the model should no longer appear as a black box. On the contrary, participants of a PM process should easily understand the relationship between the outputs of a simulation and the underlying conceptual model, and even contribute to modify it. For that purpose, we have developed an UML Class Diagram Editor that allows the participants to design the structure of their model. Then it generates the source code of the model that can be loaded on Cormas, an ABM platform dedicated to natural resources management. Conversely, the editor is also able to read existing code to generate a diagram by reverse engineering. As autonomous software, our editor can produce standard XMI files and other types of codes. Currently, Cormas is the targeted platform, but code generation can be easily available for other platforms. Obviously the generated code does not enable to run a simulation. It contains only the structure of the model: classes, attributes (with their default value) and associations. Methods to instantiate a simulation and activate the agents still need to be implemented. Nevertheless, Cormas offers many useful methods of its generic classes that can be reused by the specific agents of the modellers. As Cormas is oriented toward interactive simulation, this code generator will greatly facilitate the involvement of stakeholders in participating in the design of models to explore scenarios regarding their own socio-environmental systems.

 
Jul 12th, 9:30 AM Jul 12th, 9:50 AM

Facilitating the Design of ABM and the Code Generation to Promote Participatory Modelling

Session D1: Tools And Methods of Participatory Modelling

Designing and implementing an ABM is a hard task that needs programming skills besides design skills. This is especially true when dealing with Participatory Modelling (PM) where the model should no longer appear as a black box. On the contrary, participants of a PM process should easily understand the relationship between the outputs of a simulation and the underlying conceptual model, and even contribute to modify it. For that purpose, we have developed an UML Class Diagram Editor that allows the participants to design the structure of their model. Then it generates the source code of the model that can be loaded on Cormas, an ABM platform dedicated to natural resources management. Conversely, the editor is also able to read existing code to generate a diagram by reverse engineering. As autonomous software, our editor can produce standard XMI files and other types of codes. Currently, Cormas is the targeted platform, but code generation can be easily available for other platforms. Obviously the generated code does not enable to run a simulation. It contains only the structure of the model: classes, attributes (with their default value) and associations. Methods to instantiate a simulation and activate the agents still need to be implemented. Nevertheless, Cormas offers many useful methods of its generic classes that can be reused by the specific agents of the modellers. As Cormas is oriented toward interactive simulation, this code generator will greatly facilitate the involvement of stakeholders in participating in the design of models to explore scenarios regarding their own socio-environmental systems.