Home Übersicht Einleitung Szenarien Glossar Impressum
Zum Online Atlas

 

DANUBIA – ein web-basiertes Modellierungs- und Entscheidungsunterstützungssystem zur Untersuchung des Globalen Wandels des Wasserkreislaufs im Einzugsgebiet der Oberen Donau – Teilprojekt Informatik

1. Überblick

DANUBIA (Barth et al., 2004) ist ein integratives Simulations- und Entscheidungsunterstützungssystem, das im Rahmen von GLOWA-Danube entwickelt wird. Mit DANUBIA können wasserbezogene Szenarien unter ökologischen und ökonomischen Gesichtspunkten untersucht werden, um Wissenschaftler und Entscheidungsträger beim Entwurf von Strategien für ein nachhaltiges Umweltmanagement zu unterstützen.

In DANUBIA wurden sechzehn Simulationsmodelle aller beteiligten Forschergruppen integriert. Damit können sowohl sektorale als auch interdisziplinäre Fragestellungen unter Einbeziehung gegenseitig abhängiger Prozesse untersucht werden.

Die Entwicklung von DANUBIA basiert auf Methoden der objektorientierten Software-Entwicklung und des Web-Engineering. Dabei spielt in allen Phasen des Entwicklungsprozesses die Unified Modeling Language (UML , Booch et al., 1999) als gemeinsame Notation, die von allen Projektpartnern zur Beschreibung der integrativen
Aspekte des Systems verwendet wird, eine entscheidende Rolle.


Abbildung E2.1: Die Architektur des DANUBIA-Systems

Die Architektur des DANUBIA-Systems ist in Abbildung E2.1 abgebildet. In der Komponente DANUBIA Components sind die Simulationsmodelle der verschiedenen Fachgruppen von GLOWA Danube realisiert. Das DANUBIA-Kernsystem (Komponente DANUBIA Core System) besteht aus einem Entwickler-Framework und einer Laufzeitumgebung (siehe Abschnitt 3). Für die Implementierung sozioökonomischer Modelle stellt DANUBIA das DeepActor-Framework zur Integration von Akteuren bereit (siehe Abschnitt 5).

Aktuell läuft DANUBIA auf einem Rechnercluster mit 56 Prozessoren. Das System kann aber auch für Testzwecke auf einzelnen Rechnern oder kleineren Netzwerken installiert werden.

2. Konzept

2.1 Hauptkomponenten und Schnittstellen

Die sechzehn in DANUBIA integrierten Simulationsmodelle sind gemäß ihrer thematischen Zugehörigkeit in die fünf Hauptkomponenten Atmosphere, Actor, Landsurface, Groundwater und Rivernetwork gruppiert (siehe Abbildung E2.1). Der Datenaustausch sowohl zwischen den Hauptkomponenten als auch zwischen einzelnen Simulationsmodellen wird durch Schnittstellen spezifiziert. Die Schnittstellen beinhalten für jeden auszutauschenden Parameter den Bezeichner und Datentyp. Die zeitliche Gültigkeit der ausgetauschten Daten wird hiervon getrennt durch ein eigenes zeitliches Koordinationskonzept (siehe Abschnitt 2.3) sichergestellt.

2.2 Raumkonzept

Ein zentraler Aspekt von Umweltsimulationen betrifft die Behandlung des Simulationsraums. In DANUBIA wird der Simulationsraum durch ein zweidimensionales Netz repräsentiert (siehe Abbildung E2.2). Den Zeilen und Spalten dieses Rasters sind mittels konformer konischer Lambert-Projektion geographische Koordinaten zugeordnet. Die Koordinatenpunkte entsprechen denen des Hydrologischen Atlasses der Bundesrepublik Deutschland. Die Länge und Breite der Rasterzellen beträgt jeweils 1000 m, somit ergibt sich eine Rasterfläche von 1 km². Durch Anwendung des objekt orientierten Paradigmas erhält der Simulationsraum nicht nur eine statische, sondern auch eine
dynamische Struktur, welche im Wesentlichen aus den Prozessen, die an der entsprechenden Stelle des Netzes ablaufen, besteht. Dies führt zu dem Begriff Proxel (ein Akronym für process pixel). Ein Proxel-Objekt wird über eine für das betrachtete Simulationsgebiet eindeutige Identifikationsnummer, der so genannten ProxelID (siehe PID in Abbildung E2.2) identifiziert. Sämtliche Proxel-Objekte werden in einem Tabellenobjekt, der so genannten ProxelTable, verwaltet. Ein allgemeines Proxel-Objekt speichert die für alle Simulationsmodelle relevanten Eigenschaften des beschriebenen Rasterpunktes (Koordinaten, Geländehöhe, Landnutzung, etc.). Durch Spezialisierung werden in den einzelnen DANUBIA-Komponenten den Proxeln weitere, fachspezifische Eigenschaften hinzugefügt.


