Zum Hauptinhalt springen

Primitives

Aktuell existieren im Urban Model Builder 11 Funktionsbausteine, mit denen du dein System Dynamics bzw. agentenbasiertes Modell aufbauen kannst. Folgende Tabellen helfen dir die jeweiligen Primitives in ihren spezifischen Funktionsweisen zu verstehen und anwenden zu können.

Stock

Ein Stock (dt. Bestand) beinhaltet sich akkumulierende Größen bzw. Werte, die sich im Laufe der Zeit ansammeln oder abbauen. Stelle dir Wasser in einem Tank vor. Ein Stock ist eine zustandsbestimmende Variable in einem dynamischen System. Es speichert den aktuellen Wert eines bestimmten Aspekts des Systems und ändert sich durch Zuflüsse (Inflows) oder Abflüsse (Outflows), die mit ihm verbunden sind.

EingabefelderArt der EingabeZweck
NameTextFür eine eindeutige Zuordnung und Differenzierung des Primitives im Modell
BeschreibungTextZur Erläuterung von getroffenen Annahmen und wichtigen Infos
Wert*Numerischer Wert, [Wert eines Primitives], FunktionenDer Startwert beschreibt den Anfangszustand des Systems, worauf alle weiteren Veränderungen durch z.B. Flows aufbauen. Der Wert kann konstant sein oder dynamisch durch eine Funktion oder andere Variablen beschrieben sein. Es gibt bereits vorgefertigte Funktionsbeschreibungen zum Auswählen. Der Wert wird oft an realen Daten aus der Vergangenheit ausgerichtet. Beispiele: 500, if time < 2020 then 0 else 1000; Stock = Fläche*Bevölkerungsdichte
Schnittstelle & Szenario
AusgabeparameterBooleanWenn als Ausgabeparameter gewählt, gibt dies Aufschluss über den Zustand des Systems im Zeitverlauf. Es werden Wirkungen von Entscheidungen, Änderungen oder externen Faktoren sichtbar.
Validierung
EinheitText (Suchfunktion), AuswahloptionKonkretisiert das System und stellt sicher, dass die Werte mit Einheiten sinnvoll miteinander verrechnet werden.
Minimale EinschränkungBooleanSetzung einer unteren Grenze
Minimaler WertZahlz.B. 0 : verhindert, dass ein Stock negative Werte annimmt, wenn das im realen System keinen Sinn ergibt (negative Bevölkerungszahl)
Maximale EinschränkungBooleanSetzung einer oberen Grenze
Maximaler WertNumerischer WertBegrenzt nach oben (z.B. maximale Bevölkerungszahl einer Region)

*Pflichtfelder für Berechnung


Flow

Flows (dt. Flüsse/Ströme) beschreiben die Geschwindigkeit, mit der sich ein Bestand auf- oder abbaut, und wirken damit direkt auf die Änderungsrate eines Stocks. Ein Flow ist eine zeitabhängige Rate, die angibt, wie schnell etwas in einen Stock hinein- oder aus ihm hinausfließt. Flows sind temporär aktiv, indem sie den Bestand verändern, aber selbst keine Werte speichern. Zudem können sie von anderen Variablen abhängen. Es gibt verschiedene Typen von Flows - zum einen statische/absolute und variable/relative In- und Outflows.

EingabefelderArt der EingabeZweck
NameTextFür eine eindeutige Zuordnung und Differenzierung des Primitives im Modell
BeschreibungTextZur Erläuterung von getroffenen Annahmen und wichtigen Infos
Rate*Numerischer Wert, [Wert eines Primitives], FunktionenDie Rate bestimmt die Geschwindigkeit, mit der sich der zugehörige Stock erhöht oder verringert. Flows können einen konstanten Wert (z.B. 1000 Liter) oder einen dynamischen Wert in Abhängigkeit von anderen Modellgrößen (z.B. Wasserzufluss= Regenmenge* Fläche* Versickerungsfaktor) haben.
Schnittstelle & Szenario
AusgabeparameterBooleanWenn als Ausgabeparameter gewählt, gibt dies Aufschluss über den Zustand des Systems im Zeitverlauf. Es werden Wirkungen von Entscheidungen, Änderungen oder externen Faktoren sichtbar.
Validierung
EinheitText (Suchfunktion), AuswahloptionKonkretisiert das System und stellt sicher, dass die Werte mit Einheiten sinnvoll miteinander verrechnet werden.
Minimale EinschränkungBooleanSetzung einer unteren Grenze
Minimaler WertNumerischer WertOption eine untere Grenze einzustellen
Maximale EinschränkungBooleanSetzung einer oberen Grenze
Maximaler WertNumerischer WertOption eine obere Grenze einzustellen

