SlideShare a Scribd company logo
1 of 39
Download to read offline
Oleksandr ZAITSEV
ESUG — August 2023
oleksandr.zaitsev@cirad.fr
CIRAD, UMR SENS, MUSE, Université de Montpellier, France
Agent-Based Modelling in Pharo
Using Cormas
2
CIRAD is the French agricultural research and cooperation
organization working for the sustainable development of tropical
and Mediterranean regions.
3
My Objectives
Get you excited about the cool things
that we can do with it
🤩
Encourage you to participate in our effort
🤗
Inform you about ABM and Cormas
🧐
Agent-Based Modelling
Part 1:
5
Let’s look at the Birds
https://youtu.be/X0sE10zUYyY
6
Central Questions of ABM
How do individuals that act on their own create
beautiful emerging patterns?
How do those patters of behavior then feed back
to affect those individuals?
Q1:
Q2:
7
Some Applications
8
Which Queue to Choose?
Real world Model
9
Your Own Little Lab
Test theories, explore interactions …
10
ABM Platforms
Part 2:
Cormas Platform
12
Cormas Platform
✓ Multi-agent simulations
✓ Developed in 90s by Green Unit
✓ Originally implemented in VisualWorks
✓ Ongoing migration to Pharo
13
Basic Classes
SpatialGrid
Agent Message
SpatialEntity
AbstractModel
*
*
*
1
14
Located Agents
SpatialGrid
Agent Message
SpatialEntity
AbstractModel
*
*
*
1
GrassField Cow
🌿 🐮
14
15
Communicating Agents
SpatialGrid
Agent Message
SpatialEntity
AbstractModel
*
*
*
1
Land Farmer
🏝 👩🌾 Contract
💰
16
What Makes Cormas Unique?
Cormas is interactive and particularly well adapted for the
participatory modelling.
It provides different « points of view », allows users to inspect
and control specific agents, allows stepping back in time.
17
Different « Points of View »
PoV 1: Grass PoV 2: Water
18
Inspect and Control Agents
19
Stepping Back in Time
Not yet supported in Pharo version
Part 3:
Research Directions
21
« Conventional » Modelling
Local stakeholder
(e.g., farmer)
Researcher Policy maker
(makes decisions)
data knowledge
Local stakeholders are only contacted for data collection
22
Participatory Modelling
Researcher
…insights…
Local stakeholders are involved in every step of modelling: data collection,
model building, model exploration
Local stakeholder
(e.g., farmer)
Policy maker
(makes decisions)
23
Our Two Activities at CIRAD
Role-Playing Games Agent-Based Modelling
24
Role-Playing Games (no computers)
• Accessible
• Personal
• Interactive
Pros:
Cons:
• Slow
• Imprecise
• Analysed later
25
Agent-Based Modelling
• Fast & Powerful
• Immediate analysis
(statistical, visual)
Pros:
Cons:
• Unaccessible (too technical)
• Impersonal (barrier between
researcher and participants)
26
Hybrid Approach
• People have real (tangible)
interactions
• Computer observes and
supports them
Combine the
benefits of both
27
Computerization
Use software, AI, and IoT to build
tools for effective communication,
exploration, and knowledge sharing
Empower citizens to be the
actors of their own social
transformation.
One way to do it: Another way:
Use software, AI, and IoT to
replace humans in
cumbersome tasks
28
Three Research Directions
Modelling Language
Topic 1:
Tangible Interaction
Topic 2:
Collaborative Modelling
Topic 3:
What is the language that would allow non-programmers to define models easily?
Can we help stakeholders to build and control models through physical interaction?
Can multiple people interact with the same model simultaneously with different PoV?
29
Topic 1: Modelling Language
What is the language that would allow non-programmers to define models easily?
Problem:
Modelling involves programming.
Programming is difficult for non-programmers
How hard would it be for geographer
or biologist to use an ABM platform
for the first time?
Can we make it easier?
More intuitive?
30
Topic 1: Modelling Language
What is the language that would allow non-programmers to define models easily?
Solution 1: Object-oriented ABM
TLocation
TCommunication
Agent
Cow
• Intuitive OOP framework
• Traits - composable units of
behaviour
• Model testing framework
31
Topic 1: Modelling Language
What is the language that would allow non-programmers to define models easily?
Solution 2: Executable diagrams
• ARDI / PARDI diagrams
• UML class diagrams
• UML activity diagrams
32
Topic 2: Tangible Interaction
Can we help stakeholders to build and control models through physical interaction?
Problem:
Caroline Dangleant © Cirad
During the participatory sessions in the
field, it is often difficult to put every
participant in front of a computer and
make them manipulate the model.
Access to electricity
Access to computers
Computer literacy
🖥
📚
⚡
33
Topic 2: Tangible Interaction
Can we help stakeholders to build and control models through physical interaction?
We communicate ideas better when they are tangible.
Touching something is better than seeing it on a screen
Hypothesis:
34
Topic 2: Tangible Interaction
Can we help stakeholders to build and control models through physical interaction?
Solution 1: Sensory game board
• Game board can detect the
position of pieces using sensors
• Implement using Raspberry Pi or
Arduino and PharoThings library
Intern at CIRAD
from UMISSCO, Senegal
Mouhamadou Falilou BALL
35
Topic 2: Tangible Interaction
Can we help stakeholders to build and control models through physical interaction?
Christophe LePage © Cirad
Solution 2: Computer vision
• AI algorithm that detects game
pieces on a table
• Can be paired with simulation
projection that was done with
Cormas (ReHab?)
36
Topic 2: Tangible Interaction
Can we help stakeholders to build and control models through physical interaction?
Solution 3: Augmented reality
Interactive modelling experience with
virtual reality (full immersion) or
augmented reality (enhance real world
with computer-generated perceptual
information)
37
Topic 3: Collaborative Modelling
Can multiple people interact with the same model simultaneously with different PoV?
Fisherman
Farmer Policy maker
Pastoralist
Thierry Brevault © Cirad Patrick Dugue © Cirad Eric Malezieux © Cirad I. Duriez © Cirad
Problem: Farmers think about crops, pastoralists think about cows.
How can we help them understand each other and collaborate?
38
Topic 3: Collaborative Modelling
Can multiple people interact with the same model simultaneously with different PoV?
Solution: One model — many devices.
Different « point of view » and different set of controls
for each participant
Farmer controls the growth of crops.
Pastoralist manages the behaviour of kettle.
Fisherman observes the amount of fish in the river.
Policy maker calculates the expenses.
🐮
🐟
💰
🌾
CORMAS
• One model — many devices
• Multiple « points of view »
• Object-oriented
modelling
• Executable diagrams
• Sensory game board
• Computer vision
• Augmented reality
Tangible
Interaction
Modelling
Language
Collaborative
Modelling
… modelling for citizens by citizens
Modelling environment that is inclusive and takes into account the
nature of its target communities, adapts to their particular needs
and helps them overcome their limitations