Abbildung E2.2: Das obere Donaugebiet

2.3 Zeitkonzept

Ein Simulationsmodell berechnet während der gesamten Simulationszeit zu diskreten Zeitpunkten Daten, die den jeweils gültigen Zustand des modellierten Systems beschreiben. Der Abstand zweier solcher Zeitpunkte ist pro Modell konstant und wird Modellzeitschritt genannt. Die Länge der Modellzeitschritte reicht in DANUBIA
von einer Stunde (z.B. bei denAtmosphären- und Landoberflächenmodellen) bis zu einem Monat (bei den meisten Akteurmodellen). In einer integrativen Simulation werden mehrere Modelle mit unterschiedlichen Zeitschritten gekoppelt, die zyklisch Berechnungen durchführen und zur Laufzeit untereinander Daten austauschen. Um verlässliche
Simulationsergebnisse zu erhalten, müssen beim Datenaustausch folgende Bedingungen erfüllt sein:

  • Die ausgetauschten Daten müssen in einem stabilen Zustand sein, es darf also nicht gleichzeitig lesend und schreibend auf die Daten zugegriffen werden.
  • Jedes Modell muss bei einer Datenanfrage Daten erhalten, die bezüglich seiner eigenen lokalen Modellzeit gültig sind.

Um diese Anforderungen zu erfüllen, verfügt DANUBIA über eine Komponente zur zeitlichen Koordination der einzelnen beteiligten Modelle, den so genannten Timecontroller (Hennicker &Ludwig, 2005 und 2006). Für die Modelle selbst ergibt sich daraus folgender Lebenszyklus (siehe Abbildung E2.3):

waitForGetData: Warten auf die Freigabe zum Einlesen von Daten von anderen Modellen durch denTimecontroller
getData: Einlesen von Daten von anderen Modellen
compute: Berechnen der beim nächsten Simulationszeitpunkt gültigen Daten
waitForProvide: Warten auf die Freigabe zur Bereitstellung der neu berechneten Daten für andere Modelle durch denTimecontroller
provide: Bereitstellen der neu berechneten Daten für andere Modelle


Abbildung E2.3: Lebenszyklus eines gekoppelten Simulationsmodells

3. DANUBIA-Kernsystem

Das DANUBIA-Kernsystem besteht im Wesentlichen aus einem Entwickler-Framework und einer Laufzeitumgebung (siehe Abbildung E2.4).

3.1 Entwickler-Framework

Das Entwickler-Framework unterstützt die Modellentwickler durch die Bereitstellung von Klassen und Schnittstellen, die von den Modellentwicklern benutzt werden, um ihre Modellimplementierungen in DANUBIA zu integrieren.

Zum einen sind dies so genannte Basisklassen, die gemäß dem objektorientierten Vererbungsprinzip spezialisiert werden müssen. Die wichtigste dieser Basisklassen ist AbstractModel, von der die konkreten Modellimplementierungen in DANUBIA abgeleitet werden. Diese Basisklasse enthält bereits die Implementierung des Lebenszyklus
eines Simulationsmodells (siehe Abschnitt 2.3) und bildet die Grundlage für die Anbindung des Modells an die Laufzeitumgebung (siehe Abschnitt 3.2). In die Kategorie der Basisklassen fällt auch die Klasse AbstractProxel, die das in Abschnitt 2.2 beschriebene Raumkonzept realisiert.


Abbildung E2.4: Das DANUBIA-Kernsystem