*Pflichtfelder für Berechnung


OGC API Features

Die OGC API Features ist ein moderner Standard des Open Geospatial Consortium (OGC) zur Bereitstellung und Abfrage von Geodaten über Webschnittstellen. Dies ermöglicht eine einfache Integration in Webanwendungen und fördert die Interoperabilität zwischen verschiedenen Systemen. Die Urban Data Platform Hamburg stellt beispielsweise über die OGC API- Features eine Vielzahl von Geodatensätzen zur Verfügung und ist in dadurch eine wichtige Datenquelle für den Urban Model Builder.

EingabefelderArt der EingabeZweck
NameTextFür eine eindeutige Zuordnung und Differenzierung des Primitives im Modell
BeschreibungTextZur Erläuterung von getroffenen Annahmen und wichtigen Infos
APIs*Text (Suchfunktion); AuswahloptionAPIs (Application Programming Interface) sind Schnittstellen zu Datenbanken. Hier suchst du das für dein Modell passenden Datensatz aus.
Sammlung*Text (Suchfunktion); AuswahloptionDurch die Auswahl der Sammlungen werden die vorhandenen Datensätze reduziert.
Limits*Numerischer WertSteuert wie viele Einträge pro Anfrage zurückgegeben werden. =100 -> max. 100 Einträge zurück
OffsetNumerischer WertGibt an, ab welchem Eintrag die API die Daten liefern soll. = 200 -> API überspringt die ersten 200 Einträge und dann liefert weiter je nach Limit
Ausgewählte EigenschaftenText (Suchfunktion); AuswahloptionSogenannte Properties werden hier modellspezifisch ausgewählt. Sie dienen der gezielten Datenabfrage.
Feldabfrage
AbfragefeldText (Suchfunktion); AuswahloptionDas Datenfeld („Key“), auf das die Bedingung angewendet wird.
OperatorAuswahloptionLogischer Vergleichsoperator, der prüft, ob das Datenfeld einen bestimmten Zustand erfüllt.
AbfragewertText; (nummerischer) WertDer Wert, mit dem verglichen wird.
Beispiel API mit Aufbau:
[
{"Region": "Nord",
"Temperatur":21.5},
{"Region": "Süd",
"Temperatur":25.0},
{"Region": "Nord",
"Temperatur":19.5}
]
Du willst nur Daten aus der Region „Nord“ importieren.
Abfragefeld: Region
Operator: =
Abfragewert: Nord
Die Abfrage filtert alle Einträge, bei denen Region == Nord gilt.
Erweiterte Filterabfrage
Filter (CQL2)Aufbau:
1. Attribut(z.B "Temperatur")
2. Operator (z.B ">")
3. Wert (z.B 20)
Temperatur größer als 20°C:
{
"op": ">",
"args": [
{ "property": "Temperatur"}, 20
]
}
CQL2 ist eine strukturierte Filtersprache, mit den Daten anhand ihrer Eigenschaften präzise serverseitig abgefragt werden. Wurde vom Open Geospatial Consortium (OGC) entwickelt.
DatentransformationNur ausgewählte Eigenschaften werden hier angezeigt
SchlüsselwertText (Suchfunktion); AuswahloptionKey-Value-Strukturen, typisch in JSON-Daten, die von APIs geliefert werden. Der Schlüssel (Key) ist der Name eines Datenfeldes. Z.B "Bezirk"
WertfeldText (Suchfunktion); AuswahloptionDas Wertfeld ist der Inhalt, der zu dem Schlüssel gehört. Z.B "Bezirk": "Altersgruppe 0-18"
VorschauAnzeigeZeigt den strukturellen Aufbau der abzufragenden Daten an.

*Pflichtfelder für Berechnung

