SlideShare a Scribd company logo
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 final
Kristen 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.pptx
honeydv1979
 
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 METAVERSE
IRJET Journal
 
Artificial Intelligence
Artificial IntelligenceArtificial Intelligence
Artificial Intelligence
u053675
 
Project 1.docx
Project 1.docxProject 1.docx
Project 1.docx
AbhishekBhardwaj249329
 
Artificial intelligence
Artificial intelligenceArtificial intelligence
Artificial intelligence
PrasathP13
 
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.pptx
AnkitaVerma776806
 
technology
technologytechnology
technology
raletta
 
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 update
Riina Vuorikari
 
Area's of Artificial Inteligence .pptx
Area's of Artificial Inteligence .pptxArea's of Artificial Inteligence .pptx
Area's of Artificial Inteligence .pptx
JIMSVKII
 
Show me
Show meShow 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
DesireTSamillano
 

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 Oleksandr Zaitsev

Cormas RMoD
Cormas RMoDCormas RMoD
Cormas RMoD
Oleksandr Zaitsev
 
Cirad Parcours
Cirad ParcoursCirad Parcours
Cirad Parcours
Oleksandr Zaitsev
 
Cirad Concours
Cirad ConcoursCirad Concours
Cirad Concours
Oleksandr Zaitsev
 
AI for Software Engineering:
Research & Innovation
AI for Software Engineering:
Research & InnovationAI for Software Engineering:
Research & Innovation
AI for Software Engineering:
Research & Innovation
Oleksandr Zaitsev
 
How Libraries Evolve. A Survey of Two Industrial Companies and an Open-Source...
How Libraries Evolve. A Survey of Two Industrial Companies and an Open-Source...How Libraries Evolve. A Survey of Two Industrial Companies and an Open-Source...
How Libraries Evolve. A Survey of Two Industrial Companies and an Open-Source...
Oleksandr Zaitsev
 
Data Mining-based Tools to Support Library Update. PhD Defence of Oleksandr Z...
Data Mining-based Tools to Support Library Update. PhD Defence of Oleksandr Z...Data Mining-based Tools to Support Library Update. PhD Defence of Oleksandr Z...
Data Mining-based Tools to Support Library Update. PhD Defence of Oleksandr Z...
Oleksandr Zaitsev
 
PolyMath (ESUG 2022)
PolyMath (ESUG 2022)PolyMath (ESUG 2022)
PolyMath (ESUG 2022)
Oleksandr Zaitsev
 
How Fast is AI in Pharo? Benchmarking Linear Regression
How Fast is AI in Pharo? Benchmarking Linear RegressionHow Fast is AI in Pharo? Benchmarking Linear Regression
How Fast is AI in Pharo? Benchmarking Linear Regression
Oleksandr Zaitsev
 
DepMiner: Automatic Recommendation of Transformation Rules for Method Depreca...
DepMiner: Automatic Recommendation of Transformation Rules for Method Depreca...DepMiner: Automatic Recommendation of Transformation Rules for Method Depreca...
DepMiner: Automatic Recommendation of Transformation Rules for Method Depreca...
Oleksandr Zaitsev
 
Suggesting Descriptive Method Names: An Exploratory Study of Two Machine Lear...
Suggesting Descriptive Method Names: An Exploratory Study of Two Machine Lear...Suggesting Descriptive Method Names: An Exploratory Study of Two Machine Lear...
Suggesting Descriptive Method Names: An Exploratory Study of Two Machine Lear...
Oleksandr Zaitsev
 
Machine Learning-based Tools to Support Library Update
Machine Learning-based Tools to Support Library UpdateMachine Learning-based Tools to Support Library Update
Machine Learning-based Tools to Support Library Update
Oleksandr Zaitsev
 
Introduction to Git Version Control System
Introduction to Git Version Control SystemIntroduction to Git Version Control System
Introduction to Git Version Control System
Oleksandr Zaitsev
 
PhD Roadmap
PhD RoadmapPhD Roadmap
PhD Roadmap
Oleksandr Zaitsev
 
Magic Literals in Pharo
Magic Literals in PharoMagic Literals in Pharo
Magic Literals in Pharo
Oleksandr Zaitsev
 
Aspects of software naturalness through the generation of IdentifierNames
Aspects of software naturalness through the generation of IdentifierNamesAspects of software naturalness through the generation of IdentifierNames
Aspects of software naturalness through the generation of IdentifierNames
Oleksandr Zaitsev
 

More from Oleksandr Zaitsev (15)

Cormas RMoD
Cormas RMoDCormas RMoD
Cormas RMoD
 
Cirad Parcours
Cirad ParcoursCirad Parcours
Cirad Parcours
 
Cirad Concours
Cirad ConcoursCirad Concours
Cirad Concours
 
AI for Software Engineering:
Research & Innovation
AI for Software Engineering:
Research & InnovationAI for Software Engineering:
Research & Innovation
AI for Software Engineering:
Research & Innovation
 
How Libraries Evolve. A Survey of Two Industrial Companies and an Open-Source...
How Libraries Evolve. A Survey of Two Industrial Companies and an Open-Source...How Libraries Evolve. A Survey of Two Industrial Companies and an Open-Source...
How Libraries Evolve. A Survey of Two Industrial Companies and an Open-Source...
 
Data Mining-based Tools to Support Library Update. PhD Defence of Oleksandr Z...
Data Mining-based Tools to Support Library Update. PhD Defence of Oleksandr Z...Data Mining-based Tools to Support Library Update. PhD Defence of Oleksandr Z...
Data Mining-based Tools to Support Library Update. PhD Defence of Oleksandr Z...
 
PolyMath (ESUG 2022)
PolyMath (ESUG 2022)PolyMath (ESUG 2022)
PolyMath (ESUG 2022)
 
How Fast is AI in Pharo? Benchmarking Linear Regression
How Fast is AI in Pharo? Benchmarking Linear RegressionHow Fast is AI in Pharo? Benchmarking Linear Regression
How Fast is AI in Pharo? Benchmarking Linear Regression
 
DepMiner: Automatic Recommendation of Transformation Rules for Method Depreca...
DepMiner: Automatic Recommendation of Transformation Rules for Method Depreca...DepMiner: Automatic Recommendation of Transformation Rules for Method Depreca...
DepMiner: Automatic Recommendation of Transformation Rules for Method Depreca...
 
Suggesting Descriptive Method Names: An Exploratory Study of Two Machine Lear...
Suggesting Descriptive Method Names: An Exploratory Study of Two Machine Lear...Suggesting Descriptive Method Names: An Exploratory Study of Two Machine Lear...
Suggesting Descriptive Method Names: An Exploratory Study of Two Machine Lear...
 
Machine Learning-based Tools to Support Library Update
Machine Learning-based Tools to Support Library UpdateMachine Learning-based Tools to Support Library Update
Machine Learning-based Tools to Support Library Update
 
Introduction to Git Version Control System
Introduction to Git Version Control SystemIntroduction to Git Version Control System
Introduction to Git Version Control System
 
PhD Roadmap
PhD RoadmapPhD Roadmap
PhD Roadmap
 
Magic Literals in Pharo
Magic Literals in PharoMagic Literals in Pharo
Magic Literals in Pharo
 
Aspects of software naturalness through the generation of IdentifierNames
Aspects of software naturalness through the generation of IdentifierNamesAspects of software naturalness through the generation of IdentifierNames
Aspects of software naturalness through the generation of IdentifierNames
 

Recently uploaded

Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
lorraineandreiamcidl
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 

Recently uploaded (20)

Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 

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