Entwurf eines Java-Programmsystems zur Eingabe von Modellen
©1998
Diplomarbeit
77 Seiten
Zusammenfassung
Inhaltsangabe:Zusammenfassung:
Die vorliegende Diplomarbeit ist Bestandteil des Forschungsprojektes SACOM zur Synthese und Konsistenzprüfung komplexer modular-hierarchischer Ökosystemmodelle. Im Rahmen des Forschungsprojektes wurde die universelle Modellbeschreibung META entwickelt und implementiert, mit deren Hilfe Simulationsmodelle wergzeugneutral beschrieben werden können. Die Nutzung der META-Modelle erfolgt durch eine Konvertierung in die Darstellung eines Simulationssystems. Für diese Aufgabe existiert für eine Reihe von Simulationssystemen ein Transformator.
In dieser Arbeit wurde ein interaktives Java-Eingabesystem zur Erfassung und Veränderung von Basisprozessen, die in einer mathematischen Notation vorliegen, entwickelt, implementiert und getestet. Die Abspeicherung der Modelle erfolgt in der META-Darstellung.
Inhaltsverzeichnis:Inhaltsverzeichnis:
1.Aufgabenstellung5
2.Einleitung7
2.1Das Forschungsprojekt SACOM7
2.2Die Modelldarstellungen MIF und META8
3.Vorbereitende Betrachtungen11
3.1Eingabe von Modellen - Stand und Entwicklung11
3.2Java13
3.3Nutzung einer SQL-Beschreibung als Modelldarstellung13
3.4META16
3.4.1Ein Beispielmodell in META17
3.4.2META-Weiterentwicklung26
3.4.3Java META27
3.5Entwurf des Eingabesystems28
4.Die Realisierung des Eingabesystems31
4.1Einführung31
4.2Form der Eingabe31
4.3Eingabe der Modellgrößen33
4.3.1Eingabe von Gültigkeitsbereichen und Vorbelegungen36
4.4Eingabe der Modellgleichungen und -funktionen40
4.4.1Beschreibung der Eingabekomponenten41
4.4.2Vorgehensweise zur Eingabe48
4.5Laden und Speichern von Modellen56
4.6Probleme bei der Realisierung59
5.Test des Eingabesystems61
6.Zusammenfassung und Ausblick63
6.1Zusammenfassung63
6.2Ausblick64
7.Literaturverzeichnis65
Abbildungsverzeichnis69
Tabellenverzeichnis69
Anhang A71
Gegenüberstellung META - JMETA71
Anhang B73
Implementierungsunterschiede META - JMETA73
B.1Rückgabeparameter:73
B.2variable Parameteranzahl:73
B.3Typumwandlung:77
Anhang C78
Bestandteile des Java-Programmsystems78
Liste aller Klassen des Eingabesystems78
Anhang D81
Programm ModelServer81
Die vorliegende Diplomarbeit ist Bestandteil des Forschungsprojektes SACOM zur Synthese und Konsistenzprüfung komplexer modular-hierarchischer Ökosystemmodelle. Im Rahmen des Forschungsprojektes wurde die universelle Modellbeschreibung META entwickelt und implementiert, mit deren Hilfe Simulationsmodelle wergzeugneutral beschrieben werden können. Die Nutzung der META-Modelle erfolgt durch eine Konvertierung in die Darstellung eines Simulationssystems. Für diese Aufgabe existiert für eine Reihe von Simulationssystemen ein Transformator.
In dieser Arbeit wurde ein interaktives Java-Eingabesystem zur Erfassung und Veränderung von Basisprozessen, die in einer mathematischen Notation vorliegen, entwickelt, implementiert und getestet. Die Abspeicherung der Modelle erfolgt in der META-Darstellung.
Inhaltsverzeichnis:Inhaltsverzeichnis:
1.Aufgabenstellung5
2.Einleitung7
2.1Das Forschungsprojekt SACOM7
2.2Die Modelldarstellungen MIF und META8
3.Vorbereitende Betrachtungen11
3.1Eingabe von Modellen - Stand und Entwicklung11
3.2Java13
3.3Nutzung einer SQL-Beschreibung als Modelldarstellung13
3.4META16
3.4.1Ein Beispielmodell in META17
3.4.2META-Weiterentwicklung26
3.4.3Java META27
3.5Entwurf des Eingabesystems28
4.Die Realisierung des Eingabesystems31
4.1Einführung31
4.2Form der Eingabe31
4.3Eingabe der Modellgrößen33
4.3.1Eingabe von Gültigkeitsbereichen und Vorbelegungen36
4.4Eingabe der Modellgleichungen und -funktionen40
4.4.1Beschreibung der Eingabekomponenten41
4.4.2Vorgehensweise zur Eingabe48
4.5Laden und Speichern von Modellen56
4.6Probleme bei der Realisierung59
5.Test des Eingabesystems61
6.Zusammenfassung und Ausblick63
6.1Zusammenfassung63
6.2Ausblick64
7.Literaturverzeichnis65
Abbildungsverzeichnis69
Tabellenverzeichnis69
Anhang A71
Gegenüberstellung META - JMETA71
Anhang B73
Implementierungsunterschiede META - JMETA73
B.1Rückgabeparameter:73
B.2variable Parameteranzahl:73
B.3Typumwandlung:77
Anhang C78
Bestandteile des Java-Programmsystems78
Liste aller Klassen des Eingabesystems78
Anhang D81
Programm ModelServer81
Leseprobe
Inhaltsverzeichnis
ID 6125
Thomas Krause
Entwurf eines Java-Programmsystems
zur Eingabe von Modellen
Diplomarbeit
an der Universität Rostock
Fachbereich Informatik
6 Monate Bearbeitungsdauer
Dezember 1998 Abgabe
ID 6125
Krause, Thomas: Entwurf eines Java-Programmsystems zur Eingabe von Modellen
Hamburg: Diplomica GmbH, 2002
Zugl.: Rostock, Universität, Diplomarbeit, 1998
Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte,
insbesondere die der Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von
Abbildungen und Tabellen, der Funksendung, der Mikroverfilmung oder der
Vervielfältigung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen,
bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine Vervielfältigung
dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen
der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik
Deutschland in der jeweils geltenden Fassung zulässig. Sie ist grundsätzlich
vergütungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des
Urheberrechtes.
Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in
diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme,
dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei
zu betrachten wären und daher von jedermann benutzt werden dürften.
Die Informationen in diesem Werk wurden mit Sorgfalt erarbeitet. Dennoch können
Fehler nicht vollständig ausgeschlossen werden, und die Diplomarbeiten Agentur, die
Autoren oder Übersetzer übernehmen keine juristische Verantwortung oder irgendeine
Haftung für evtl. verbliebene fehlerhafte Angaben und deren Folgen.
Diplomica GmbH
http://www.diplom.de, Hamburg 2002
Printed in Germany
2
Zusammenfassung
Die vorliegende Diplomarbeit ist Bestandteil des Forschungsprojektes SACOM zur
Synthese und Konsistenzprüfung komplexer modular-hierarchischer Ökosystemmo-
delle. Im Rahmen des Forschungsprojektes wurde die universelle Modellbeschreibung
META entwickelt und implementiert, mit deren Hilfe Simulationsmodelle wergzeug-
neutral beschrieben werden können. Die Nutzung der META-Modelle erfolgt durch
eine Konvertierung in die Darstellung eines Simulationssystems. Für diese Aufgabe
existiert für eine Reihe von Simulationssystemen ein Transformator.
In dieser Arbeit wurde ein interaktives Java-Eingabesystem zur Erfassung und
Veränderung von Basisprozessen, die in einer mathematischen Notation vorliegen,
entwickelt, implementiert und getestet. Die Abspeicherung der Modelle erfolgt in der
META-Darstellung.
Specification and Implementation of a Java-Program-System
for Entering and Editing Simulation Models
Abstract
This diploma thesis is part of the research project SACOM for synthesis and con-
sistency check of complex modular-hierarchical models of ecosystems. Within this
research project a universal model description, called META, was developed and im-
plemented. With the help of this description it is possible to describe simulation mod-
els in a tool independent way. The use of models in META follows a convertation to
the representation of a simulation system. For several simulation systems a transfor-
mation tool already exists.
In this paper an interactive Java-program-system for entering and modifying basic
processes, which exist in a mathematical notation, was developed, implemented and
tested. The saving of a model is realised in the META representation.
CR-Classification:
I.6.7, I.6.5, I.6.4
Keywords:
Simulation Support Systems, Model Development, Model
Validation and Analysis
3
Inhaltsverzeichnis
1.
AUFGABENSTELLUNG ... 5
2.
EINLEITUNG ... 7
2.1.
D
AS
F
ORSCHUNGSPROJEKT
SACOM ... 7
2.2.
D
IE
M
ODELLDARSTELLUNGEN
MIF
UND
META... 8
3.
VORBEREITENDE BETRACHTUNGEN... 11
3.1.
E
INGABE VON
M
ODELLEN
- S
TAND UND
E
NTWICKLUNG
... 11
3.2.
J
AVA
... 13
3.3.
N
UTZUNG EINER
SQL-B
ESCHREIBUNG ALS
M
ODELLDARSTELLUNG
... 13
3.4.
META... 16
3.4.1. Ein Beispielmodell in META ... 17
3.4.2. META-Weiterentwicklung ... 26
3.4.3. Java META... 27
3.5.
E
NTWURF DES
E
INGABESYSTEMS
... 28
4.
DIE REALISIERUNG DES EINGABESYSTEMS... 31
4.1.
E
INFÜHRUNG
... 31
4.2.
F
ORM DER
E
INGABE
... 31
4.3.
E
INGABE DER
M
ODELLGRÖßEN
... 33
4.3.1. Eingabe von Gültigkeitsbereichen und Vorbelegungen ... 36
4.4.
E
INGABE DER
M
ODELLGLEICHUNGEN UND
-
FUNKTIONEN
... 40
4.4.1. Beschreibung der Eingabekomponenten... 41
4.4.2. Vorgehensweise zur Eingabe ... 48
4.5.
L
ADEN UND
S
PEICHERN VON
M
ODELLEN
... 56
4.6.
P
ROBLEME BEI DER
R
EALISIERUNG
... 59
5.
TEST DES EINGABESYSTEMS... 61
6.
ZUSAMMENFASSUNG UND AUSBLICK... 63
6.1.
Z
USAMMENFASSUNG
... 63
6.2.
A
USBLICK
... 64
7.
LITERATURVERZEICHNIS... 65
Inhaltsverzeichnis
4
ABBILDUNGSVERZEICHNIS ...69
TABELLENVERZEICHNIS ...69
ANHANG A ...71
G
EGENÜBERSTELLUNG
META - JMETA ...71
ANHANG B ...73
I
MPLEMENTIERUNGSUNTERSCHIEDE
META - JMETA ...73
B.1
R
ÜCKGABEPARAMETER
: ...73
B.2
VARIABLE
P
ARAMETERANZAHL
: ...73
B.3
T
YPUMWANDLUNG
: ...77
ANHANG C ...78
B
ESTANDTEILE DES
J
AVA
-P
ROGRAMMSYSTEMS
...78
L
ISTE ALLER
K
LASSEN DES
E
INGABESYSTEMS
...78
ANHANG D ...81
P
ROGRAMM
M
ODEL
S
ERVER
...81
Aufgabenstellung
5
1. Aufgabenstellung
Die Diplomarbeit ist Bestandteil des Forschungsprojektes SACOM. In diesem Pro-
jekt wurden eine universelle Modellbeschreibung META sowie eine Modellbeschrei-
bungssprache MIF (Model Interchange Format) entwickelt und implementiert. Mittels
der META-Darstellung werden Simulationsmodelle werkzeugneutral beschrieben. Die
zugrundeliegenden Modelle sind ökologische Modelle.
Die Aufgabe der Diplomarbeit besteht in der Entwicklung, Implementation und
Erprobung eines Programmsystems zur interaktiven Eingabe von Modellen nach vor-
gegebenen Regeln (Syntax und Semantik). Die Modelle liegen zur Eingabe in der
normalen, bekannten mathematischen Notation vor, ergänzt um Angaben für weitere
dokumentierende Informationen (z.B. für Zustandsgrößen, Parameter: Dimensionen,
Wertebereiche).
Die bei der Eingabe zu berücksichtigenden Komponenten der Modelle - die ma-
thematischen Ausdrücke - sind dem vorliegenden provisorischen Modelldokumentati-
onssystem ECOBAS zu entnehmen.
Für die Eingabe der Modellgleichungen ist ein Formeleditor zu entwickeln. Sollten
vor der Modelleingabe bereits Modellgrößen (Parameter, Zustandsvariablen, Konstan-
ten, In- und Outputvariablen) beschrieben worden sein, so sind diese dem Nutzer im
Modelleditor zu Verfügung zu stellen. Andererseits sind diese Größen dem Nutzer für
ihre ergänzende Beschreibung zu Verfügung zu stellen, wenn zuvor die Modellglei-
chungen im Editor definiert wurden. Das verlangt eine Zerlegung der Modellglei-
chungen in Morpheme und ihre geeignete Abspeicherung.
Die vollständige Eingabe soll interaktiv im WWW erfolgen. Die rechnerinterne
Abspeicherung erfolge in einem Format, das es erlaubt, sowohl in die MIF- als auch in
die META-Darstellung zu transformieren. Es ist zu überlegen, ob dafür eine SQL-
Beschreibung geeignet ist. Dadurch könnte das Modell auch sofort durch ein Daten-
banksystem übernommen werden.
Das Eingabesystem soll von Nichtinformatikern genutzt werden, d.h. die Benut-
zungsoberfläche muß besonders benutzerfreundlich gestaltet sein, wobei der Nutzer
durch den Dialog so zu führen ist, daß alle notwendigen Angaben abgefragt werden
(kontexsensitiv). META und MIF verlangen eine vollständige und fehlerfreie Modell-
darstellung. Fehlerroutinen sind deshalb im entsprechenden Rahmen zu implementie-
ren.
Die Realisierung muß in Java erfolgen. Eine den Ansprüchen nicht genügende Pro-
grammversion in Java-Script, die an der Universität Gesamthochschule Kassel, FB
Landwirtschaft entwickelt wurde, liegt als grobe Richtschnur vor, sie kann im WWW
unter http://dino.wiz.uni-kassel.de/ecobas/ecobas.html eingesehen und benutzt wer-
den.
Bestandteil des For-
schungsprojekts SACOM
Programmsystem zur inter-
aktiven Eingabe von Model-
len
Formeleditor
Rechnerinterne Abspeiche-
rung
Benutzerfreundliche Ober-
fläche
Realisierung in Java
Einleitung
7
2. Einleitung
2.1.
Das Forschungsprojekt SACOM
Das DFG-Projekt SACOM beinhaltet die Synthese und Konsistenzprüfung kom-
plexer modular-hierarchischer Ökosystemmodelle und wird als gemeinschaftliches
Forschungsprojekt von der Universität Rostock, FB Informatik und der Universität
Gesamthochschule Kassel, FB Landwirtschaft durchgeführt.
Das Projekt hat die Aufgabe, die Funktionalität eines Dokumentationssystems für
ökologische Prozeßmodelle - ECOBAS - zu erweitern. Die wesentlichen innovativen
Erweiterungen umfassen:
· die automatische Generierung von komplexen Modellen aufgrund von Mo-
dellhypothesen
· den Anschluß von Simulationssystemen
· die Eingabe und Editierung von Modellen sowie die Überprüfung von Mo-
dellkonsistenzen (syntaktische und semantische).
Abb. 2.1: Struktur des Forschungsprojektes SACOM
Das Ziel eines ökologischen Modells wird in einer Modellhypothese beschrieben,
die dann als Basis zur Modellierung benutzt wird. Ihre Beschreibung und die Algo-
rithmen zur Modellierung, einschließlich von Konsistenzprüfungen, sollen entwickelt
werden. Die Modellhypothesen enthalten eine statische Komponente, sie beschreibt
im wesentlichen die Input-Output-Relationen, Modellstrukturen und inhaltliche Ziel-
stellungen und eine dynamische Komponente, die das geforderte dynamische Modell-
Synthese und Konsistenz-
prüfung modular-
hierarchischer Ökosystem-
modelle
Modellhypothese als Basis
zur Modellierung
ECOBAS
database
ECOBAS
documentation
program
search
interface
WWW
transformation
META
META
file
model editor
JAVA input system
ECOBAS
MIF
files
MIF2META
model
generator
analysator
model
converter
META-
SIMULINK
model
converter
META-
SIMPLEX II
model
converters
META-
...
text-processing
T eX, html, (rtf)
simulation
system
MATLAB-
SIMULINK
simulation
system
SIMPLEX II
simulation
systems
...
additional
input
information
GIS
DB
Einleitung
8
verhalten definiert. Im Projekt werden Methoden zur Überprüfung beider Hypothe-
senkomponenten entwickelt.
Zum Anschluß unterschiedlicher Simulationssysteme wurde die system- und platt-
formunabhängige Modelldarstellung META entwickelt, die gestattet, daß das Modell
durch eine einfache Transformation in jede, für die verschiedenen angeschlossenen
Simulationssysteme bereits existierende, Simulationssprache transformiert werden
kann. Bereits entwickelt wurde der Anschluß der Simulationssysteme MAT-
LAB/SIMULINK sowie SIMPLEX II (siehe Abb. 2.1, noch nicht realisierte Kompo-
nenten sind dort durch unterbrochene Linien dargestellt).
Die vorliegende Diplomarbeit beschäftigt sich mit der Entwicklung und Realisie-
rung eines Editors für ökologische Basisprozesse (in Abb. 2.1 grau unterlegt), die
durch die Angabe zusätzlicher Informationen (neben der rein mathematischen Be-
schreibung) zur Erstellung komplexerer Modelle koppelbar sein sollen.
Bei der Dokumentation der Prozesse wird der Anwender angehalten, den Prozeß
genau zu beschreiben. Dabei werden nicht nur die Modellgleichungen notiert, sondern
auch Angaben zur Gültigkeit und dem Einsatzgebiet des Prozesses sowie Literatur-
hinweise, die den Prozeß näher beschreiben. Ziel der Dokumentation ist eine vollstän-
dige Beschreibung des ökologischen Prozesses. Die Anforderungen an eine solche
Beschreibung sind in [B
E
H97
B
] dargelegt.
Eines der Ziele dieser vollständigen Dokumentation ist es, eine Prozeßbeschrei-
bung zur Verfügung zu stellen, mit der es möglich ist, die so beschriebenen Prozesse
sinnvoll zu koppeln und Simulationsexperimente mit den so entstandenen Modellen
durchzuführen.
Für die Darstellung der Kopplung der Prozesse steht ein graphischer Modelleditor
zur Verfügung, mit dem es möglich ist, die Basisprozesse zu Modellen zu kombinie-
ren.
2.2.
Die Modelldarstellungen MIF und META
Im Rahmen des Projektes SACOM entstand an der Universität Gesamthochschule
Kassel das System ECOBAS. Dieses verwirklicht nach [B
E
HG97] das Ziel der Schaf-
fung eines Standards zur Dokumentation von mathematisch notierten ökologischen
Modellen. Hierzu wird eine Datenbank mit den Informationen der mathematischen
Beschreibungen erstellt, die sowohl für die Dokumentation als auch bei der Simulation
der Modelle verwendet werden soll.
system- und plattformunab-
hängige Modelldarstellung
META
Editor für ökologische
Basisprozesse
Dokumentation der Prozes-
se
Kopplung der Prozesse
System ECOBAS
Einleitung
9
Zur Speicherung der Prozesse in der Datenbank wurde die Modelldarstellung MIF
(Model Interchange Format) entwickelt. Wie in [B
E
H97
A
] nachzulesen und in
[B
ENZ
98] demonstriert, werden bei MIF neben den Modellgleichungen, die
· Gewöhnliche Differentialgleichungen,
· Partielle Differentialgleichungen,
· Differenzengleichungen,
· Implizite Gleichungen,
· Algebraische Gleichungen und
· Prozedurale Abläufe
umfassen können, auch Angaben zur Gültigkeit, Einsatzgebiet und Klassifikation des
Modells sowie Hinweise zu Literaturstellen erfaßt. Auf diese Weise können in MIF
ökologische Basisprozesse definiert werden, eine Darstellung von gekoppelten Pro-
zessen ist nicht möglich.
Zur Darstellung von gekoppelten Modellen und einen einfachen Datenaustausch
zwischen den verschiedenen Werkzeugen des Projektes SACOM wie Editoren, Kon-
sistenzprüfern sowie Simulations- und Experimentiersystemen wurde an der Universi-
tät Rostock eine Modellstruktur zum Editieren, Transformieren und Anwenden (ME-
TA) entwickelt. Nach [C
HR
97
A
] verfolgt META daher die Zielstellungen eines ,,Aus-
tauschs eines Modells zwischen verschiedenen Werkzeugen", ,,das Koppeln von Mo-
dellen zu neuen (komplexeren) Modellen" und die Möglichkeit, daß Modelle ,,in Mo-
dellbeschreibungssprachen verschiedener Simulationssysteme transformiert" werden
können.
Der Aufbau von META besteht wie in [C
HR
97
B
] detailliert beschrieben aus einer
baumartigen C++-Klassenstruktur. Diese abstrakte Datenstruktur wird dabei von An-
wendungen, die META nutzen, zur Laufzeit temporär im Arbeitsspeicher aufgebaut
und ist folglich nach Beendigung dieser Programme verloren. Eine externe und damit
permanente Speicherung der Daten ist erst durch das META-Speicherformat möglich.
Das Speicherformat und die zugehörigen Schreib- und Lesemethoden gewährleisten
einen Modellaustausch zwischen den Werkzeugen.
MIF und META sind die beiden zentralen Modelldarstellungen innerhalb des SA-
COM-Projektes, wobei MIF näher an der Dokumentation und META näher an der
Simulation anzusiedeln ist. Mit dem Werkzeug mif2meta besteht die Möglichkeit
einer Konvertierung von MIF-Dateien zu META.
Modelldarstellung MIF
Modellstruktur zum Editie-
ren, Transformieren und
Anwenden (META)
Aufbau von META
Vorbereitende Betrachtungen
11
3. Vorbereitende Betrachtungen
3.1.
Eingabe von Modellen - Stand und Entwicklung
In vielen Fällen steht vor der Eingabe eines Modells bereits das Simulationssystem,
mit dem das Modell simuliert werden soll, fest. In diesen Fällen wird das Modell in
einer von dem Simulationssystem unterstützten Modellbeschreibungssprache erstellt.
Wie bei einem Vergleich einiger dieser Beschreibungssprachen in [B
R
EB93],
[C
ELL
91], [E
LMQ
93], [E
URO
97], [MGA97], [R
ATI
97] und insbesondere in [E
LMQ
96]
deutlich wurde, existieren die unterschiedlichsten Darstellungsarten in der Syntax
dieser Sprachen. Auch hinsichtlich der möglichen Leistungsmerkmale und der nutzba-
ren Beschreibungsmittel unterscheiden sich die verglichenen Modelldarstellungen
ACSL, Dymola, Omola, Modelica und UML teilweise beträchtlich.
Bei der Modellierung werden dann oft Konzepte, die in einer Modellbeschrei-
bungssprache fehlen, durch den Modellierer mit Hilfe unzureichender Mittel und unter
Ausnutzung spezieller Eigenschaften des Simulationssystems nachträglich hinzuge-
fügt.
Zur Darstellung komplexer Systeme in übersichtlicher Form für die Modellierung
und Simulation bedient man sich der Technik der Dekomposition. Dabei wird das
System in einzelne Bestandteile - modulare Komponenten - unterteilt. Diese Kompo-
nenten, im weiteren Text dieser Arbeit auch Basisprozesse genannt, werden dann in
einer hierarchischen Struktur zu einem komplexen Modell zusammengesetzt. Dieses
Prinzip der modular-hierarchischen Modellierung setzt also Teilmodelle voraus, die
durch eine Kopplung zu einem Gesamtmodell integriert werden.
Sowohl in der Industrie als auch in Lehre und Forschung besteht ein großer Bedarf
an Werkzeugen und Methoden zur Kopplung solcher Teilmodelle unterschiedlichster
Herkunft. Die Kopplung kann einerseits als Modellkopplung oder andererseits als
Simulatorkopplung vorgenommen werden. Unter Simulatorkopplung versteht man
dabei die Verschaltung verschiedener Simulatoren miteinander, die während der Si-
mulation Daten austauschen. Diese Vorgehensweise bietet den Vorteil, daß die einzel-
nen Modelle keiner Transformation unterzogen werden müssen. Nachteile sind neben
der Tatsache, daß alle beteiligten Simulatoren einen Datenaustausch untereinander
gestatten müssen, große numerische und zeitliche Probleme bei der Synchronisation
der Simulatoren, die einen Trend in Richtung der Modellkopplung begründen.
Die Modellkopplung bedient sich einer Transformation der Teilmodelle in eine
gemeinsame, von dem gewünschten Simulationssystem unterstützte, Darstellung. Von
Vorteil ist dabei, daß der Kopplungsaufwand bereits vor der eigentlichen Simulation
und nicht während dieser anfällt. Die Kopplung von (Teil-)Modellen verschiedener
Beschreibungsformen ist nicht trivial. Eine automatische Transformation ist durch die
Modellbeschreibungsspra-
chen
fehlende Konzepte einzelner
Modellbeschreibungsspra-
chen
modular-hierarchische
Modellierung
Simulatorkopplung
Modellkopplung
Vorbereitende Betrachtungen
12
oben beschriebene, oft benutzte Technik der Ausnutzung von Eigenschaften eines
Simulationsssytems kaum möglich.
Durch diese Technik werden einem Modell oft auch über die rein mathematische
Beschreibung hinausgehende Informationen, die für die Simulation von Bedeutung
sind, beigefügt. Die Erstellung von Modellen erfolgt in der Syntax der verwendeten
Modellbeschreibungssprache, die meist mehr oder weniger der Syntax einer Pro-
grammiersprache entspricht. Da die Entwicklung und oft auch Eingabe von Modellen
- insbesondere bei den in dem Forschungsprojekt SACOM betrachteten ökologischen
Modellen - häufig von Nichtinformatikern erfolgt, ist das erforderliche Wissen über
Programmiersprachen teilweise nicht vorhanden oder muß sich erst angeeignet wer-
den.
An dieser Stelle soll das zu entwickelnde Programmsystem dieser Arbeit ansetzen,
das eine Eingabe von Basisprozessen ermöglichen soll, bei denen ausschließlich die
mathematische Beschreibung eines Modells erfaßt wird. Die Eingabe soll dabei über
Masken erfolgen, die sich möglichst nahe an der mathematischen und naturwissen-
schaftlichen Notation orientieren. Die Abspeicherung von Modellen muß dabei in
einem in eine der beiden Modellbeschreibungen des Gesamtprojektes SACOM trans-
formierbaren Format erfolgen. Durch existierende Werkzeuge für die werkzeugneutra-
le META-Darstellung wird dadurch die Möglichkeit einer Modellkopplung gewähr-
leistet.
Die Entwicklung der Modellierung schreitet ebenfalls in die Entwicklung und Nut-
zung von einheitlichen, simulationssystemunabhängigen Sprachen voran. Ein Beispiel
ist die Sprache VHDL-AMS (IEEE par 1076.1), die z.B. von Automobilherstellern
und -zulieferern aufgrund einer Studie [H
ESS
97] zum Modellaustausch favorisiert
wird. Durch die Umstellung vorhandener Modelle und die Notwendigkeit der Erler-
nung der Sprache ist die Einführung einer neuen Sprache sehr teuer. Eine universelle
Sprache muß zudem dem Vollständigkeitsanspruch genügen, wodurch eine hohe
Komplexität auftritt.
Aus diesen Gründen haben auch alternative Ansätze gute Chancen. Stellvertretend
sei an dieser Stelle das Simulation Module Interface (SMI) genannt. Dieses Modul-
konzept stellt eine offene Schnittstellenbeschreibung zur Verfügung, so daß sich jedes
SMI-Modul als Laufzeitbibliothek mit genormten exportierten Funktionsaufrufen dar-
stellt. Durch diese Form können alle Simulatoren mit offenen C-Schnittstellen als
SMI-Simulatoren fungieren, zudem ist ein Modellaustausch auf ausführbare Module
beschränkbar, was in industrieller Umgebung ein hohes Maß an Investitionsschutz
garantiert [R
UZI
97].
Erstellung von Modellen
Programmsystem zur Ein-
gabe von Basisprozessen
Entwicklung der Modellie-
rung
alternative Ansätze
Vorbereitende Betrachtungen
13
3.2.
Java
Die Realisierung des in dieser Diplomarbeit vorgestellten Programmsystems zur
Eingabe von Modellen erfolgt in Java. Vor Beginn der Implementation war zu ent-
scheiden, in welcher Version des Java Development Kit (JDK) die Anwendung reali-
siert werden sollte. Zur Zeit der Entwicklung standen die sich insbesondere in der
Behandlung von Ereignissen (Tastatur-, Mausereignisse, usw.) stark unterscheidenden
Versionen 1.0.x und 1.1.x zur Verfügung. Dabei wird das ältere Ereignismodell der
Version 1.0 auch in der Version 1.1.x unterstützt, gilt dort aber als veraltet.
Bei der Entscheidung dieser Frage ist zunächst einmal die Unterscheidung in ei-
genständige Java-Programme und sogenannte Applets, d.h. Java-Programme, die in-
nerhalb eines Browsers ablaufen, entscheidend. Das zu entwickelnde Programmsys-
tem dieser Arbeit soll unter anderem im WWW ablaufen, es muß also ein Applet ent-
wickelt werden.
Da das Programmsystem auf möglichst vielen verschiedenen Browsern verschie-
dener Betriebssysteme ohne zusätzliche Installationen laufen soll, wurde die Entschei-
dung zugunsten der älteren, aber von den meisten zur Zeit verwendeten Browsern
unterstützten, Version 1.0 getroffen. Gemeint ist hier die Nutzung des Funktionsum-
fangs der Version 1.0, nichtsdestotrotz wurde das Programmsystem unter Verwendung
des JDK 1.1.6 entwickelt, auf die neu hinzugekommene Funktionalität ab der Version
1.1 jedoch verzichtet. Java-Programme, die Gebrauch von dem vollen Funktionsum-
fang des JDK 1.1.x machen, laufen auf heutigen Browsern (z.B. Netscape 4.0x) häufig
nur durch die Installation von Zusatzprogrammen (z.B. Plug-Ins).
Wie durch das Studium entsprechender Fachzeitschriften und Recherchen im In-
ternet (z.B. [S
UN
98]) deutlich wird, existieren derzeit die genannten Versionen paral-
lel nebeneinander; die Version 1.1 eher für eigenständige Java-Anwendungen, die
Version 1.0 eher für Java-Applets. Mit der Bereitstellung von voll JDK 1.1-fähigen
Browsern wird sich dieses Nebeneinander zunehmend zugunsten der Version 1.1 ver-
lagern.
Außerdem wurde bei der Implementation auf die Verwendung einer integrierten
Java-Entwicklungsumgebung, wie sie z.B. in [G
EMA
98] vorgestellt werden, verzich-
tet, da diese oft eigene Bibliotheken mit der Java-Funktionalität mitbringen, was wie-
derum die Portabilität der so erstellten Anwendungen einschränkt.
3.3.
Nutzung einer SQL-Beschreibung als Modelldarstellung
Entsprechend der Aufgabenstellung wurde die Eignung einer SQL-Darstellung für
die Modelldarstellung überprüft. Dabei galt es zunächst die Vor- und Nachteile von
SQL selber und danach in einem zweiten Schritt die Nutzung von SQL unter Java, in
der der Modelleditor realisiert wird, zu untersuchen.
Realisierung in Java
Unterscheidung in eigen-
ständige Java-Programme
und Applets
Browserunterstützung
Nebeneinander der JDK-
Versionen
Java-Entwicklungsumge-
bung
Vorbereitende Betrachtungen
14
Nach dem Studium entsprechender Fachliteratur wie [A
CHI
90], [D
A
D
A
97] und
[V
O
W
I
88] kristallierten sich folgende Vor- und Nachteile für eine Nutzung als Mo-
dellschnittstelle heraus:
Vorteile
· Modelle können sofort durch ein Datenbanksystem übernommen werden.
· Wert NULL ist für jeden Datentyp zulässig (d.h. es wurde noch kein Wert zu-
geordnet).
Nachteile
· Abfragen von Tabellen mit NULL-Werten können problematisch sein.
· nicht alle Datentypen einer Programmiersprache stehen zur Verfügung und
daraus resultierend.
· nur sehr eingeschränkte Möglichkeiten der Plausibilitätsüberprüfung Reali-
sierung der Überprüfung müßte direkt in Java erfolgen.
Für die Nutzung des SQL-Formats (und auch anderer Datenbankformate) stellt Ja-
va die Datenbankschnittstelle JDBC (Java DataBase Connectivity, [S
UN
98]) zur Ver-
fügung. Die Anbindung der Java-Anwendung zur Datenbank vollzieht sich nach [G
E-
MA
97] in zwei Stufen (siehe Abb. 3.1): Die erste Stufe verbindet die Anwendung mit
dem JDBC-Treiber-Manager, der die Verbindung zu dem eigentlichen JDBC-Treiber
realisiert. Der Treiber-Manager kann dabei auch mehrere JDBC-Treiber verwalten,
mit denen er Informationen und Daten austauscht.
JDBC-Treiber existieren in vier verschiedenen Ausprägungen, die sich in der Art
ihrer Kommunikation mit der Datenbank unterscheiden:
· Der Treiber verwendet eine Netzwerk-Verbindung. Dabei werden JDBC-
Anweisungen in ein netzbasiertes, datenbankunabhängiges Protokoll übersetzt.
Der Transfer dieses Protokolls zur Datenbank erfolgt durch eine Middleware-
Schicht oder den Datenbank-Server. Derartige Treiber werden von vielen Da-
tenbankherstellern angeboten. Bei dieser Variante sind auf der Client-Seite
keine zusätzlichen Installationen erforderlich, sie ist zudem die effektivste und
schnellste Variante.
· Der JDBC-Treiber stellt eine Brücke für den Zugriff auf alle vorhandenen
ODBC-Treiber dar. Dieser Treiber wandelt JDBC-Anweisungen in ODBC-
Anweisungen um, die dann von der Datenbank verarbeitet werden. Hierbei
müssen jedoch auf der Client-Seite die jeweiligen betriebssystemabhängigen
ODBC-Treiber installiert werden.
· Der Treiber verwendet eine spezielle Datenbank-API. Dabei werden JDBC-
Aufrufe direkt in Aufrufe der jeweils verwendeten Datenbank-API (z.B. von
Oracle, Sybase, Informix, DB2, usw.) umgesetzt. Bei dieser Vorgehensweise
Datenbankschnittstelle
JDBC
JDBC-Treiber
Vorbereitende Betrachtungen
15
sind wie bei der Kommunikation mit ODBC-Treibern ebenfalls meist platt-
formabhängige Binärdateien (Datenbank-API-Bibliotheken) auf der Client-
Seite erforderlich.
Abb. 3.1: Konzept von JDBC (Quelle: JDBC Guide, Sun Microsystems, Inc)
· Die letzte Variante ist ein rein in Java realisierter Treiber, der eine Datenbank
direkt anspricht, d.h. die Implementation sämtlicher Lese-, Schreib- und Aus-
wertungsaufgaben zur Verfügung stellt. Diese Art von Treibern eignet sich
insbesondere für einfache Datenformate (z.B. DBF), für die nur wenige Daten-
konvertierungen erforderlich sind.
Das Ansprechen von SQL erfolgt in Java durch eine eigene Programmierschnitt-
stelle. Die Rückgabe von SQL-Abfragen erfolgt in einem ResultSet-Objekt. Bei meh-
reren Tupeln wird ein Zeiger (Cursor) definiert, der auf das aktuelle Tupel zeigt. Die-
ser Cursor kann in der Ergebnismenge lediglich vorwärts bewegt werden.
Bei der Benutzung von JDBC sind weiterhin einige Besonderheiten zu beachten,
die im folgenden kurz erläutert werden sollen. JDBC wurde als ,,low-level-API" zum
SQL-Einsatz entworfen. Für größere Projekte wird daher die Erstellung weiterer APIs
erforderlich. Außerdem ist bei der Verwendung von JDBC zu beachten, daß einige
JDBC-Treiber der Datenbankhersteller teilweise noch fehlerhaft sind oder daß nur
ungenügende Informationen über einen Datenbank-Server zur Verfügung stehen. Als
letzte Einschränkung sei noch erwähnt, daß Java-Entwicklungsumgebungen (z.B. J++)
JDBC nicht nutzen können, da sie ein anderes Aufrufschema für native Java-
Methoden, d.h. Funktionsaufrufe in der Sprache C, verwenden.
Als Fazit einer Verwendung von SQL als Modelldarstellung in einer Java-
Anwendung bleibt festzuhalten, daß die Nachteile von SQL aber insbesondere die in
SQL in Java
JDBC-Probleme
Fazit
JDBC-Net
Driver
Java Application
JDBC Driver Manager
Driver
B
Driver
A
ODBC and
DB Drivers
JDBC-ODBC
Bridge Driver
JDBC API
· · ·
JDBC
Drivers
Proprietary database access protocols
JDBC Midd-
leware pro-
tocol
Vorbereitende Betrachtungen
16
den aktuellen Versionen des Java Development Kits (JDK 1.0/1.1) noch nicht zufrie-
denstellende Datenbankanbindung bzw. die dabei auftretenden Probleme diese Vorge-
hensweise als nicht sinnvoll erscheinen läßt.
3.4.
META
Mit der existierenden universellen Modellstruktur zum Editieren, Transformieren
und Anwenden von Modellen, besteht bereits eine umfangreiche Schnittstelle zur Mo-
delldarstellung. Diese - durch den Namen angedeutete - Meta-Modellbeschreibung
geht über andere Modelldarstellungen hinaus und ist unabhängig von einzelnen Simu-
lationssystemen. Aus diesen Gründen wird META für die Modelldarstellung des Ein-
gabesystems verwendet werden. Dadurch können die mit dem Eingabesystem erstell-
ten Modelle ohne weitere Konvertierung von den bereits für META bestehenden
Werkzeugen verarbeitet werden.
Wie bereits in der Einleitung kurz angedeutet, ist die universelle Modellbeschrei-
bung META in Form einer C++-Klassenbibliothek verwirklicht. Die zentrale Klasse
dieser Bibliothek heißt META_Model. Mit Hilfe dieser Klasse lassen sich sämtliche
Bestandteile eines Modells abfragen und zuweisen. Dazu gehören Name und Typ des
Modells, eine verbale Modellbeschreibung, Modellgrößen, Modellgleichungen, Ereig-
nisse, Tabellenfunktionen und nutzerdefinierte Funktionen. Für die Nutzung modular-
hierarchischer Modelle können zudem Beziehungen zu anderen Modellen hergestellt
werden.
Für Komponenten, die mehrfach in einem Modell vorkommen können, wird der
abstrakte Datentyp Liste verwendet, so daß abgesehen von der Beschränkung des
Speicherplatzes beliebig große Modelle erstellt werden können.
Der Realisierung von META besteht aus den folgenden wichtigsten Klassen sowie
weiteren diese aufgliedernden Unterklassen, was im META User's Guide [C
HR
97
B
]
detailliert beschrieben ist:
META_Model:
zentrale Klasse der Modellbeschreibung mit Ver-
wendung von Listen für Modellbestandteile, deren
Anzahl variabel ist.
META_Variable:
Beschreibung einer Modellgröße (Parameter, In-
put-, Output-, Zustands- oder algebraische Größe)
mit Informationen über Einheit, Gültigkeitsberei-
che (Definitionsbereich), Default-Wert sowie einer
verbalen Beschreibung. Außerdem lassen sich
Vektor- und Matrixgrößen definieren.
META_Equation:
Beschreibung einer Modellgleichung. Es lassen
sich einfache Gleichungen, implizite Gleichungen,
Gleichungsblöcke (mehrere Gleichungen, deren
Modellstruktur zum Editie-
ren, Transformieren und
Anwenden von Modellen
C++-Klassenbibliothek
Realisierung von META
Details
- Seiten
- Erscheinungsform
- Originalausgabe
- Erscheinungsjahr
- 1998
- ISBN (eBook)
- 9783832461256
- ISBN (Paperback)
- 9783838661254
- Dateigröße
- 1 MB
- Sprache
- Deutsch
- Institution / Hochschule
- Universität Rostock – Informatik
- Erscheinungsdatum
- 2014 (April)
- Note
- 2,0
- Schlagworte
- modellierung simulation ökosystem simulationssystem modellbeschreibung
- Produktsicherheit
- Diplom.de