Weitere Klassen, die von den Modellentwicklern verwendet werden, sind z. B. die Implementierungen der in DANUBIA gemeinsam genutzten Datentypen und Werkzeuge zur Vor- und Nachbearbeitung von Eingabe- und Ausgabedaten. Mit diesen Werkzeugen können z. B. Daten zwischen üblichen GIS-Formaten und dem DANUBIA-eigenen
binären Datenformat konvertiert werden, sowie zeitliche und räumliche Aggregierungen oder Mittelwertbildungen durchgeführt werden.

3.2 Laufzeitumgebung

Die Laufzeitumgebung ermöglicht einerseits integrierte Simulationsläufe des gesamten DANUBIA-Systems auf einem Rechnercluster, andererseits Testläufe von kleineren Modellkonfigurationen auf einzelnen Rechnern oder kleineren lokalen Netzwerken. Sie besteht im Wesentlichen aus den im Folgenden beschriebenen Komponenten.

Die zentrale Komponente der Laufzeitumgebung ist die Komponente Simulation mit ihren Subkomponenten BaseData, Landuse und Timecontroller. Während die Komponente Simulation selbst für die Verwaltung der Simulationsmodelle während einer Simulation zuständig ist, haben die Subkomponenten folgende Aufgaben: die Komponente BaseData dient der Initialisierung der allgemein relevanten Eigenschaften der Proxel (siehe Abschnitt 2.2), die Komponente Landuse verwaltet die während eines Simulationslaufs veränderliche Landnutzung des Simulationsgebiets und stellt diese den beteiligten Simulationsmodellen aktuell bereit. Schließlich realisiert die Komponente Timecontroller die in Abschnitt 2.3 beschriebene zeitliche Koordination der einzelnen Simulationsmodelle während eines integrativen Simulationslaufs.

Die Komponente Configuration dient zur Erstellung von Simulationskonfigurationen. Sie interagiert zu diesem Zweck mit der Benutzerschnittstelle (siehe Abschnitt 4). Die Verteilung der einzelnen Systemteile über ein Netzwerk ist Aufgabe der Komponente Network. Insbesondere ist sie für die Verbindung der korrespondierenden
Datenimport- und Datenexportschnittstellen der an einer integrativen Simulation beteiligten Modelle zuständig.

4. Benutzerschnittstelle

Mit der DANUBIA-Web-Schnittstelle können verteilte Simulationsläufe konfiguriert, gesteuert und überwacht werden (siehe Komponente UserInterface in Abbildung E2.1). Je nach Zustand des Simulationssystems bietet die Benutzerschnittstelle verschiedene Ansichten.

Vor dem Start eines Simulationslaufs werden die Namen der angemeldeten Simulationsmodelle angezeigt. Ist die Simulationskonfiguration vollständig, kann die Simulation gestartet werden.

Nach dem Start einer Simulation lässt sich der zeitliche Fortschritt sowohl einzelner Modelle als auch der des integrierten Modellverbunds anzeigen. Der Fortschritt wird in Echtzeit und in Simulationszeit dargestellt. Weiterhin stellt die Benutzerschnittstelle detaillierte Informationen zu den einzelnen Simulationsmodellen zur Verfügung. Dazu gehören beispielsweise Performanzinformationen wie durchschnittliche Prozessor- und Speicherbelastung, aber auch Metadaten wie Autor oder Version eines Simulationsmodells.

5. DeepActor-Framework

