ReMobidyc
A multi-agent simulator for individual-based modeling in population dynamics and ecotoxicology.
https://github.com/ReMobidyc/ReMobidyc
Category: Biosphere
Sub Category: Ecological and Environmental Modeling
Keywords
ecotoxicology indivisual-based-modeling multi-agent-simulation multi-agent-systems pharo population-dynamics simulator
Last synced: 32 minutes ago
JSON representation
Repository metadata
web based multi-agent simulator for individual-based modeling in population dynamics and ecotoxicology
- Host: GitHub
- URL: https://github.com/ReMobidyc/ReMobidyc
- Owner: ReMobidyc
- License: mit
- Created: 2021-06-30T06:38:48.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2025-04-03T02:04:17.000Z (25 days ago)
- Last Synced: 2025-04-17T22:58:56.290Z (10 days ago)
- Topics: ecotoxicology, indivisual-based-modeling, multi-agent-simulation, multi-agent-systems, pharo, population-dynamics, simulator
- Language: Smalltalk
- Homepage:
- Size: 19.7 MB
- Stars: 12
- Watchers: 2
- Forks: 3
- Open Issues: 10
- Releases: 13
-
Metadata Files:
- Readme: README.md
- License: LICENSE
README.md
reːmobidyc
reːmobidyc (also denoted as re:mobidyc or ReMobidyc without the exotic punctuation letter) is a multi-agent simulator for individual-based modeling in population dynamics and ecotoxicology.
Presentations
Installation
reːmobidyc is implemented on the Pharo system.
There are three ways to install reːmobidyc.
1. from binary package
The pre-built packages are available at the official distribution site.
The latest release: Keelung
2. from Pharo
If you have the Pharo installation, you can install reːmobidyc by evaluating the following expression.
(Open a Playground by the Browse>>Playground menu in the menubar, then copy&paste the text below into the Playground. Select all the pasted text and select the "Do-it" in the right-click menu. After the system loads the latest reːmobidyc code, save the image by the Pharo>>Save menu in the menubar.)
EpMonitor disableDuring: [
Metacello new
onConflictUseLoaded;
onWarningLog;
repository: 'github://ReMobidyc/ReMobidyc:main/';
baseline: 'ReMobidyc';
load ]
3. from command shell
The following one-liner will download Pharo and install reːmobidyc.
curl https://raw.githubusercontent.com/ReMobidyc/ReMobidyc/main/scripts/install-remobidyc.sh | bash
Modeling Language
Documentation is still under construction. Please see the following "cheatsheets".
Examples
1. Simplified SugarScape
Each cell grows grass (indicated by green rect) and each goat (yellow dot) eats grass.
This example exhibits the interaction between an animat and the cell where the animat is located.
2. Goat and Wolf
Each cell grows grass (indicated by green rect), each goat (yellow dot) eats grass and each wolf (red dot) preys on its nearest goat.
This example exhibits the interaction between two animats.
3. Grasshopper
Each cell grows grass(indicated by green rect), a grasshopper (yellow dot) eats grass.
When a grasshopper is matured by age, it lays 5 eggs (cyan dots), and each egg hatches in 20 days.
This example exhibits life stages of individuals.
A tutorial to build this Grasshopper model is available.
Background
reːMobidyc is a variation of Mobidyc that inherits the design rationale
of Mobidyc.
The objective of reːMobidyc is to renovate the original Mobidyc keeping
its design principles.
The base system is changed from VisualWorks to Pharo.
They are both Smalltalk systems, and Pharo is today's most actively
developed/used open-source Smalltalk system.
We will renovate the implementation of Mobidyc from its very basis to
apply outcomes from computer science.
The development of reːMobidyc is just beginning, and we will need time
to re-produce the functionality of the original Mobidyc.
Design Rationale
As a tool for scientific research, reːMobidyc will provide the following features
-
Easy to model
- A behavior of an agent will be defined in a declarative manner instead of series of commands, if-statements and loops.
-
Easy to modify
- Every component in a behavioral definition will be type-checked so that the user can find minor errors before running it.
-
Easy to verify model
- A definition can have assertions that double-checks its behavior so that the user can be sure that the model is defined as intended.
-
Easy to reproduce
- reːMobidyc will make all simulation reproduceable including randomized actions.
-
Easy to verify output
- States of agents at every step in simulation will be stored in persistent memory so that the user and reviewers can check its validity.
-
Easy to trace
- The user can trace which agent had interaction with a particular agent to find the cause of an observed phenomenon.
-
Easy to publish
- The user can publish her/his model along with input/intermediate/output data and visualized images as an evidence in scientific research.
-
Easy to implement
- reːMobidyc will define its own modeling language in formal specification language so that its execution engine can be implemneted by third persons with complete compatibility.
Architectural design
To achieve the objectives above, reːMobidyc will have the following major components.
-
Persistent storage
- reːMobidyc will use persistent storages, such as file systems and RDBs, to store models, states of agents at all simulation steps, input data and output data.
-
Reproducible random numbers
- reːMobidyc will have its own random number generator and make its code open so that all actions taken in a simulation can be accurately reproduceable.
-
Web servers and APIs
- reːMobidyc will have web-based UI so that models can be shared by research communities.
- reːMobidyc will provide web API to retrieve models and simulation data so that anyone can create specialized native applications.
Organizational Contributors
The reːmobidyc project is supported by DGtal Aqua Lab, Shizuoka University and Software Research Associates, Inc.
Owner metadata
- Name: re:Mobidyc
- Login: ReMobidyc
- Email:
- Kind: organization
- Description:
- Website:
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/86707456?v=4
- Repositories: 2
- Last ynced at: 2023-03-04T05:24:41.775Z
- Profile URL: https://github.com/ReMobidyc
GitHub Events
Total
- Release event: 1
- Push event: 6
- Pull request event: 4
- Fork event: 1
- Create event: 2
Last Year
- Release event: 1
- Push event: 6
- Pull request event: 4
- Fork event: 1
- Create event: 2
Committers metadata
Last synced: 6 days ago
Total Commits: 837
Total Committers: 3
Avg Commits per committer: 279.0
Development Distribution Score (DDS): 0.004
Commits in past year: 103
Committers in past year: 1
Avg Commits per committer in past year: 103.0
Development Distribution Score (DDS) in past year: 0.0
Name | Commits | |
---|---|---|
Tomohiro Oda | t****a@g****m | 834 |
DGtalAquaLab-Gael | 6****l | 2 |
Serge Stinckwich | S****h@g****m | 1 |
Committer domains:
Issue and Pull Request metadata
Last synced: 1 day ago
Total issues: 41
Total pull requests: 99
Average time to close issues: about 2 months
Average time to close pull requests: 19 minutes
Total issue authors: 2
Total pull request authors: 1
Average comments per issue: 0.88
Average comments per pull request: 0.0
Merged pull request: 99
Bot issues: 0
Bot pull requests: 0
Past year issues: 1
Past year pull requests: 9
Past year average time to close issues: N/A
Past year average time to close pull requests: 4 minutes
Past year issue authors: 1
Past year pull request authors: 1
Past year average comments per issue: 0.0
Past year average comments per pull request: 0.0
Past year merged pull request: 9
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- tomooda (40)
- Mr-Dispatch (1)
Top Pull Request Authors
- tomooda (99)
Top Issue Labels
- enhancement (21)
- UI (19)
- bug (11)
- processor (9)
- language (7)
- documentation (2)
- help wanted (1)
Top Pull Request Labels
Dependencies
- actions/checkout v2 composite
- hpi-swa/setup-smalltalkCI v1 composite
Score: 4.189654742026426