Der Einsatz von Computer-gestützten Simulationen in Wirtschaft und Forschung nimmt seit Jahren zu. Vor dem Hintergrund stetig steigender Rechenleistung aktueller Rechnersysteme ist ein Anhalten dieses Trends abzusehen.
Computer-gestützte Simulationen sind Simulationen, die komplett an einem oder mehreren Rechnern durchgeführt werden. Diese Arbeit befasst sich lediglich mit Computer-gestützten Simulationen in der Wissenschaft, im Folgenden der Einfachheit halber Simulationen genannt. Eine genaue Definition des Begriffs Simulation befindet sich in Abschnitt "2.3.1 Simulationen" dieser Arbeit.
Die Gründe für den Einsatz einer Simulation sind vielfältig. So lassen sich Kosten sparen, indem ein Experiment simuliert wird, statt dieses in der reellen Welt durchzuführen. In anderen Fällen ist ein Experiment in der reellen Welt oft nicht durchführbar, z.B. bei der Forschung in der Raumfahrt. Weiterhin bieten Simulationen Vorteile, die bei reellen Experimenten nicht gegeben sind: Aufwändige Vorbereitungen entfallen. Zudem werden mögliche Unterschiede bei mehreren Wiederholungen desselben Experiments weitgehend ausgeschlossen, da die Ausgangssituation bei einer Simulation konstant gehalten werden kann und nicht von Umweltparametern beeinflusst wird. Weiterhin lässt sich eine Simulation unterbrechen und fortsetzen, oder komplett abbrechen wenn bereits während der Simulation genug Erkenntnisse gesammelt werden konnten. Die Auswirkungen auf die reale Welt sind minimal: Die Simulation verursacht Kosten durch die Nutzung von Rechenressourcen. Oft sind auch weniger Mitarbeiter in Simulationen involviert als bei entsprechenden Ausführungen in der realen Welt.
Der Wert einer Simulation bemisst sich an der Verwertbarkeit der Ergebnisse und der Realitätsnähe. Wenn die Ergebnisse nicht verwertet werden können sind, hatte die Simulation keinen Sinn. Ebenso schwindet meist der Wert einer Simulation je stärker sich die simulierte Welt von der reellen Welt unterscheidet. Umgekehrt steigt der Wert einer Simulation, je mehr Einflüsse aus der reellen Umgebung in der Simulation abgebildet werden.
Aktuelle Simulationsprogramme sind meist auf einen bestimmten Zweck hin entwickelt worden , wie z.B. die Krafteinwirkung von starkem Wind auf ein Hallendach. Andere Simulationen bilden die Ausdehnung bestimmter Materialien bei unterschiedlichen Temperaturen ab. Interessant für einen Architekten sind aber nicht die Einzelergebnisse dieser Simulationen, sondern deren kombinierte Aussage: Wie verhält sich das Hallendach während und nach einem plötzlichen Sommergewitter bzgl. der Temperaturschwankung und der Krafteinwirkungen durch Regen oder Hagel und des Windes?
Die Zweckgebundenheit vieler vorhandener Simulationsprogramme hat zur Folge, dass die Programme aus informationstechnischer Sicht schlecht zu gekoppelten Simulationen zusammengefügt werden können. Oft liegt es daran, dass die Programme entweder von nicht mit den aktuellen Arbeitsweisen, Werkzeugen und Technologien der Informatik vertrauten Personen entwickelt wurden, oder so stark für ein bestimmtes Einsatzgebiet optimiert sind, dass sie sich schlecht erweitern lassen.
Ein Hemmnis für den Einsatz von Simulationen ist unter anderem, dass die Initiatoren der Simulation oft nur über eingeschränkte Programmierkenntnisse verfügen \cite{kendall}. Dies führt dazu, dass entweder das Programmieren erst erlernt werden muss oder auf externe Entwickler zugegriffen werden muss. Ersteres ist meist sehr zeitaufwändig und oft frustrierend, da in dieser Zeit keine Forschung im eigentlichen Fachgebiet betrieben werden kann. Letzteres resultiert in zusätzlichen Kosten und verlangsamter Entwicklung, da ein erhöhter Kommunikationsaufwand zu erwarten ist. Weiterhin sind Probleme und Missverständnisse zu erwarten, die während der Kommunikation aufgrund mangelnder Expertise im Fachgebiet des jeweiligen Gegenübers auftreten.
Motivation
Aus der oben beschriebenen Situation leiten sich verschiedene wünschenswerte Eigenschaften von Simulationen ab. Eine Computer-basierte Simulation soll:
- die Wirklichkeit möglichst gut abbilden
- daher viele Außeneinflüsse simulieren können
- von Wissenschaftlern mit wenig bis gar keinen Programmierkenntnissen möglichst mit Unterstützung grafischer Hilfsmittel erstellt werden können
- einen klar erkennbaren Ablauf verfolgen. \end{itemize}
Diese Eigenschaften können den Einsatz von Simulationen in Gebieten fördern, in denen sie bisher wenig oder gar nicht eingesetzt werden.
Aufgabe dieser Arbeit
Um die oben genannten Eigenschaften umzusetzen ist es wichtig, dass vorhandene Simulationsprogramme miteinander kombiniert weiterverwendet werden können. Eine Kombination setzt voraus, dass vorhandene Simulationsanwendungen über standardisierte Schnittstellen und Datenformate verfügen. Die Problemstellung bezüglich der Datenformate ist häufig innerhalb einer Wissenschaftsdisziplin bereits in großen Teilen gelöst. Die Schaffung von Datenformaten für interdisziplinäre Zusammenarbeit ist nicht Teil dieser Arbeit.
Diese Arbeit befasst sich mit der Erstellung einer einheitlichen und möglichst generischen Schnittstelle, über die die Simulationsprogramme angesprochen werden können. Die Kombination der einzelnen Simulationskomponenten kann dann durch Verwendung von Prozessmodellierungssprachen umgesetzt werden, wie zum Beispiel der Business Process Execution Language (BPEL), beschrieben in Abschnitt 2.2.4.
Die Schnittstelle soll möglichst abstrakt und plattformübergreifend gehalten sein, daher werden für die Implementierung der Ziele dieser Arbeit Web Services für die Schnittstelle verwendet, die in Abschnitt 2.1.2 erläutert werden. Die Web Services Description Language (WSDL), beschrieben in Abschnitt 2.1.2, erlaubt die abstrakte Beschreibung von Schnittstellen sowie die konkrete Angabe von Adressierung und Kommunikationsparametern von Implementierungen dieser Schnittstellen.
Weiterhin soll die Schnittstelle eine grafische Erstellung komplexer Simulationen unterstützen. Das grafische Modellierungswerkzeug ist jedoch nicht Aufgabe dieser Arbeit.
Neben der Schnittstelle selbst soll eine Laufzeitumgebung erstellt werden, in der die Schnittstelle, die verwendeten Simulationsanwendungen, sowie die Workflow-Umgebung ausgeführt werden können.
|