Hinweis

Achte darauf, wie die Datensätze aufgebaut sind, welche Daten sie beinhalten oder ausschließen und welche Eingaben für die jeweiligen Key-Value Paare erforderlich sind! Folge dem Link zu weiteren Informationen der API in dem Primitive Einstellungsfenster, um wichtige Details zu erfahren!


Variablen

Variablen sind veränderbare Einflussfaktoren, die nicht direkt Bestände (Stocks) sind und im Gegensatz zu diesen keine Speicherfunktion der Werte aufweisen. Sie sind Berechnungsgrößen, die Flüsse oder andere Variablen beeinflussen. Sie fungieren als Rechenhilfen, indem sie die Struktur vereinfachen und ermöglichen eine modulare Modellierung.

EingabefelderArt der EingabeZweck
NameTextFür eine eindeutige Zuordnung und Differenzierung des Primitives im Modell
BeschreibungTextZur Erläuterung von getroffenen Annahmen und wichtigen Infos
Wert*Numerischer Wert, [Wert eines Primitives], FunktionenDiese können sowohl konstant als auch dynamisch anhand von anderen Variablen oder vorgefertigten Funktionsbeschreibungen beschrieben werden.
Schnittstelle & Szenario
AusgabeparameterBooleanWenn als Ausgabeparameter gewählt, gibt dies Aufschluss über den Zustand des Systems im Zeitverlauf. Es werden Wirkungen von Entscheidungen, Änderungen oder externen Faktoren sichtbar.
Validierung
EinheitText (Suchfunktion), AuswahloptionKonkretisiert das System und stellt sicher, dass die Werte mit Einheiten sinnvoll miteinander verrechnet werden.
Minimale EinschränkungBooleanSetzung einer unteren Grenze
Minimaler WertNumerischer WertOption eine untere Grenze einzustellen
Maximale EinschränkungBooleanSetzung einer oberen Grenze
Maximaler WertNumerischer WertOption eine obere Grenze einzustellen

*Pflichtfelder für Berechnung


Converter

Ein Converter ist ein Modellierungselement, das eine Berechnung, Transformation oder Ableitung aus anderen Variablen oder Konstanten durchführt. Er ist funktional gleichzusetzen mit einer Hilfsvariablen und speichert keine Werte, sondern wird bei jeder Simulationszeit neu berechnet.

EingabefelderArt der EingabeZweck
NameTextFür eine eindeutige Zuordnung und Differenzierung des Primitives im Modell
BeschreibungTextZur Erläuterung von getroffenen Annahmen und wichtigen Infos
EingabeIn Abhängigkeit der verbundenen PrimitvesÜbernimmt den Eingangswert eines anderen Primitves; by Default ist die zeitliche Dimension festgelegt
MappingStellt grafisch die Input-Output-Beziehung dar
Eingabe*x-WertWenn ein bestimmter Eingangswert angenommen wird, berechnet der Converter einen entsprechenden Ausgangswert
Ausgabe*y-WertDer Ausgangswert kann von anderen Primitives, auf die der Converter verweist, übernommen werden.
InterpolationAuswahloption (Linear und Discrete)Um Werte zwischen den definierten Punkten zu berechnen, können zwei Interpolationsmethoden angewendet werden. Linear: glatter, geradliniger Verlauf (geeignet für kontinuierliche Prozesse) Diskret: stufenweiser, sprunghafter Verlauf (geeignet für Schwellenwerte oder Kategorisierungen)
Validierung
EinheitText (Suchfunktion), AuswahloptionKonkretisiert das System und stellt sicher, dass die Werte mit Einheiten sinnvoll miteinander verrechnet werden.
Minimale EinschränkungBooleanSetzung einer unteren Grenze
Minimaler WertNumerischer WertOption eine untere Grenze einzustellen
Maximale EinschränkungBooleanSetzung einer oberen Grenze
Maximaler WertNumerischer WertOption eine obere Grenze einzustellen

*Pflichtfelder für Berechnung


States