More Related Content

Similar to Agent-Based Modelling in Pharo Using Cormas

Do No Harm: Do Technologists Need a Code of Ethics?
Do No Harm: Do Technologists Need a Code of Ethics?Do No Harm: Do Technologists Need a Code of Ethics?
Do No Harm: Do Technologists Need a Code of Ethics?Thoughtworks
 
Mobile apps for education final
Mobile apps for education finalMobile apps for education final
Mobile apps for education finalKristen T
 
Pedagogy before Technology (Weaving Tech 2019)
Pedagogy before Technology (Weaving Tech 2019)Pedagogy before Technology (Weaving Tech 2019)
Pedagogy before Technology (Weaving Tech 2019)Michael A. Cowling
 
David McKenzie, Darwin Muljono and Elizabeth B.-N. Sanders: Collective Dream...
David McKenzie, Darwin Muljono and Elizabeth B.-N. Sanders:  Collective Dream...David McKenzie, Darwin Muljono and Elizabeth B.-N. Sanders:  Collective Dream...
David McKenzie, Darwin Muljono and Elizabeth B.-N. Sanders: Collective Dream...RSD Relating Systems Thinking and Design
 
Selected topics in Computer Science
Selected topics in Computer Science Selected topics in Computer Science
Selected topics in Computer Science Melaku Bayih Demessie
 
Artificial Intteligence-unit 1.pptx
Artificial Intteligence-unit 1.pptxArtificial Intteligence-unit 1.pptx
Artificial Intteligence-unit 1.pptxhoneydv1979
 
Artificial Intelligence
Artificial Intelligence Artificial Intelligence
Artificial Intelligence NIKHILMALPURE3
 
