SlideShare a Scribd company logo
1 of 32
Download to read offline
Oleksandr ZAITSEV
Café MTD — February 2024
oleksandr.zaitsev@cirad.fr
CIRAD, UMR SENS, Montpellier, France
Cormas: Modelling for Citizens with Citizens
Building accessible and reliable ABM software
2
Plan
Participatory agent-based modelling (ABM)
and Cormas platform
1.
Software engineering and ABM
2.
Related applications for interaction and
accessibility
3.
Agent-Based Modelling
Part 1:
4
Which Queue to Choose?
Real world Model
5
Your Own Little Lab
Test theories, explore interactions …
6
« Conventional » Modelling
Local stakeholder
(e.g., farmer)
Researcher Policy maker
(makes decisions)
data knowledge
Local stakeholders are only contacted for data collection
7
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)
8
Participatory Modelling
Oleksandr Zaitsev © Cirad Oleksandr Zaitsev © Cirad
Iteratively co-designing a model together with local stakeholders
9
Cormas Platform
✓ Multi-agent simulations
✓ Developed in 90s at UMR SENS (Green)
✓ Based on years of field experience
✓ Well-suited for participatory modelling
✓ Implemented in Pharo - live programming
language with immediate feedback
10
Unique Features of Cormas
… that make it well-suited for participatory modelling
👀 Different « Points of View »
🎲 Live dynamic environment where everything is an object
⏰ Stepping back in time
Observe a simulation from different perspectives at the same time
Interact with anything at any time without stopping the simulation
Move back the time, change conditions, continue on alternative path
11
Different « Points of View »
PoV 1: Grass PoV 2: Water
12
Inspect and Control Agents
13
Stepping Back in Time
Not yet supported in Pharo version
Part 2:
Software Engineering & ABM
15
Common Mistake
People think of software as a static thing that can be built and then used
📝 Step 1: Specification
🔨 Step 2: Implementation
🧐 Step 3: Validation
💰 Step 4: Operation
« We know what we want. So we will
hire a developer to build it for us,
and then we will use it forever »
16
Software Has to Evolve
Every software is a living system that is changing as long as it is alive (used)
Factors that force us to change:
(1) Client requirements
In most cases, as long as
somebody uses the software,
they will ask for new features
or bug fixes
(2) Changing environment
Every software is executed on some computer,
in some environment and OS, it has some
external dependencies — those things change
17
Software Naturally Deteriorates
We can not stop it, but good practices help us slow down this process
time
failure
rate
change
ideal curve
actual curve
Every new feature increases the size
and complexity of software. It
becomes harder to manage and more
prone to errors.
Even if no new features are
added, dependencies break,
developers leave, etc.
18
Software Testing
without tests
with tests
time
effort
(cost)
Testing takes discipline but it pays off in a long run
Writing tests takes a lot of time that
could be spent adding new features
Having tests early in software lifecycle
😤
Having tests later in software lifecycle
The cost of modifying software does
not grow exponentially
Tests help us maintain the quality of
software and be confident that new
features don’t break things
😍
19
Testing ABM
Participatory modelling requires quick coding and prototyping
Published model must remain valid,
reusable, and reproducible
Modelling phase
Post-modelling phase
without tests
with tests
time
effort
(cost)
In participatory sessions, speed and
simplicity are the key factors
Q: What is the testing workflow for ABM that
would not interfere with participatory practices?
20
Live Debugging Tools
Fix errors without stopping the execution
(1) Browse the
execution stack
(3) Edit the
source code
(2) Inspect
variables
(4) Resume the
execution
21
Debugging ABM
Modellers may ask different debugging questions than other developers
Have to deal with many live objects
that have autonomous behaviour
and can cause strange phenomena
Models are usually small and
their code is easy to
understand
Software Development Modelling
Developers have to explore
large code bases with many
dependencies
22
Object-Centric Debugging
Put breakpoints on
individual objects;
Observe specific variables
« Halt the execution and open
debugger when Cow (id: 42)
has energy level > 50 »
Apply breakpoints to one specific object instead of all instances of a class
Example:
23
Time-Travelling Debugging
Travel back in the execution stack
Can be combined with the time travelling feature of Cormas to help us
explore unexpected phenomena in the simulation by stepping back
through the actions of individual agent
24
Summary
Software evolution in the context of ABM
Q1:
Do the principles of software evolution apply to agent-based modelling?
Testing ABM
Q2:
What is the testing workflow that would allow us to ensure correctness,
reusability, and reproducibility of ABM while doing participatory modelling?
Debugging ABM
Q3:
How is debugging ABM different from debugging other software?
What specialized tools do we need to debug ABMs?
Part 3:
Related Applications
26
Two Research Directions
Tangible Interaction
Topic 1:
Collaborative Modelling
Topic 2:
Can we help stakeholders to build and control models through physical interaction?
Can multiple people interact with the same model simultaneously with different PoV?
… to improve interaction and accessibility
27
Topic 1: 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
🖥
📚
⚡
28
Topic 1: 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
• The id of the piece together with
its coordinates are then sent to
Cormas for processing
• Game board can also display
information using coloured LED
29
Topic 1: 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?)
30
Topic 2: 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?
31
Topic 2: 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
• Tangible interaction through
IoT or computer vision
• Collaborative modelling
based on different « points
of view »
• Allow quick modelling
and prototyping
• Ensure correctness,
reusability, and
reproducibility
• Object-centric
debugging
• Time-travelling
debugging
Debugging ABM
Testing ABM Accessibility
… 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 Cormas: Modelling for Citizens with Citizens. Building accessible and reliable ABM software