Ein State in der agentenbasierten Modellierung bezeichnet einen Zustand (oder verschiedene Modi), der die aktuelle Situation oder Konfiguration eines Agenten, die sein Verhalten und seine Reaktion im Modell beeinflusst. Die Agenten wechseln von einem State in einen anderen, ausgelöst durch Regeln, Wahrscheinlichkeiten oder Umwelteinflüsse. Ein State kann immer nur einen wahr/falsch Wert annehmen, der den aktuellen Zustand des Agenten beschreibt.

EingabefelderArt der EingabeZweck
NameTextFür eine eindeutige Zuordnung und Differenzierung des Primitives im Modell
BeschreibungTextZur Erläuterung von getroffenen Annahmen und wichtigen Infos
Aktiv zum Start*Numerischer Wert, [Wert eines Primitives], FunktionenDefinition der Anfangsbedingung
VorhaltezeitNumerischer Wert, [Wert eines Primitives], FunktionenGibt an, wie lange ein Zustand aktiv bleibt, bevor automatisch in den nächsten Zustand gewechselt wird (falls definiert)
Schnittstelle & Szenario
EingabeAuswahl (keine Parameter, Boolscher Wert)Wenn als Ausgabeparameter gewählt, gibt dies Aufschluss über den Zustand des Systems im Zeitverlauf. Es werden Wirkungen von Entscheidungen, Änderungen oder externen Faktoren sichtbar.
AusgabeparameterBooleanWenn als Ausgabeparameter gewählt, gibt dies Aufschluss über den Zustand des Systems im Zeitverlauf. Es werden Wirkungen von Entscheidungen, Änderungen oder externen Faktoren sichtbar.

*Pflichtfelder für Berechnung


Transitions

Transitions bezeichnen die Übergänge zwischen den Zuständen (States) eines Agenten. Sie beschreiben wann und unter welchen Bedingungen ein Agent von einem Zustand in einen anderen wechselt.

EingabefelderArt der EingabeZweck
NameTextFür eine eindeutige Zuordnung und Differenzierung des Primitives im Modell
BeschreibungTextZur Erläuterung von getroffenen Annahmen und wichtigen Infos
Trigger*Auswahloption (Condition, Probability, Timeout)Legt fest unter welcher Bedingung/Wahrscheinlichkeit/Zeitüberschreitung der Übergang von einem Zustand zum nächsten erfolgt
Wert*Numerischer Wert, [Wert eines Primitives], FunktionenInput zur Berechnung
NeuberechnenBooleanLegt fest, ob die Bedingung während der Berechnung kontinuierlich geprüft und bei jeder Zustandsänderung neu berechnet wird. Ohne Neuberechnung: Triggerbedingung wird nur einmal geprüft; Mit Neuberechnung: Bedingung wird laufend geprüft (in jedem Zeitschritt).
WiederholenBooleanLegt fest, ob derselbe Übergang mehrfach ausgelöst werden darf, auch wenn er schon einmal durchlaufen wurde. Ohne Wiederholung: Übergang findet nur einmal statt; Mit Wiederholung: Übergang kann beliebig oft durchlaufen werden, solange der Trigger zutrifft.
Validierung
EinheitText (Suchfunktion), AuswahloptionKonkretisiert das System und stellt sicher, dass die Werte mit Einheiten sinnvoll miteinander verrechnet werden.
Minimale EinschränkungBooleanSetzung einer unteren Grenze
Minimaler WertNumerischer WertOption eine untere Grenze einzustellen
Maximale EinschränkungBooleanSetzung einer oberen Grenze
Maximaler WertNumerischer WertOption eine obere Grenze einzustellen

*Pflichtfelder für Berechnung


Actions

Actions sind die konkreten Handlungen, die ein Agent während eines Zustandes oder bei einem Zustandswechsels (Transitions) ausführt. Sie bestimmen das sichtbare Verhalten eines Agenten innerhalb des Modells. Sie sind operationale Verhaltensregeln, wie ein Agent sich beispielsweise bewegt, mit anderen Agenten interagiert, Ressourcen verbraucht etc.