Guest Lecture: Restoring Context in Distance Learning with Artificial Intelli...
Guest Lecture: Restoring Context in Distance Learning with Artificial Intelli...Guest Lecture: Restoring Context in Distance Learning with Artificial Intelli...
Guest Lecture: Restoring Context in Distance Learning with Artificial Intelli...Daniele Di Mitri
 
ARTIFICIAL INTELLIGENCE IN METAVERSE
ARTIFICIAL INTELLIGENCE IN METAVERSEARTIFICIAL INTELLIGENCE IN METAVERSE
ARTIFICIAL INTELLIGENCE IN METAVERSEIRJET Journal
 
Artificial Intelligence
Artificial IntelligenceArtificial Intelligence
Artificial Intelligenceu053675
 
Artificial intelligence
Artificial intelligenceArtificial intelligence
Artificial intelligencePrasathP13
 
What Every Programmer has to know about AI ?
What Every Programmer has to know about AI ?What Every Programmer has to know about AI ?
What Every Programmer has to know about AI ?BILL METANGMO TSOBZE
 
ARTIFICIAL INTELLLLIGENCEE modul11_AI.pptx
ARTIFICIAL INTELLLLIGENCEE modul11_AI.pptxARTIFICIAL INTELLLLIGENCEE modul11_AI.pptx
ARTIFICIAL INTELLLLIGENCEE modul11_AI.pptxAnkitaVerma776806
 
technology
technologytechnology
technologyraletta
 
Cyborg Design: Multimodal Interactions, Information, and Environments for Wea...
Cyborg Design: Multimodal Interactions, Information, and Environments for Wea...Cyborg Design: Multimodal Interactions, Information, and Environments for Wea...
Cyborg Design: Multimodal Interactions, Information, and Environments for Wea...Bennett King
 
Internetdagar: DigComp 2.2 update
Internetdagar: DigComp 2.2 updateInternetdagar: DigComp 2.2 update
Internetdagar: DigComp 2.2 updateRiina Vuorikari
 
Area's of Artificial Inteligence .pptx
Area's of Artificial Inteligence .pptxArea's of Artificial Inteligence .pptx
Area's of Artificial Inteligence .pptxJIMSVKII
 
describe and define masive open online.pptx
describe and define masive open online.pptxdescribe and define masive open online.pptx
describe and define masive open online.pptxDesireTSamillano
 

Similar to Agent-Based Modelling in Pharo Using Cormas (20)

Do No Harm: Do Technologists Need a Code of Ethics?
Do No Harm: Do Technologists Need a Code of Ethics?Do No Harm: Do Technologists Need a Code of Ethics?
Do No Harm: Do Technologists Need a Code of Ethics?
 
Mobile apps for education final
Mobile apps for education finalMobile apps for education final
Mobile apps for education final
 
Pedagogy before Technology (Weaving Tech 2019)
Pedagogy before Technology (Weaving Tech 2019)Pedagogy before Technology (Weaving Tech 2019)
Pedagogy before Technology (Weaving Tech 2019)
 
David McKenzie, Darwin Muljono and Elizabeth B.-N. Sanders: Collective Dream...
David McKenzie, Darwin Muljono and Elizabeth B.-N. Sanders:  Collective Dream...David McKenzie, Darwin Muljono and Elizabeth B.-N. Sanders:  Collective Dream...
David McKenzie, Darwin Muljono and Elizabeth B.-N. Sanders: Collective Dream...
 
Selected topics in Computer Science
Selected topics in Computer Science Selected topics in Computer Science
Selected topics in Computer Science
 
Artificial Intteligence-unit 1.pptx
Artificial Intteligence-unit 1.pptxArtificial Intteligence-unit 1.pptx
Artificial Intteligence-unit 1.pptx
 
Artificial Intelligence
Artificial Intelligence Artificial Intelligence
Artificial Intelligence
 
Guest Lecture: Restoring Context in Distance Learning with Artificial Intelli...
Guest Lecture: Restoring Context in Distance Learning with Artificial Intelli...Guest Lecture: Restoring Context in Distance Learning with Artificial Intelli...
Guest Lecture: Restoring Context in Distance Learning with Artificial Intelli...
 
ARTIFICIAL INTELLIGENCE IN METAVERSE
ARTIFICIAL INTELLIGENCE IN METAVERSEARTIFICIAL INTELLIGENCE IN METAVERSE
ARTIFICIAL INTELLIGENCE IN METAVERSE
 
