--- slideOptions: transition: slide progress: true --- ###### tags: `ESUG` `CORMAS` `Smalltalk` [//]: # (wget --recursive --convert-links https://hackmd.iscpif.fr/p/By-9IVqfQ) # [CORMAS](https://github.com/cormas), a participatory and interdisciplinary Agent Based Simulation Platform 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. [**ESUG 2018**](https://esug.github.io/2018-Conference/conf2018.html) in _[Università degli Studi di Cagliari](https://www.unica.it/unica/)_ -- Sardinia. --- ## Software consideration ---- ### CORMAS by example Websocket ---- ### CORMAS is always about the real ---- ### Multiple points of views ![POV](https://github.com/cormas/Booklet-CORMAS/raw/master/Chapters/CORMAS/chap_modelling_guide/figures/multiPOVs.png) → Asymmetric information to raise awareness about several viewpoints ---- ### Interactive simulation ![POV](https://github.com/cormas/Booklet-CORMAS/raw/master/Chapters/CORMAS/chap_modelling_guide/figures/Kula.jpg =550x) ---- ### CORMAS and [ComMod](https://www.commod.org/) ![Simplification](https://github.com/cormas/Booklet-CORMAS/raw/master/Chapters/CORMAS/chap_modelling_guide/figures/amenajeu-rsa.JPG =500x) Do not provide "ready to use" solutions, but **Co-design** with stakeholders to get a **shared** representation. → Raising awareness, facilitating communication, promoting coordination or mitigating conflicts ---- ### Convert development of
simulation in hack-festival ![Simplification](https://github.com/cormas/Booklet-CORMAS/raw/master/Chapters/CORMAS/chap_modelling_guide/figures/NewDistrict.jpg =550x) Model built as a collective learning process ---- ### Cormas topics ![topics in 2012](https://github.com/cormas/Booklet-CORMAS/raw/master/Chapters/CORMAS/chap_modelling_guide/figures/jasssFig8.png =450x) ---- ### Types of CORMAS models From theoretical models to computer assisted role playing-games ![topics in 2012](https://github.com/cormas/Booklet-CORMAS/raw/master/Chapters/CORMAS/chap_modelling_guide/figures/jasssFig7.png =530x) ---- ### Modeling is learning researcher / thematician = simulation dev. ![topics in 2012](https://github.com/cormas/Booklet-CORMAS/raw/master/Chapters/CORMAS/chap_modelling_guide/figures/Photo0284_arrow.png =550x) ---- ### Modeling is learning With a shared history, intertwined with OO ! ![Simula and Smalltalk](https://parsenet.files.wordpress.com/2018/09/ooandmodelling1.png =4000x) --- ## Our values ---- ### Building a shared vision - take care of each indivuality - share differents points of view - look for a "big picture" vision → Promoting political spaces ![political space](https://raw.githubusercontent.com/cormas/Booklet-CORMAS/master/Chapters/CORMAS/chap_modelling_guide/figures/political_space.JPG =450x) ---- ### Friendliness - CORMAS meta-model is not prescriptive
→ close to stackholders description ![dear friends](https://raw.githubusercontent.com/cormas/Booklet-CORMAS/master/Chapters/CORMAS/chap_modelling_guide/figures/friendliness.JPG =450x) ---- ### 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 A book from an anthropologist: M. Augé, 1982, "_Génie du paganisme_". → The great difference between Monotheism and Polytheism : - 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 ---- ### Transcendental CORMAS users Websocket 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** --- ## Cormas Smalltalk and HPC ### (High Performance Computing) It's now possible to connect CORMAS/Pharo with [openMole](https://openmole.org/) ---- ### How it work? ![](https://github.com/cormas/Booklet-CORMAS/raw/master/Chapters/CORMAS/chap_Analysis_experiments/figures/Cormas_openMole.png) ---- ### Example On "Fireman" model under: Websocket - 100 replications - Desktop computer → 6 min ☻ - CIRAD cluster → 22 min ☠ ☠ - 1000 replications - Desktop computer → 60 min ⚉ - CIRAD cluster → 37 min ⚉ - 10000 replications - Desktop computer → 10h ☠ ☠ - CIRAD cluster → 1h38 ☻ --- ## 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://upload.wikimedia.org/wikipedia/it/thumb/5/50/Il_biondo.png/310px-Il_biondo.png =500x) - 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... ---- ### Il Brutto ![Il brutto](https://i.ytimg.com/vi/QCShax2Mhp0/maxresdefault.jpg =500x) - Dirty distribution for interactive simulation - One monster class → work in progress - No unit test → :+1: - Quick and dirty coded and until recently without versioning → :+1: ---- ### Il Cattivo ![il cattivo](https://upload.wikimedia.org/wikipedia/it/thumb/6/68/Il_cattivo.png/310px-Il_cattivo.png =500x) - Not (yet) GIS → needs for spatial object manipulation - No spatial continuity - Limited (world size, number of agents) → needs for optimisation --- ### Cormas Soonish :) - Integrating with wonderful Pharo technologies - Roassal, Maps, Spec, GT tools, DSLs ![Geranium Example](https://parsenet.files.wordpress.com/2018/09/geranium-ui2.png =700x) ---- ### Cormas Experiments LorentzExperiment ---- ### Cormas in 10 years - 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) ![back to the future](https://raw.githubusercontent.com/cormas/Booklet-CORMAS/master/Chapters/CORMAS/chap_modelling_guide/figures/borad_game.JPG =650x) --- ## Welcome ... ... to be part of the CORMAS team to play the "infinite game". https://github.com/cormas/cormas/ ![back to the future](https://github.com/cormas/Booklet-CORMAS/raw/master/Chapters/CORMAS/chap_modelling_guide/figures/XXprogramming.png =600x) --- # In addition Some references ---- ## Some papers about CORMAS * 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). ---- ## Some papers about participative work and CORMAS * 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)!