Sheepsmeadow: Agentenbasierte Modellierung einfach erlernen
27.03.2025 , Poster (Zelt)

'Sheepsmeadow' ist ein in Java entwickeltes offenes Simulationsprogramm, das den Nutzer:innen das Themengebiet "Agentenbasierte Modellierung" (ABM) spielerrisch näher bringen soll. Agenten sind Wölfe und Schafe, die miteinander auf einer Wiese interagieren.
'Sheepsmeadow' gibt zudem die Möglichkeit, eigene Entscheidungsregeln (Actions) direkt im Quellcode zu ergänzen und so die Simulation zu verändern. Es soll dabei helfen, die Entwicklung von ABMs mithilfe des MASON Frameworks zu erlernen.


Agentenbasierte Modelle (ABM) bieten die Möglichkeit, komplexes Zusammenspiel einzelner Individuen mit ihrem Umfeld darzustellen. Ein Agent ist hier ein Individuum, welches eigene Ziele (eine Agenda) verfolgt. Agenten können in solchen Modellen ganz unterschiedliche Dinge sein (Menschen, Tiere, Teilchen, Autos, Pflanzen). Die Agenten haben hierbei individuelle Charakteristiken, wodurch die Gesamtheit der Agenten heterogen dargestellt werden kann.
Solche Systeme zu analysieren ist vor allem im Bereich der Geoinformatik/Landschaftsökologie interessant, da so das räumliche Zusammenspiel der Agenten (auf einem Raster) beobachtet werden kann. Agenten haben dabei eine Position als Pixelkoordinate und können nur mit Agenten in ihrer direkten Nachbarschaft interagieren.
'Sheepsmeadow' stellt ein solches Agentenbasiertes Modell dar. In der Simulation interagieren Wölfe und Schafe (die Agenten) miteinander und mit ihrem Umfeld auf einem Raster (der Wiese) über sog. "Actions". Eine "Action" stellt eine Regel dar, die das Verhalten des Agenten darstellt. Diese Regeln sind an das Eintreten besonderer Bedingungen geknüpft.
Die Simulation als ganzes wird über seine "Modellparameter" gesteuert. Diese bestimmen u.a. die Größe des Rasters auf dem sich die Agenten bewegen, die Anzahl der Wölfe und Schafe oder deren Fortpflanzungswahrscheinlichkeit.

'Sheepsmeadow' erlaubt einfaches und intuitives Anpassen der Parameter des Modells, wodurch die Nutzer:innen direkt erleben können, wie sich diese Veränderungen auf das System der Agenten auf der Wiese auswirkt. Hier kann z.B. analysiert werden, ab welchem Verhältnis von Wölfen zu Schafen, die Schafspopulation nicht fortbestehen kann. So können Personen mit wenig bis keinen Programmierkentnissen leicht unterschiedliche Konfigurationen des Modells erstellen und die Veränderungen im Verhalten der Agenten beobacheten.
Ein weiterer Lernzweck ist es, das Nutzer:innen ihre Kenntnisse in der Programmiersprache "Java" zu erweitern. Durch den offenen Quellcode haben Nutzer:innen zudem die Chance, selbst neue "Actions" zu ergänzen. Hierfür stellt 'Sheepsmeadow' ein einfaches Interface in Java zur Verfügung. Dieser Teil von 'Sheepsmeadow' richtet sich an Personen, die bereits in einer (anderen) Programmiersprache programmieren können, welche aber erlernen möchten wie man ein Agentenbasiertes Modell in einer Software mit UI implementiert. Ebenso bietet 'Sheepsmeadow' die Möglichkeit Objektorientiere Entwurfskonzepte zu erlernen/anzuwenden.

Eine alternative Plattform, um Agentenbasierte Modellierung zu erlernen wäre "NetLogo". NetLogo bietet bereits eine Wolfs-Schafs-Simulation (WolfSheepPredation). Diese kann ebenso um neue Entscheidungsregeln erweitert werden (wenn die Programmierkenntnisse dafür vorhanden sind). 'Sheepsmeadow' zielt hier darauf ab, dass sich Nutzer:innen mit dem Modellierungsframework MASON auseinadersetzen und erlernen, wie man mithilfe dieses Frameworks eigene Modelle erstellen kann/ ein bestehendes Modell erweitern kann.

Durch die Einstellbarkeit der Modelparameter und der Möglichkeit, eigene Actions im Quellcode zu integrieren, eignet sich 'Sheepsmeadow' perfekt als Lernsoftware, um unterschiedliche Facetten der Agentenbasierten Modellierung zu erlernen (Nutzen des Modells, Parametrisieren des Modells, Implementieren neuer Logiken, Analyse der Simulationsergebnisse).

Als Maintainer des Repositories trete ich dafür ein, dass das Projekt unter offenen Standards (weiter-)entwickelt wird. Das Repository ist hier zu finden:
https://github.com/MichaelBrueggemann/sheepsmeadow.

Ich bin Michael Brüggemann, studiere Geoinformatik im 7. Semester an der Universität Münster. Ich bin seid einem Einführungskurs im 1. Semester fasziniert von Agentenbasierten Simulationen und arbeite derzeit in meinem 2. Projekt in diesem Themenbereich.
Dies brachte mich dazu, selbst ein solches Modell in der Freizeit zu implementieren und führte schlussendlich dazu, dass ich darüber einen Vortrag auf der FOSSGIS 2025 halte.