Artificial Intelligence
Artificial IntelligenceArtificial Intelligence
Artificial Intelligence
 
Project 1.docx
Project 1.docxProject 1.docx
Project 1.docx
 
Artificial intelligence
Artificial intelligenceArtificial intelligence
Artificial intelligence
 
What Every Programmer has to know about AI ?
What Every Programmer has to know about AI ?What Every Programmer has to know about AI ?
What Every Programmer has to know about AI ?
 
ARTIFICIAL INTELLLLIGENCEE modul11_AI.pptx
ARTIFICIAL INTELLLLIGENCEE modul11_AI.pptxARTIFICIAL INTELLLLIGENCEE modul11_AI.pptx
ARTIFICIAL INTELLLLIGENCEE modul11_AI.pptx
 
technology
technologytechnology
technology
 
Cyborg Design: Multimodal Interactions, Information, and Environments for Wea...
Cyborg Design: Multimodal Interactions, Information, and Environments for Wea...Cyborg Design: Multimodal Interactions, Information, and Environments for Wea...
Cyborg Design: Multimodal Interactions, Information, and Environments for Wea...
 
Internetdagar: DigComp 2.2 update
Internetdagar: DigComp 2.2 updateInternetdagar: DigComp 2.2 update
Internetdagar: DigComp 2.2 update
 
Area's of Artificial Inteligence .pptx
Area's of Artificial Inteligence .pptxArea's of Artificial Inteligence .pptx
Area's of Artificial Inteligence .pptx
 
Show me
Show meShow me
Show me
 
describe and define masive open online.pptx
describe and define masive open online.pptxdescribe and define masive open online.pptx
describe and define masive open online.pptx
 

More from ESUG

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingESUG
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in PharoESUG
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapESUG
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoESUG
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...ESUG
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsESUG
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6ESUG
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationESUG
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingESUG
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesESUG
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportESUG
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsESUG
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector TuningESUG
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseESUG
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FutureESUG
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the DebuggerESUG
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing ScoreESUG
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptESUG
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocESUG
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsESUG
 

More from ESUG (20)

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
 

Recently uploaded

MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 

Recently uploaded (20)

MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 