Software Engineering Past Papers Notes
Software Engineering Past Papers Notes Software Engineering Past Papers Notes
Software Engineering Past Papers Notes MuhammadTalha436
 
Product Lines and Ecosystems: from customization to configuration
Product Lines and Ecosystems: from customization to configurationProduct Lines and Ecosystems: from customization to configuration
Product Lines and Ecosystems: from customization to configurationAdaCore
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineeringHitesh Mohapatra
 
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SESE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SEAbhishekTripathi709328
 
How to sustain a tool building community-driven effort
How to sustain a tool building community-driven effortHow to sustain a tool building community-driven effort
How to sustain a tool building community-driven effortJordi Cabot
 
Software Project management
Software Project managementSoftware Project management
Software Project managementsameer farooq
 
2014 01-ticosa
2014 01-ticosa2014 01-ticosa
2014 01-ticosaPharo
 
Advantages and Disadvantages of a Monolithic Repository
Advantages and Disadvantages of a Monolithic RepositoryAdvantages and Disadvantages of a Monolithic Repository
Advantages and Disadvantages of a Monolithic Repositorymustafa sarac
 

Similar to Cormas: Modelling for Citizens with Citizens. Building accessible and reliable ABM software (20)

ppt chapter 1.ppt
ppt chapter 1.pptppt chapter 1.ppt
ppt chapter 1.ppt
 
Software Engineering Past Papers Notes
Software Engineering Past Papers Notes Software Engineering Past Papers Notes
Software Engineering Past Papers Notes
 
Product Lines and Ecosystems: from customization to configuration
Product Lines and Ecosystems: from customization to configurationProduct Lines and Ecosystems: from customization to configuration
Product Lines and Ecosystems: from customization to configuration
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineering
 
Mastering Software Variability for Innovation and Science
Mastering Software Variability for Innovation and ScienceMastering Software Variability for Innovation and Science
Mastering Software Variability for Innovation and Science
 
SE-Lecture1.ppt
SE-Lecture1.pptSE-Lecture1.ppt
SE-Lecture1.ppt
 
ch1_introduction (1).ppt
ch1_introduction (1).pptch1_introduction (1).ppt
ch1_introduction (1).ppt
 
ch1_introduction (2).ppt
ch1_introduction (2).pptch1_introduction (2).ppt
ch1_introduction (2).ppt
 
ch1_introduction.ppt
ch1_introduction.pptch1_introduction.ppt
ch1_introduction.ppt
 
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SESE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Unit 1.ppt
Unit 1.pptUnit 1.ppt
Unit 1.ppt
 
How to sustain a tool building community-driven effort
How to sustain a tool building community-driven effortHow to sustain a tool building community-driven effort
How to sustain a tool building community-driven effort
 
Software Project management
Software Project managementSoftware Project management
Software Project management
 
2014 01-ticosa
2014 01-ticosa2014 01-ticosa
2014 01-ticosa
 
HCI Chapter_2.ppt
HCI Chapter_2.pptHCI Chapter_2.ppt
HCI Chapter_2.ppt
 
lecture 1.pdf
lecture 1.pdflecture 1.pdf
lecture 1.pdf
 
HCI Chapter_2.pdf
HCI Chapter_2.pdfHCI Chapter_2.pdf
HCI Chapter_2.pdf
 
Advantages and Disadvantages of a Monolithic Repository
Advantages and Disadvantages of a Monolithic RepositoryAdvantages and Disadvantages of a Monolithic Repository
Advantages and Disadvantages of a Monolithic Repository
 
chapter 1.ppt
chapter 1.pptchapter 1.ppt
chapter 1.ppt
 

More from Oleksandr Zaitsev

AI for Software Engineering:
Research & Innovation
AI for Software Engineering:
Research & InnovationAI for Software Engineering:
Research & Innovation
AI for Software Engineering:
Research & InnovationOleksandr 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
 
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 RegressionOleksandr 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 UpdateOleksandr Zaitsev
 
Introduction to Git Version Control System
Introduction to Git Version Control SystemIntroduction to Git Version Control System
Introduction to Git Version Control SystemOleksandr 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 IdentifierNamesOleksandr 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

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
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
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
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
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
 
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
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
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
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 

Recently uploaded (20)

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...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
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....
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
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
 
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
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
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
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 