Das DeepActor-Framework erweitert das von DANUBIA bereitgestellte Entwickler-Framework (siehe Abschnitt 3.1) durch zusätzliche Basisklassen und Schnittstellen. Es realisiert eine gemeinsame konzeptionelle Grundlage des in GLOWA-Danube entwickelten DeepActor-Ansatzes und ermöglicht den sozioökonomischen Simulationsmodellen aus GLOWA-Danube (Hauptkomponente Actor in Abbildung E2.1), Entscheidungsprozesse sogenannter tiefer Akteure explizit zu modellieren. Der DeepActor-Ansatz konkretisiert den Ansatz zur agentenbasierten Simulation in Sozialwissenschaften (Gilbert & Troitzsch, 2005), der wiederum auf Agentenkonzepten aus der (verteilten) künstlichen Intelligenz (Norvig & Russel, 2003; Weiss, 1999) beruht. Wir verwenden den Begriff Akteur, um Verwechslungen mit dem zumindest konzeptionell
verwandten Begriff des Software-Agenten zu vermeiden. Ein Software-Agent ist ein Programm mit den Eigenschaften autonom, reaktiv, pro-aktiv und interagierend. Diese Eigenschaften werden für Software-Agenten auf technischer Ebene interpretiert, beispielsweise die Eigenschaft autonom durch die Zuordnung eines eigenen Threads oder Prozesses je Agent. Im Gegensatz hierzu sind Eigenschaften solcher Art für Akteure auf konzeptioneller Ebene zu interpretieren und damit immer abhängig von der Modelierung innerhalb eines konkreten Simulationsmodells. Ein Akteur repräsentiert handelnde Entitäten des Simulationsraums, beispielsweise Privathaushalte, Landwirte oder Betriebe touristischer Infra- und Suprastruktur. Simulationsmodelle, die das DeepActor-Framework verwenden, werden als DeepActor-Modelle bezeichnet.


Abbildung E2.5: Statische Struktur des DeepActor-Frameworks

Die grundlegenden Modellierungselemente eines DeepActor-Modells sind in Abbildung E2.5 dargestellt. Die von DANUBIA vorgegebene Basisklasse AbstractModel wird durch eine speziellere Basisklasse AbstractActorModel verfeinert. Hinzu kommen Basisklassen für Akteure, Pläne und Aktionen. Im Folgenden wird die statische Struktur aus Abbildung E2.5, und damit die strukturelle Konzeption des DeepActor-Ansatzes von GLOWA-Danube, näher erläutert. Die dynamischen Aspekte des Ansatzes werden in den Abschnitten 5.1 und 5.2 erläutert.

Man beachte, dass abstrakte Elemente des Frameworks in der Regel optional in einem Deep-Actor-Modell zu konkretisieren sind. Je nach Art und Komplexität des zu realisierenden Simulationsmodells lassen sich so einfache reaktive Akteure genauso wie komplexe lernfähige Akteure auf der gemeinsamen Grundlage des DeepActor-
Frameworks umsetzen.

Die konkrete Ableitung der Basisklasse AbstractActorModel dient im einfachsten Fall der Administration und Initialisierung der konkreten Akteure eines DeepActor-Modells. Die Akteure verfügen über Sensoren zur Wahrnehmung ihrer Umgebung, im Speziellen zum Import von Proxeldaten und zum Import von Daten anderer Akteure des gleichen Modells. Zusätzlich verfügen Akteure über eine History zur Speicherung der Entscheidungen vorangegangener Simulationsschritte. Pläne repräsentieren die Handlungsoptionen eines Akteurs und enthalten jeweils eine Menge von Aktionen, die Effekte einer Planumsetzung explizit modellieren. Die Menge der initialen Pläne (initialPlans) ist die gesamte Menge an Plänen, die einem Akteur über den Simulationsverlauf zur Verfügung steht. Die Menge der aktiven Pläne (activePlans) ist diejenige Teilmenge initialer Pläne, für deren Umsetzung sich ein Akteur in einem gegebenen Zeitschritt entschieden hat.


Abbildung E2.6: Lebenszyklus eines DeepActor-Modells als Verfeinerung von Abbildung E2.3

5.1 Lebenszyklus eines DeepActor-Modells

Der in Abbildung E2.6 dargestellte Lebenszyklus eines DeepActor-Modells verfeinert den Zyklus eines DANUBIA-Modells (siehe Abbildung E2.3). Zentral ist hierbei die Unterscheidung zwischen Modell- und Akteurberechnung. Erstere repräsentiert die Makroebene der Simulation, die mindestens für den koordinierten Datenaustausch
(modelGetData, modelProvide) mit gekoppelten Simulationsmodellen benötigt wird, letztere simuliert die Mikroebene einzelner Entscheidungen (filter, options), deren Effekte von der Modellberechnung auf Makroebene berücksichtigt werden. Die Zustände getData, compute und provide aus Abbildung E2.3 werden durch das DeepActor-
Framework unter Verwendung der abstrakten Operationen aus Abbildung E2.5 realisiert. Ein konkretes DeepActor-Modell liefert hierfür konkrete Implementierungen wie folgt:

modelGetData und query: Das Modell importiert Daten von gekoppelten Simulationsmodellen und dieAkteure fragen Sensoren ab.
modelPreCompute: Das Modell kann Akteurberechnungen vorbereiten.
options: Die Akteure aktivieren die gemäß äußerer Randbedingungen umsetzbaren Pläne.
computeRating: Alle aktiven Pläne berechnen ein Bewertungsattribut.
filter: Die Menge aktiver Pläne wird aufgrund akteurspezifischer Kriterien weiter reduziert.
execute: Die Aktionen der verbliebenen aktiven Pläne werden ausgeführt.
modelPostCompute: Das Modell kann Akteurberechnungen verarbeiten.
export und modelProvide: Die Akteure und das Modell exportieren Daten für andere Akteure bzw. für gekoppelte Simulationsmodelle.

5.2 Entscheidungsprozess eines tiefen Akteurs

Die Entscheidung eines Akteurs umfasst zwei Schritte: options – zur Bestimmung der aktiven Planmenge im gegebenen Simulationsschritt und filter – zur Reduktion der aktiven Planmenge auf diejenigen Pläne, die tatsächlich ausgeführt werden sollen. Im ersten Schritt werden Pläne deaktiviert, die zum gegenwärtigen Simulationszeitpunkt aufgrund äußerer Rahmenbedingungen, auf die der Akteur keinen Einfluss hat, nicht ausführbar sind. Im zweiten Schritt berücksichtigt ein Akteur seine implizit vorhandenen Ziele und Präferenzen und bestimmt damit die in diesem Zeitschritt auszuführende Menge aktiver Pläne. Zwischengeschaltet ist die Berechnung eines optionalen Bewertungsattributs (computeRating). Der resultierende Wert kann als Grundlage der Planauswahl im filter Schritt verwendet werden. Damit lässt sich beispielsweise ein Auswahlalgorithmus basierend auf einer Multiattribute Utility Theory (Norvig & Russel, 2003) realisieren.

Ziele, die eine Entscheidung eines Akteurs motivieren, sind kein expliziter Bestandteil des DeepActor-Ansatzes. Stattdessen muss die konkrete Realisierung des filter Schritts die Ziele des jeweiligenAkteurs berücksichtigen.

Autoren

R. Hennicker, S. Janisch, A. Kraus, M. Ludwig Institut für Informatik, Ludwig-Maximilians-Universität München

Literatur

Barth, M., Hennicker, R., Kraus, A. & Ludwig, M. (2004):
DANUBIA: An Integrative Simulation System for Global Change Research in the Upper Danube Basin. Cybernetics and Systems,Vol. 35 (7-8), pp. 639-66.Taylor&Francis.

Booch, G., Rumbaugh, J. & Jacobson, I. (1999):
The Unified Modeling Language User Guide. Addison Wesley, ObjectTechnology Series.

Gilbert, N. & Troitzsch, K. G. (2005):
Simulation for the Social Scientist. 2.Ed. Open University Press.

Hennicker, R. & Ludwig, M. (2005):
Property-Driven Deve lopment of a Coordination Model for Distributed Simulations. Proceedings of the 7th IFIP International Conference on Formal Methods for Open Object-Based Distributed Systems (FMOODS2005), LNCS 3535, pp. 290-305. Springer.

Hennicker, R. & Ludwig, M. (2006):
Design and Implementation of a Coordination Model for Distributed Simulations. In: Mayr, H.C. and Breu, R. (editors): Proc. Modellierung 2006 (MOD'06), Volume P-82 of Lect. Notes Informatics, pp. 83-97. Gesellschaft für Informatik.

Norvig, P. & Russell, S. J. (2003):
Artificial Intelligence: A ModernApproach. 2.Ed. Prentice Hall.

Weiss, G. (Ed.) (1999):
Multiagent Systems: A Modern Approach to Distributed Artificial Intelligence.The MIT Press.

 

Diese Seite als PDF runterladen.

zurück zur Einleitung-Übersicht