Agent-Based Modelling in Pharo Using Cormas

  • 1. Oleksandr ZAITSEV ESUG — August 2023 oleksandr.zaitsev@cirad.fr CIRAD, UMR SENS, MUSE, Université de Montpellier, France Agent-Based Modelling in Pharo Using Cormas
  • 2. 2 CIRAD is the French agricultural research and cooperation organization working for the sustainable development of tropical and Mediterranean regions.
  • 3. 3 My Objectives Get you excited about the cool things that we can do with it 🤩 Encourage you to participate in our effort 🤗 Inform you about ABM and Cormas 🧐
  • 5. 5 Let’s look at the Birds https://youtu.be/X0sE10zUYyY
  • 6. 6 Central Questions of ABM How do individuals that act on their own create beautiful emerging patterns? How do those patters of behavior then feed back to affect those individuals? Q1: Q2:
  • 8. 8 Which Queue to Choose? Real world Model
  • 9. 9 Your Own Little Lab Test theories, explore interactions …
  • 12. 12 Cormas Platform ✓ Multi-agent simulations ✓ Developed in 90s by Green Unit ✓ Originally implemented in VisualWorks ✓ Ongoing migration to Pharo
  • 16. 16 What Makes Cormas Unique? Cormas is interactive and particularly well adapted for the participatory modelling. It provides different « points of view », allows users to inspect and control specific agents, allows stepping back in time.
  • 17. 17 Different « Points of View » PoV 1: Grass PoV 2: Water
  • 19. 19 Stepping Back in Time Not yet supported in Pharo version
  • 21. 21 « Conventional » Modelling Local stakeholder (e.g., farmer) Researcher Policy maker (makes decisions) data knowledge Local stakeholders are only contacted for data collection
  • 22. 22 Participatory Modelling Researcher …insights… Local stakeholders are involved in every step of modelling: data collection, model building, model exploration Local stakeholder (e.g., farmer) Policy maker (makes decisions)
  • 23. 23 Our Two Activities at CIRAD Role-Playing Games Agent-Based Modelling
  • 24. 24 Role-Playing Games (no computers) • Accessible • Personal • Interactive Pros: Cons: • Slow • Imprecise • Analysed later
  • 25. 25 Agent-Based Modelling • Fast & Powerful • Immediate analysis (statistical, visual) Pros: Cons: • Unaccessible (too technical) • Impersonal (barrier between researcher and participants)
  • 26. 26 Hybrid Approach • People have real (tangible) interactions • Computer observes and supports them Combine the benefits of both
  • 27. 27 Computerization Use software, AI, and IoT to build tools for effective communication, exploration, and knowledge sharing Empower citizens to be the actors of their own social transformation. One way to do it: Another way: Use software, AI, and IoT to replace humans in cumbersome tasks
  • 28. 28 Three Research Directions Modelling Language Topic 1: Tangible Interaction Topic 2: Collaborative Modelling Topic 3: What is the language that would allow non-programmers to define models easily? Can we help stakeholders to build and control models through physical interaction? Can multiple people interact with the same model simultaneously with different PoV?
  • 29. 29 Topic 1: Modelling Language What is the language that would allow non-programmers to define models easily? Problem: Modelling involves programming. Programming is difficult for non-programmers How hard would it be for geographer or biologist to use an ABM platform for the first time? Can we make it easier? More intuitive?
  • 30. 30 Topic 1: Modelling Language What is the language that would allow non-programmers to define models easily? Solution 1: Object-oriented ABM TLocation TCommunication Agent Cow • Intuitive OOP framework • Traits - composable units of behaviour • Model testing framework
  • 31. 31 Topic 1: Modelling Language What is the language that would allow non-programmers to define models easily? Solution 2: Executable diagrams • ARDI / PARDI diagrams • UML class diagrams • UML activity diagrams
  • 32. 32 Topic 2: Tangible Interaction Can we help stakeholders to build and control models through physical interaction? Problem: Caroline Dangleant © Cirad During the participatory sessions in the field, it is often difficult to put every participant in front of a computer and make them manipulate the model. Access to electricity Access to computers Computer literacy 🖥 📚 ⚡
  • 33. 33 Topic 2: Tangible Interaction Can we help stakeholders to build and control models through physical interaction? We communicate ideas better when they are tangible. Touching something is better than seeing it on a screen Hypothesis:
  • 34. 34 Topic 2: Tangible Interaction Can we help stakeholders to build and control models through physical interaction? Solution 1: Sensory game board • Game board can detect the position of pieces using sensors • Implement using Raspberry Pi or Arduino and PharoThings library Intern at CIRAD from UMISSCO, Senegal Mouhamadou Falilou BALL
  • 35. 35 Topic 2: Tangible Interaction Can we help stakeholders to build and control models through physical interaction? Christophe LePage © Cirad Solution 2: Computer vision • AI algorithm that detects game pieces on a table • Can be paired with simulation projection that was done with Cormas (ReHab?)
  • 36. 36 Topic 2: Tangible Interaction Can we help stakeholders to build and control models through physical interaction? Solution 3: Augmented reality Interactive modelling experience with virtual reality (full immersion) or augmented reality (enhance real world with computer-generated perceptual information)
  • 37. 37 Topic 3: Collaborative Modelling Can multiple people interact with the same model simultaneously with different PoV? Fisherman Farmer Policy maker Pastoralist Thierry Brevault © Cirad Patrick Dugue © Cirad Eric Malezieux © Cirad I. Duriez © Cirad Problem: Farmers think about crops, pastoralists think about cows. How can we help them understand each other and collaborate?
  • 38. 38 Topic 3: Collaborative Modelling Can multiple people interact with the same model simultaneously with different PoV? Solution: One model — many devices. Different « point of view » and different set of controls for each participant Farmer controls the growth of crops. Pastoralist manages the behaviour of kettle. Fisherman observes the amount of fish in the river. Policy maker calculates the expenses. 🐮 🐟 💰 🌾
  • 39. CORMAS • One model — many devices • Multiple « points of view » • Object-oriented modelling • Executable diagrams • Sensory game board • Computer vision • Augmented reality Tangible Interaction Modelling Language Collaborative Modelling … modelling for citizens by citizens Modelling environment that is inclusive and takes into account the nature of its target communities, adapts to their particular needs and helps them overcome their limitations