Cormas: Modelling for Citizens with Citizens. Building accessible and reliable ABM software

  • 1. Oleksandr ZAITSEV Café MTD — February 2024 oleksandr.zaitsev@cirad.fr CIRAD, UMR SENS, Montpellier, France Cormas: Modelling for Citizens with Citizens Building accessible and reliable ABM software
  • 2. 2 Plan Participatory agent-based modelling (ABM) and Cormas platform 1. Software engineering and ABM 2. Related applications for interaction and accessibility 3.
  • 4. 4 Which Queue to Choose? Real world Model
  • 5. 5 Your Own Little Lab Test theories, explore interactions …
  • 6. 6 « Conventional » Modelling Local stakeholder (e.g., farmer) Researcher Policy maker (makes decisions) data knowledge Local stakeholders are only contacted for data collection
  • 7. 7 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)
  • 8. 8 Participatory Modelling Oleksandr Zaitsev © Cirad Oleksandr Zaitsev © Cirad Iteratively co-designing a model together with local stakeholders
  • 9. 9 Cormas Platform ✓ Multi-agent simulations ✓ Developed in 90s at UMR SENS (Green) ✓ Based on years of field experience ✓ Well-suited for participatory modelling ✓ Implemented in Pharo - live programming language with immediate feedback
  • 10. 10 Unique Features of Cormas … that make it well-suited for participatory modelling 👀 Different « Points of View » 🎲 Live dynamic environment where everything is an object ⏰ Stepping back in time Observe a simulation from different perspectives at the same time Interact with anything at any time without stopping the simulation Move back the time, change conditions, continue on alternative path
  • 11. 11 Different « Points of View » PoV 1: Grass PoV 2: Water
  • 13. 13 Stepping Back in Time Not yet supported in Pharo version
  • 15. 15 Common Mistake People think of software as a static thing that can be built and then used 📝 Step 1: Specification 🔨 Step 2: Implementation 🧐 Step 3: Validation 💰 Step 4: Operation « We know what we want. So we will hire a developer to build it for us, and then we will use it forever »
  • 16. 16 Software Has to Evolve Every software is a living system that is changing as long as it is alive (used) Factors that force us to change: (1) Client requirements In most cases, as long as somebody uses the software, they will ask for new features or bug fixes (2) Changing environment Every software is executed on some computer, in some environment and OS, it has some external dependencies — those things change
  • 17. 17 Software Naturally Deteriorates We can not stop it, but good practices help us slow down this process time failure rate change ideal curve actual curve Every new feature increases the size and complexity of software. It becomes harder to manage and more prone to errors. Even if no new features are added, dependencies break, developers leave, etc.
  • 18. 18 Software Testing without tests with tests time effort (cost) Testing takes discipline but it pays off in a long run Writing tests takes a lot of time that could be spent adding new features Having tests early in software lifecycle 😤 Having tests later in software lifecycle The cost of modifying software does not grow exponentially Tests help us maintain the quality of software and be confident that new features don’t break things 😍
  • 19. 19 Testing ABM Participatory modelling requires quick coding and prototyping Published model must remain valid, reusable, and reproducible Modelling phase Post-modelling phase without tests with tests time effort (cost) In participatory sessions, speed and simplicity are the key factors Q: What is the testing workflow for ABM that would not interfere with participatory practices?
  • 20. 20 Live Debugging Tools Fix errors without stopping the execution (1) Browse the execution stack (3) Edit the source code (2) Inspect variables (4) Resume the execution
  • 21. 21 Debugging ABM Modellers may ask different debugging questions than other developers Have to deal with many live objects that have autonomous behaviour and can cause strange phenomena Models are usually small and their code is easy to understand Software Development Modelling Developers have to explore large code bases with many dependencies
  • 22. 22 Object-Centric Debugging Put breakpoints on individual objects; Observe specific variables « Halt the execution and open debugger when Cow (id: 42) has energy level > 50 » Apply breakpoints to one specific object instead of all instances of a class Example:
  • 23. 23 Time-Travelling Debugging Travel back in the execution stack Can be combined with the time travelling feature of Cormas to help us explore unexpected phenomena in the simulation by stepping back through the actions of individual agent
  • 24. 24 Summary Software evolution in the context of ABM Q1: Do the principles of software evolution apply to agent-based modelling? Testing ABM Q2: What is the testing workflow that would allow us to ensure correctness, reusability, and reproducibility of ABM while doing participatory modelling? Debugging ABM Q3: How is debugging ABM different from debugging other software? What specialized tools do we need to debug ABMs?
  • 26. 26 Two Research Directions Tangible Interaction Topic 1: Collaborative Modelling Topic 2: Can we help stakeholders to build and control models through physical interaction? Can multiple people interact with the same model simultaneously with different PoV? … to improve interaction and accessibility
  • 27. 27 Topic 1: 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 🖥 📚 ⚡
  • 28. 28 Topic 1: 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 • The id of the piece together with its coordinates are then sent to Cormas for processing • Game board can also display information using coloured LED
  • 29. 29 Topic 1: 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?)
  • 30. 30 Topic 2: 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?
  • 31. 31 Topic 2: 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. 🐮 🐟 💰 🌾
  • 32. CORMAS • Tangible interaction through IoT or computer vision • Collaborative modelling based on different « points of view » • Allow quick modelling and prototyping • Ensure correctness, reusability, and reproducibility • Object-centric debugging • Time-travelling debugging Debugging ABM Testing ABM Accessibility … 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