EingabefelderArt der EingabeZweck
NameTextFür eine eindeutige Zuordnung und Differenzierung des Primitives im Modell
BeschreibungTextZur Erläuterung von getroffenen Annahmen und wichtigen Infos
Aktion*Numerischer Wert, [Wert eines Primitives], FunktionenAuszuführende Algorithmen
Trigger*Auswahloption (Condition, Probability, Timeout)Auslöser für eine Zustandsänderung
Wert*Numerischer Wert, [Wert eines Primitives], FunktionenInput zur Berechnung
NeuberechnenBooleanLegt fest, ob die Bedingung während der Berechnung kontinuierlich geprüft und bei jeder Zustandsänderung neu berechnet wird. Ohne Neuberechnung: Triggerbedingung wird nur einmal geprüft; Mit Neuberechnung: Bedingung wird laufend geprüft (in jedem Zeitschritt).
WiederholenBooleanLegt fest, ob derselbe Übergang mehrfach ausgelöst werden darf, auch wenn er schon einmal durchlaufen wurde. Ohne Wiederholung: Übergang findet nur einmal statt; Mit Wiederholung: Übergang kann beliebig oft durchlaufen werden, solange der Trigger zutrifft.

*Pflichtfelder für Berechnung


Agent

Ein Agent ist eine autonome Entität, die eigene Zustände, Eigenschaften und Verhaltensregeln besitzt und mit ihrer Umwelt und anderen Agenten interagieren kann. Als individuelles Modellobjekte können Agenten eigenständige Entscheidungen treffen, zustandsabhängig handeln, sich verändern und lokal interagieren.

EingabefelderArt der EingabeZweck
NameTextFür eine eindeutige Zuordnung und Differenzierung des Primitives im Modell
BeschreibungTextZur Erläuterung von getroffenen Annahmen und wichtigen Infos
Schnittstelle & Szenario
AusgabeparameterBooleanWenn als Ausgabeparameter gewählt, gibt dies Aufschluss über den Zustand des Systems im Zeitverlauf. Es werden Wirkungen von Entscheidungen, Änderungen oder externen Faktoren sichtbar.

Population

Eine Population bezeichnet eine Gesamtheit aller Agenten eines bestimmten Typs innerhalb eines Modells. Diese kollektive Menge an Agenten haben gemeinsame Eigenschaften oder Verhaltenstype, agieren sowohl in einer gemeinsamen Umwelt als auch untereinander.

EingabefelderArt der EingabeZweck
NameTextFür eine eindeutige Zuordnung und Differenzierung des Primitives im Modell
BeschreibungTextZur Erläuterung von getroffenen Annahmen und wichtigen Infos
Größe der Bevölkerung*Numerischer WertBeschreibt die Anzahl der Entitäten in einer Population
EinheitText (Suchfunktion), Auswahloption
Geo Breite*Numerischer WertDefiniert die geografische Breite auf einer simulierten Karte
Geo Höhe*Numerischer WertDefiniert die geografische Länge auf einer simulierten Karte
Geo Wrap AroundBooleanBestimmt, ob Agenten, die eine Kartenkante überschreiten, auf der „anderen Seite wieder erscheinen“
Geo Platzierungstyp*Auswahloption (Benutzerdefinierte Funktion, Ellipse, Grid, Network, Random)Legt fest, wie Agenten initial auf der Karte verteilt werden
Geo PlatzierungsfunktionFunktionBestimmt die Regel oder Formel, nach der die Verteilung erfolgt
NetzwerktypAuswahloption (Benutzerdefinierte Funktion, Keine)Legt fest, ob und wie die Agenten untereinander Netzwerke aufbauen
NetzwerkfunktionFunktionLegt fest, ob und wie die Agenten untereinander Netzwerke aufbauen
Schnittstelle & Szenario
AusgabeparameterBooleanWenn als Ausgabeparameter gewählt, gibt dies Aufschluss über den Zustand des Systems im Zeitverlauf. Es werden Wirkungen von Entscheidungen, Änderungen oder externen Faktoren sichtbar.

*Pflichtfelder für Berechnung


Folder

Ein Folder ist ein strukturgebendes Element, welches die Organisation eines Modells vereinfacht. In einem Ordner können manuell ausgewählte Modellteile gesammelt, gruppiert und bewegt werden.

EingabefelderArt der EingabeZweck
NameTextFür eine eindeutige Zuordnung und Differenzierung des Primitives im Modell
BeschreibungTextZur Erläuterung von getroffenen Annahmen und wichtigen Infos