KOMET im Detail - EUS-Kern
|
Abbildung 1: Klassendiagramm des Kernels
(Klicken Sie ins Bild, um es zu Vergrößern)
|
Aufgabe des EUS-Kerns ist es, zwischen den Subsystemen der
KOMET-Architektur zu vermitteln (Schichtenorientierung). Dies wird
sichergestellt, indem der EUS-Kern verschiedene Dienste anbietet, die von
den Komponenten der Subsysteme angefragt werden (Dienstorientierung).
Dabei sendet eine Komponente eine Dienstanfrage an den EUS-Kern, der diese
verarbeitet, eine Dienstantwort generiert und an die anfragende Komponente
zurücksendet. Als gemeinsame Sprache, in der Dienstanfragen und
Dienstantworten codiert werden, dient KometML (siehe
hier).
Der EUS-Kern stellt folgende Dienste zur Verfügung:
- Szenario-Informations-Dienst
Beim Szenario-Informations-Dienst werden grundlegende
Solver-Einstellungen ausgelesen. Dabei kann es sich beispielsweise
um die Durchforstungsstrategie oder die Art der Holzernte
(motormanuell, mechanisiert) handeln.
- Szenario-Schreib-Dienst
Der Szenario-Schreib-Dienst schreibt die geänderten Daten
zurück in die Datenbank.
- Solverdaten-Schreib-Dienst
Die Solver können einzeln aktiviert und deaktiviert werden.
Diese Informationen spreichert der Solverdaten-Schreib-Dienst in der
Datenbank.
- Solver-Informations-Dienst
Der Solver-Informations-Dienst liest die im REUS vorhandenen Solver
aus und ordnet sie auf Grund ihrer Abhängigkeiten in Ebenen.
Solver einer Ebene sind von Informationen abhängig, die Solver
einer niedrigeren Ebene produzieren.
- Daten-Informations-Dienst
Der Daten-Informations-Dienst liefert Informationen über
Solver-Daten. Dabei werden Ontologie-Angaben wie Objektklasse und
Zugehörigkeit zu einer Behälterklasse (siehe
hier) an den EUS-Kern gesendet,
welcher Tabellennamen, Spaltennamen etc. zurückgibt.
- Daten-Abfrage-Dienst
Mit Hilfe des Daten-Abfrage-Dienstes kann ein SQL-Befehl an den
EUS-Kern gesendet werden. Das Ergebnis dieses Befehls wird
zurückgegeben.
- Ergebnis-Informations-Dienst
Der Ergebnis-Infomations-Dienst liefert Angaben zu allen Solverdaten,
die im REUS registriert sind.
- Ontologieabfrage-Dienst
Mit Hilfe des Ontologie-Abfrage-Dienstes kann ein Befehl in der
Ontologie-Abfragesprache RDQL zur Abfrage von Informationen, die in
der Ontologie gespeicher sind, an den EUS-Kern geschickt werden. Das
Ergebnis dieses Befehls wird zurückgesendet.
- Registrierungs-Dienst
Solver werden am REUS mit Hilfe des Registrierungs-Dienstes
angemeldet.
- Un-Registrierungs-Dienst
Der Un-Registrierungs-Dienst kann dazu verwendet werden, Solver vom
REUS abzumelden.
Die Referenzimplementation des EUS-Kerns in Java besteht aus 28 Klassen
und 4 Interfaces. Als Aufruf-Schnittstelle des EUS-Kerns dient das
Interface KometKernel. Dessen einzige Methode ist
KometKernel.request
. Als Methodenparameter wird eine
Zeichenkette (String) mit der Dienstanfrage angegeben, die Dienstantwort
wird von der Methode als Zeichenkette zurückgegeben.
Das Interface KometKernel wird von zwei Klassen implementiert:
- KometKernelImpl
Die eigentliche Serverklasse, welche die Dienstanfragen auswertet
und an die Klasse KometMetaDB weiterleitet. Eine Instanz von
KometKernelImpl wird von der Klasse KometKernelServer erzeugt. Sie
dient zum Start und zur Initialisierung des EUS-Kerns.
- KometKernelClient
Eine lokale Platzhalterklasse, die dazu dient, die Netzwerk-Kopplung
an KometKernelImpl zu initialisieren und Anfragen weiterzuleiten.
Dadurch werden netzwerkspezifische Implementationsdetails der
KOMET-Architektur vom Programmierer ferngehalten.
Das Klassendiagramm ist in Abbildung 2 dargestellt.
Martin Döllerer
- zuletzt geändert am 01.01.1970 um 01:00 Uhr