1839 views
 owned this note
--- slideOptions: transition: slide progress: true --- ###### tags: `ESUG` `CORMAS` `Smalltalk` [//]: # (wget --recursive --convert-links https://hackmd.iscpif.fr/p/By-9IVqfQ) <span style="font-size:30px"> # [CORMAS](https://github.com/cormas), a participatory and interdisciplinary Agent Based Simulation Platform <span> By **P. Bommel**, N. Becu, B. Bonte, **E. Delay**, C. Le Page, H. Morales, N. Papoulias, S. Stinckwich, and the [CORMAS](https://github.com/cormas) team. <span style="font-size:25px"> [**ESUG 2018**](https://esug.github.io/2018-Conference/conf2018.html) in _[Università degli Studi di Cagliari](https://www.unica.it/unica/)_ -- Sardinia. </span> --- ## Software consideration ---- ### CORMAS by example ![VarzeaViva](https://hackmd.iscpif.fr/uploads/upload_a8e9e57c1827cfca302ef9ddf23979a3.gif =600x) ---- ### CORMAS is always about the real ![Amazonia](https://hackmd.iscpif.fr/uploads/upload_228cefc01e0be712aedd6174f040bef3.png =600x) ---- ### Multiple points of views ![Multi PoVs](https://hackmd.iscpif.fr/uploads/upload_bd36690df5787ae9eb5bb948a2f7246d.png) &#x2192; Asymmetric information to raise awareness about several viewpoints ---- ### Interactive simulation ![Kula](https://hackmd.iscpif.fr/uploads/upload_6f33232d7852b1bffbd7615a0c41cb94.png =600x) ---- ### CORMAS and [ComMod](https://www.commod.org/) ![Simplification](https://hackmd.iscpif.fr/uploads/upload_70b3505eb31cf2e5d2aeeeb7333b5809.png =400x) <span style="font-size:22px"> Do not provide "ready to use" solutions, but **Co-design** with stakeholders to get a **shared** representation. </span> <span style="font-size:25px">&#x2192; Raising awareness, facilitating communication, promoting coordination or mitigating conflicts </span> ---- ### Convert development of </br>simulation in hack-festival ![NewDistrict](https://hackmd.iscpif.fr/uploads/upload_a3ab88ca8b41ca405e7f0ad470e84284.png =500x) Model built as a collective learning process ---- ### Cormas topics ![topics in 2012](https://hackmd.iscpif.fr/uploads/upload_4d705cf5535511ce57bbb94f9b9ea789.png) ---- ### Types of CORMAS models From theoretical models to computer assisted role playing-games ![jasss 2012](https://hackmd.iscpif.fr/uploads/upload_b5e26dd3b714793faf30f1976724367b.png =500x) <span style="font-size:18px"> </span> ---- ### Modeling is learning researcher / thematician = simulation dev. ![Uruguay](https://hackmd.iscpif.fr/uploads/upload_558ab3190cd0b646fa2f8ffa4dcd1c8f.png =500x) ---- ### Modeling is learning With a shared history, intertwined with OO ! ![Simula and Smalltalk](https://parsenet.files.wordpress.com/2018/09/ooandmodelling1.png =500x) --- ## Our values ---- ### Building a shared vision <span style="text-align:left;font-size:35px;"> - take care of each indivuality - share differents points of view - look for a "big picture" vision &rarr; Promoting political spaces </span> ![political space](https://hackmd.iscpif.fr/uploads/upload_79bbcd7cb3c01076ed869727323f0933.png =400x) ---- ### Friendliness - CORMAS meta-model is not prescriptive </br> &#x2192; close to stackholders description ![dear friends](https://hackmd.iscpif.fr/uploads/upload_5fd4471dc9d3ded344332ee9080a8e8a.png =400x) ---- ### Decentring - Usually focused on stakeholders especially on their own practices. - Put yourself in the place of the agent (you really think about what the agent does and perceives). - Sharing and learning-by-modeling process generate empathy and mutual understanding > Wilensky _et al._, 2006. Thinking like a Wolf, a Sheep or a Firefly ---- ### An openWorld : transcendence <span style="text-align:left;font-size:35px"> A book from an anthropologist: M. Augé, 1982, "_Génie du paganisme_". &#x2192; The great difference between Monotheism and Polytheism : </span> <span style="font-size:25px"> - Monotheism : God is outside is creation and believers needs to ask for world tweaking - Polytheism : Gods are inside the world and believers can interact directly with them </span> ---- ### Transcendental CORMAS users ![transandence](https://hackmd.iscpif.fr/uploads/upload_4884c79e51ce276f9e808059cb44d133.png =200x) <span style="text-align:left;font-size:20px;width:55%;"> CORMAS with Pharo looks like polytheism because, users can interact with the simulation just like a polytheist believer would do with his gods. **Users** can enter slowly in Smalltalk and become an **oracle** </span> --- ## Cormas Smalltalk and HPC ### (High Performance Computing) It's now possible to connect CORMAS/Pharo with [openMole](https://openmole.org/) ---- ### How it work? ![openMole](https://hackmd.iscpif.fr/uploads/upload_fe5b817da5b67ae6de0f9e604b13a4e3.png) ---- ### Example On "Fireman" model under: <span style="text-align:left;font-size:30px;width:55%;"> - 100 replications - Desktop computer &#x2192; 6 min &#x263B; - CIRAD cluster &#x2192; 22 min &#x2620; &#x2620; - 1000 replications - Desktop computer &#x2192; 60 min &#x2689; - CIRAD cluster &#x2192; 37 min &#x2689; - 10000 replications - Desktop computer &#x2192; 10h &#x2620; &#x2620; - CIRAD cluster &#x2192; 1h38 &#x263B; </span> --- ## Courses on ABM ### MISSABMS ![MissAbms 17](https://i.imgur.com/gXCA55i.png) 3 platforms: Netlogo, Gama, Cormas ---- ## Courses on ABM ### MISSABMS - Diversity of participants, - Afterwards, preference for UML formalization over implementation, - UML + Smalltalk: - Better understanding of OO concepts - Navigation between classes, - Live coding into the debugger (model checking) --- ## To conclude ![Il buono il brutto il cattivo](https://upload.wikimedia.org/wikipedia/en/4/45/Good_the_bad_and_the_ugly_poster.jpg =400x) ---- ### Il Buono ![Il buono](https://hackmd.iscpif.fr/uploads/upload_dce72c8f5d9b2e9c662171569fce80da.png =400x) <span style="font-size:30px"> - Made by people for people - Smalltalk : through thick and thin (1998) - Object centred vision - Faster learning than other languages - Link to real world - With concrete challenges: biodiversity, social equity, human/wildlife management, conflict resolution... </span> ---- ### Il Brutto ![Il brutto](https://i.ytimg.com/vi/QCShax2Mhp0/maxresdefault.jpg =400x) <span style="font-size:30px"> - Dirty distribution for interactive simulation - One monster class &#x2192; work in progress - No unit test &#x2192; :+1: - Quick and dirty coded and until recently without versioning &#x2192; :+1: </span> ---- ### Il Cattivo ![il cattivo](https://hackmd.iscpif.fr/uploads/upload_b25842e96526a5445feb00299f78bf21.png =400x) <span style="font-size:30px"> - Not (yet) GIS &#x2192; needs for spatial object manipulation - No spatial continuity - Limited (world size, number of agents) &#x2192; needs for optimisation </span> --- ### Cormas Soonish :) - Integrating with wonderful Pharo technologies - Roassal, Maps, Spec, GT tools, DSLs ![Geranium Example](https://hackmd.iscpif.fr/uploads/upload_abf8b533af3f6da2d21d0956f6844da8.png =700x) ---- ### Cormas Experiments <a href="https://drive.google.com/file/d/1KWgQCFM8KgzcQMGpTm60zQ70vfOxK2wB/view"> <img border="0" alt="LorentzExperiment" src="https://parsenet.files.wordpress.com/2018/09/latablerehab.png" width="600" height="420"> </a> ---- ### Cormas in 10 years <span style="font-size:30px"> - Tangible objects: avatar, life-size RPG (but no 3D, no immersion glasses) - Multi-devices : tablet, smartphone ... - Software blocks for interactive game design - News tools for collective design of models - AI for hybrid simulation (when players are missing) Focus our efforts on the **meaning** of the model (symbolic) more than its **aesthetic** (realistic) </span> ![board game](https://hackmd.iscpif.fr/uploads/upload_bd139d95bff37d9a634a41067f398cb1.png) --- ## Welcome ... ... to be part of the CORMAS team to play the "infinite game". https://github.com/cormas/cormas/ ![XXprogramming](https://hackmd.iscpif.fr/uploads/upload_38c030bd6efe3bed2f500c872142013a.png =500x) --- # In addition Some references ---- ## Some papers about CORMAS <span style="font-size:18px"> * Bommel P., Bécu N., Le Page C., Bousquet F., 2016. Cormas, an Agent-Based simulation platform for coupling human decisions with computerized dynamics. In, T. Kaneda, H. Kanegae, Y. Toyoda, & P. Rizzi (Éd.), Simulation and Gaming in the Network Society. Volume 9 of the series Translational Systems Sciences pp 387-410. Springer Singapore. [DOI:10.1007/978-981-10-0575-6_27](http://cormas.cirad.fr/pdf/CormasforIsaga2015.pdf). * Bousquet, F., Bakam, I., Proton, H. et Le Page, C. 1998. Cormas: common-pool resources and multi-agent Systems. Lecture Notes in Artificial Intelligence 1416: [826-838](https://www.researchgate.net/profile/Francois_Bousquet/publication/225181720_CORMAS_Common-pool_resources_and_multi-agent_systems/links/54a113dc0cf257a6360222ac/CORMAS-Common-pool-resources-and-multi-agent-systems.pdf). </span> ---- ## Some papers about participative work and CORMAS <span style="font-size:18px"> * Le Page C., Becu N., Bommel P., Bousquet F., 2012. Participatory Agent-Based Simulation for Renewable Resource Management: The Role of the Cormas Simulation Platform to Nurture a Community of Practice. Journal of Artificial Societies and Social Simulation 15-10 [http://jasss.soc.surrey.ac.uk](http://jasss.soc.surrey.ac.uk/15/1/10.html!) * M. Etienne, et al. 2014, Companion Modelling. A Participatory Approach to Support Sustainable Development, Springer, [978-94-017-8557-0](https://www.springer.com/us/book/9789401785563). * Much more [here](http://cormas.cirad.fr/fr/bibliog/article.htm) and [here](https://www.commod.org/en/publications)! </span>