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
 
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
 
ch1_introduction.ppt
ch1_introduction.pptch1_introduction.ppt
ch1_introduction.ppt
 
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

VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdfSteve Caron
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfRTS corp
 
What is Mendix and the concept of low-code development.docx
What is Mendix and the concept of low-code development.docxWhat is Mendix and the concept of low-code development.docx
What is Mendix and the concept of low-code development.docxTechnogeeks
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesVictoriaMetrics
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jNeo4j
 
Effort Estimation Techniques used in Software Projects
Effort Estimation Techniques used in Software ProjectsEffort Estimation Techniques used in Software Projects
Effort Estimation Techniques used in Software ProjectsDEEPRAJ PATHAK
 
OpenMetadata Community Meeting - 4th April, 2024
OpenMetadata Community Meeting - 4th April, 2024OpenMetadata Community Meeting - 4th April, 2024
OpenMetadata Community Meeting - 4th April, 2024OpenMetadata
 
Mastering Project Planning with Microsoft Project 2016.pptx
Mastering Project Planning with Microsoft Project 2016.pptxMastering Project Planning with Microsoft Project 2016.pptx
Mastering Project Planning with Microsoft Project 2016.pptxAS Design & AST.
 
Santander Stream Processing with Apache Flink
Santander Stream Processing with Apache FlinkSantander Stream Processing with Apache Flink
Santander Stream Processing with Apache Flinkconfluent
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 
logical backup of Oracle Datapump-detailed.pptx
logical backup of Oracle Datapump-detailed.pptxlogical backup of Oracle Datapump-detailed.pptx
logical backup of Oracle Datapump-detailed.pptxRemote DBA Services
 
Understanding Plagiarism: Causes, Consequences and Prevention.pptx
Understanding Plagiarism: Causes, Consequences and Prevention.pptxUnderstanding Plagiarism: Causes, Consequences and Prevention.pptx
Understanding Plagiarism: Causes, Consequences and Prevention.pptxSasikiranMarri
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptxVinzoCenzo
 
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfPros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfkalichargn70th171
 

Recently uploaded (20)

VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
 
What is Mendix and the concept of low-code development.docx
What is Mendix and the concept of low-code development.docxWhat is Mendix and the concept of low-code development.docx
What is Mendix and the concept of low-code development.docx
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 Updates
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
 
Effort Estimation Techniques used in Software Projects
Effort Estimation Techniques used in Software ProjectsEffort Estimation Techniques used in Software Projects
Effort Estimation Techniques used in Software Projects
 
OpenMetadata Community Meeting - 4th April, 2024
OpenMetadata Community Meeting - 4th April, 2024OpenMetadata Community Meeting - 4th April, 2024
OpenMetadata Community Meeting - 4th April, 2024
 
Mastering Project Planning with Microsoft Project 2016.pptx
Mastering Project Planning with Microsoft Project 2016.pptxMastering Project Planning with Microsoft Project 2016.pptx
Mastering Project Planning with Microsoft Project 2016.pptx
 
Santander Stream Processing with Apache Flink
Santander Stream Processing with Apache FlinkSantander Stream Processing with Apache Flink
Santander Stream Processing with Apache Flink
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 
logical backup of Oracle Datapump-detailed.pptx
logical backup of Oracle Datapump-detailed.pptxlogical backup of Oracle Datapump-detailed.pptx
logical backup of Oracle Datapump-detailed.pptx
 
Understanding Plagiarism: Causes, Consequences and Prevention.pptx
Understanding Plagiarism: Causes, Consequences and Prevention.pptxUnderstanding Plagiarism: Causes, Consequences and Prevention.pptx
Understanding Plagiarism: Causes, Consequences and Prevention.pptx
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptx
 
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfPros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
 

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