Refine
Year of publication
Document Type
- Diploma Thesis (46)
- Doctoral Thesis (38)
- Book (32)
- Bachelor Thesis (31)
- diplomthesis (26)
- Article (9)
- Contribution to a Periodical (9)
- Report (5)
- Working Paper (5)
- Part of a Book (4)
Language
- German (212) (remove)
Has Fulltext
- yes (212) (remove)
Is part of the Bibliography
- no (212)
Keywords
- Informatik (5)
- E-Learning (4)
- Computerlinguistik (3)
- Hochschule (3)
- Kollaboration <Informatik> (3)
- Lehre (3)
- Organic Computing (3)
- Präsenzlehre (3)
- Textanalyse ; Linguistische Datenverarbeitung; Computerlinguistik (3)
- Verteiltes System (3)
Institute
- Informatik (212) (remove)
Die Implementation der Striktheits-Analyse, die im Zuge dieser Arbeit vorgenommen wurde, stellt eine effiziente Approximation der abstrakten Reduktion mit Pfadanalyse dar. Durch die G#-Maschine, ein neues, auf der G-Maschine basierendes Maschinenmodell, wurde die verwendete Methode systematisch dargelegt. Die große Ähnlichkeit mit der G-Maschin, die in unserer Implementation beibehalten werden konnte, zeigt, wie natürlich die verwendete Methode der Reduktion in funktionalen Programmiersprachen entspricht. Obwohl die Umsetzung mehr Wert auf Nachvollziehbarkeit, als auf Effizienz legt, zeigt sie, daß die Methode der abstrakten Reduktion mit Pfadanalyse auch in einer funktionalen Implementierung durchaus alltagstauglich ist und Striktheits-Information findet, die Umsetzungen anderer Methoden nicht finden. Es bestehen Möglichkeiten zur Optimierung u. a. von Programmteilen, die für jede simulierte G#-Maschinen-Anweisung ausgeführt werden. Bei vorsichtiger Einschätzung erscheint eine Halbierung der Laufzeit mit vertretbarem Aufwand erreichbar.
In Abschnitt 4.1 wurden Algebren auf Mengen und Relationen vorgestellt. Desweitern wurde in Abschnitt 4.2 eine zu ALC erweiterte terminologische Wissensrepräsentationssprache ALCX definiert und gezeigt, daß die in Abschnitt 4.1 vorgestellten Algebren zur Festlegung der odell-theoretischen Semantik der Sprache ALCX benutzt werden können. Als Ergebnis einer derartigen Festlegung kann jeder terminologische Ausdruck direkt mit einem algebraischen Term assoziiert werden. Desweitern können alle in den Algebren aufgeführten universellen Identitäten in semantisch äquivalente terminologische Identitäten überführt werden. Eine mittels ALCX repräsentierte Wissensbasis ist in meinem Programm mit Hilfe der in der funktionalen Programmiersprache Gofer (Version 2.28) gegebenen Möglichkeiten formuliert. Mein Programm bietet durch Simplifizierung von Anfrageausdrücken eine optimierte Lösung des aus dem Bereich der Wissensrepräsentation bekannten Retrieval-Problems. Die Simplifizierung von Anfrageausdrücken wird in meinem Programm erzielt, indem in den oben genannten Algebren erfüllte universelle Identitäten als Simplifikationshilfsmittel benutzt werden. Die in den Algebren aufgeführten universellen Identitäten bestehen stets aus zwei äquivalenten Termen, für die eine unterschiedliche Anzahl von Reduktionsschritten zur Evaluierung benötigt werden. Es existieren universelle Identitäten, bei denen unabhängig von den Instanzen der Argumentterme ein Term gegenüber einem anderen Term effizienter auswertbar ist. Bei diesen universellen Identitäten kann eine Simplifikation von einem Term zu einem anderen Term immer unproblematisch realisiert werden. Es gibt jedoch auch universelle Identitäten, bei denen die Unabhängigkeit von den Instanzen der Argumentterme nicht gegeben ist. In diesen Fällen wird ein von der Wissensbasis abhängiges Komplexitätsabschätzungsverfahren eingesetzt, um den effizienter auswertbaren Term von zwei an einer universellen Identität beteiligten Termen zu ermitteln. Daß die Simplifikation eines Anfrageausdrucks große Einsparungen bei dessen Auswertung nach sich ziehen kann, wurde an verschiedenen Beispielen in Abschnitt 5.4.4 gezeigt. Über eine weitere Möglichkeit, die zum Simplifizieren von Anfrageausdrucken verwendet werden kann, wurde in Abschnitt 5.4.5 berichtet. Die Genauigkeit der Komplexitätsabschätzung kann erhöht werden, indem das Komplexitätsabschätzungsverfahren erweitert wird. So kann beispielsweise die Komplexität der Funktion "oder" genauer abgeschätzt werden, indem für zu vereinigende Mengen überprüft wird, ob Teilmengenbeziehungen vorhanden sind. Durch eine genauere Abschätzung der Mächtigkeit entstehender Vereinigungsmengen wird die Komplexitätsabschätzung insgesamt in ihrer Genauigkeit gesteigert. Eine Änderung der Instanzen meiner terminologischen Datenbank erfordert eine Änderung des Skripts meines Programms. Indem die Instanzen-Daten in einer veränderlichen Datenbank festgehalten würden, könnte hier Abhilfe geschaffen werden. Dies könnte im Rahmen der Erstellung einer benutzterfreundlichen Ein- und Ausgabe-Schnittstelle realisiert werden.
Wir haben in dieser Arbeit einige Probleme auf Objekten betrachtet, deren Struktur wohlgeformten Klammerworten entspricht. Dies waren spezielle Routing-Probleme, das Umformen und Auswerten algebraischer Ausdrücke, sowie die Berechnung korrespondierender Symbole zweier Ausdrücke. Eine effiziente Lösung dieser Probleme gelang durch einen rekursiven Divide-and-Conquer Ansatz, der auf Grund der “natürlichen” rekursiven Definition der betrachteten Objekte auch nahe liegt. Im Divide-Schritt wurde das jeweilige Problem in viele wesentlich kleinere Teilprobleme zerlegt, so daß die gesamte Laufzeit des Algorithmus asymptotisch gleich der des Divide-Schrittes und des Conquer-Schrittes blieb. Das Zerlegen der Probleme erfolgte im wesentlichen unter Anwendung bekannter Routing-Algorithmen für monotone Routings und Bit-Permute-Complement Permutationen. Im Conquer-Schritt für das Klammerrouting und das Knotenkorrespondenzproblem wurden nur die Datenbewegungen des Divide-Schrittes rückwärts ausgeführt. Für das Tree-Contraction-Problem wurde dagegen im Conquer-Schritt die Hauptarbeit geleistet. Die Methode der Simulation eines PRAMAlgorithmus durch die Berechnung seiner Kommunikationsstruktur und eine entsprechende Umordnung der Datenelemente konnte sowohl für eine effiziente Implementierung des Tree-Contraction Conquer-Schrittes auf dem Hyperwürfel als auch für die Konstruktion eines einfachen NC1-Schaltkreises zum Auswerten Boolescher Formeln angewandt werden. In einer Implementierung eines Divide-and-Conquer Algorithmus auf einem Netzwerk müssen den generierten Teilproblemen für ihre weitere Bearbeitung Teile des Netzwerks zugeordnet werden. Um die weiteren Divide-Schritte nach der gleichen Methode ausführen zu können, sollte die Struktur dieser Teilnetzwerke analog zu der des gesamten Netzwerks sein. Wir haben das Teilnetzwerk-Zuweisungsproblem für den Hyperwürfel und einige hyperwürfelartige Netzwerke untersucht. Der Hyperwürfel und das Butterfly-Netzwerk können so in Teilnetzwerke vorgegebener Größen aufgeteilt werden, daß nur ein geringer Anteil der Prozessoren ungenutzt bleibt, und die Teilprobleme können schnell in die ihnen zugeordneten Teilnetzwerke gesendet werden. Unter Anwendung dieser Teilnetzwerk-Zuweisungs-Algorithmen haben wir optimale Implementierungen für eine große Klasse von Divide-and-Conquer Algorithmen auf dem Hyperwüfel und hyperwürfelartigen Netzwerken erhalten. Wir konnten garantieren, daß die Laufzeit der gesamten Implementierung des Divide-and-Conquer Algorithmus asymptotisch gleich der Laufzeit ist, die sich aus dem gegebenen Divide-Schritt und Conquer-Schritt ergibt, wenn man alle mit der Teilnetzwerk-Zuweisung verbundenen Probleme außer acht läßt. Wir haben die hier vorgestellte allgemeine Divide-and-Conquer Implementierung im optimalen Teilwürfel-Zuweisungs-Algorithmus, im Klammerrouting-Algorithmus, der selbst ein wesentlicher Teil des Tree-Contraction-Algorithmus ist, und im Algorithmus für das Knotenkorrespondenzproblem eingesetzt.
Die Anfänge der Gittertheorie reichen in das letzte Jahrhundert, wobei die wohl bekanntesten Ergebnisse auf Gauß, Hermite und Minkowski zurückgehen. Die Arbeiten sind jedoch zumeist in der Schreibweise der quadratischen Formen verfaßt, erst in den letzten Jahrzehnten hat sich die von uns verwendete Gitterschreibweise durchgesetzt. Diese ist zum einen geometrisch anschaulicher, zum anderen wurden in den letzten Jahren für diese Schreibweise effiziente Algorithmen entwickelt, so daß Probleme der Gittertheorie mittels Computer gelöst werden können. Ein wichtiges Problem ist, in einem Gitter einen kürzesten nicht verschwindenden Vektor zu bestimmen. Den Grundstein für diese algorithmische Entwicklung legten A.K. Lenstra, H.W. Lenstra Jr. und L. Lovasz mit ihrer Arbeit. In dieser führten sie einen Reduktionsbegriff ein, der durch einen Polynomialzeitalgorithmus erreicht werden kann. Ein weiterer Reduktionsbegriff, die Blockreduktion, geht auf Schnorr zurück. Euchner hat im Rahmen seiner Diplomarbeit effiziente Algorithmen für diese beiden Reduktionsbegriffe auf Workstations implementiert und auch in Dimensionen > 100 erfolgreich getestet. Die Verbesserungen von Schnittechniken des in der Blockreduktion verwendeten Aufzählungsverfahrens und die Einführung einer geschnittenen Aufzählung über die gesamte Gitterbasis hat Hörner in seiner Diplomarbeit beschrieben. Ziel der folgenden Arbeit war es nun, diese bereits auf sequentiellen Computern implementierten Algorithmen zu modifizieren, um auf parallelen Rechnern, speziell Vektorrechnern, einen möglichst hohen Geschwindigkeitsgewinn zu erzielen. Wie in den seriellen Algorithmen werden die Basisvektoren stets in exakter Darstellung mitgeführt, so daß das Endergebnis einer Berechnung nicht durch Rundungsfehler verfälscht wird.
Im Jahr 1993 schlug A. Shamir Protokolle zur Erstellung digitaler Unterschriften vor, die auf rationalen Funktionen kleinen Grades beruhen. D. Coppersmith, J. Stern und S. Vaudenay präsentierten die ersten Angriffe auf die Verfahren. Diese Angriffe können den geheimen Schlüssel nicht ermitteln. Für eine der von Shamir vorgeschlagenen Varianten zeigen wir, wie der geheime Schlüssel ermittelt werden kann. Das zweite Signaturschema von Shamir hängt von der Wahl einer algebraischen Basis ab. Eine besondere Bedeutung haben Basen, deren Elemente polynomiale Terme vom Grad 2 sind. Wir analysieren die Struktur der algebraischen Basen. Für den hervorgehobenen Spezialfall kann eine vollständige Klassifikation durchgeführt werden.
Das Thema dieser Arbeit ist die Dienstvermittlung in offenen verteilten Systemen und die Rolle, die ein Typsystem dabei einnimmt. Ein Typsystem besteht aus einer Typbeschreibungssprache und der Definition einer Typkonformität. Die Typbeschreibungssprache erlaubt die Spezifiation von Typen, wohingegen mit der Typkonformität während eines Vermittlungsvorgangs überprüft wird, ob Angebot und Nachfrage zusammenpassen. In dieser Arbeit wurde zunächst nachgewiesen, daß es sinnvoll ist, bei einem Typ zwischen seiner Intension und seiner Extension zu unterscheiden. Die Intension eines Typs ist die Gesamtheit aller Beschreibungen, die auf diesen zutreffen. Die Extension eines Typs repräsentiert dagegen eine konkrete Beschreibung (d.h. Spezifikation eines Dienstangebots). Eine Interpretation ordnet jeder Extension eine Intension zu. Um in einem offenen verteilten System Dienste vermitteln zu können, müssen sich Dienstnutzer und {anbieter auf die Extensionen aller Typen einigen. Einem Typ kommt hierdurch die Rolle eine Standards zu, der allen beteiligten Parteien a priori bekannt sein muß. Daraus resultiert eine injektive Interpretation, die jeder Intension genau eine Extension zuordnet. Die eindeutig bestimmte Extension einer Intension fungiert als systemweiter Standard. Ein Typ als Standard steht im Widerspruch zu der Vielfalt und Dynamik eines offenen Dienstmarktes. Der Standardisierungsprozeß von Extensionen, der einem Vermittlungsvorgang vorausgehen muß, hemmt gerade die Dynamik des Systems. Die Konsequenz daraus ist, daß neben den Diensten auch die Diensttypen Gegenstand der Vermittlung sein müssen. Diese Schlußfolgerung ist bisher noch nicht formuliert worden. Es wäre somit wünscheswert, nicht{injektive Interpretationen zuzulassen, so daß eine Intension mehrere Extensionen besitzen kann, die unterschiedliche Sichten der Dienstnutzer und {anbieter repräsentieren. Die Analyse einiger bestehender Typsysteme zeigte, daß mit diesen eine nicht-injektive Interpretation nicht realisierbar ist. Im Hauptteil dieser Arbeit wurden zwei neue Typsysteme vorgestellt, die diese Eigenschaft unterstützen. Das deklarative Typsystem erweitert die Schnittstellenbeschreibungssprache eines syntaktischen Typsystems, indem semantische Spezifiationen zugelassen werden. Die deklarative Semantik dient dabei als Grundlage für die Beschreibung der Semantik einer Typspezifikation. Die Extension entspricht einem definiten Programm bestehend aus einer endlichen Menge von Horn-Klauseln. Die Intension eines Typs korrespondiert mit dem kleinsten Herbrand-Modell des definiten Programms, welches die semantische Spezifikation des Typs darstellt. Die Forderung nach der Möglichkeit nicht{injektiver Interpretationen ergibt sich aus den Eigenschaften der deklarativen Semantik, wonach verschiedene definite Programme ein identisches kleinstes Herbrand-Modell besitzen können. Das zweite in dieser Arbeit vorgestellte Typsystem entspringt einem wissensbasierten Ansatz. Grundlage bildet eine Wissensrepräsentationstechnik, die anwenderbezogene semantische Spezifikationen erlaubt. Ein Konzeptgraph als wissensbasierte Typspezifikation vereinigt in sich unterschiedliche Beschreibungen eines Typs. Ein Konzeptgraph, der selbst eine Extension darstellt, repräsentiert somit die Vereinigung mehrerer Extensionen eines Typs. Die Intension ist jedoch durch einen Konzeptgraph nicht eindeutig bestimmt. Dieser stellt lediglich eine Approximation dar. Hier liegt ein fundamentaler Unterschied in den beiden Typsystemen. Während eine Extension im deklarativen Typsystem auch immer eindeutig eine Intension charakterisiert, ist dies bei dem wissensbasierten Typsystem nicht der Fall. Die Konsequenz daraus ist, daß dieser Umstand bei einem Vermittlungsvorgang berücksichtigt werden muß. Ein wissensbasierter Vermittler muß über ein spezielles Vermittlungsprotokoll die Verfeinerung einer wissensbasierten Typspezifikation erlauben, die zu einer besseren Approximation der Intension führt. Das deklarative Typsystem besitzt aufgrund der Unentscheidbarkeit der deklarativen Typkonformität keine praktische Relevanz. Es zeigt jedoch, wie mit Hilfe der deklarativen Semantik der Open World Assumption genüge geleistet werden kann. Im Vergleich dazu kann das wissensbasierte Typsystem als "Fuzzyfizierung" des deklarativen Typsystems angesehen werden. Die wissensbasierte Typbeschreibungssprache ermöglicht im Sinne der Fuzzy Logik unscharfe Spezifikationen, die im Laufe der Zeit verfeinert werden. Ein Vorteil des wissensbasierten Ansatzes ist die Möglichkeit von anwenderbezogenen Typspezifikationen. Ein anderer Vorteil besteht darin, daß eine wissensbasierte Typbeschreibungssprache eine Meta-Sprache repräsentiert, in der Spezifikationen aus anderen Domänen dargestellt werden können. Ungeachtet dieser Vorteile bleibt jedoch der Beweis offen, daß die wissensbasierte Dienstvermittlung tatsächlich eine geeignete Methodik für die Vermittlung von Typen darstellt.
Funktionsorientierte Bausteine zur Integration kontinuierlicher Medien in verteilte Anwendungen
(1997)
Das Ziel der vorliegenden Arbeit war die Entwicklung einer komfortablen Beschreibung verteilter Anwendungen, die kontinuierliche Medien integrieren. Die Klarheit des Ansatzes ergibt sich aus der Beschränkung auf die anwenderrelevanten Funktionalitäten. Weitere Gebiete, die systembezogen sind, wurden nur soweit wie nötig behandelt. Die Aufgaben anderer Bereiche, wie des Betriebssystems und des Managementsystems sowie der Kommunikationsdienste, konnten nur gestreift werden, indem die anwendungsabhängigen Anforderungen spezifiziert wurden. Durch deren Extraktion und die Zuordnung der Anforderungen an die einzelnen Bereiche, ergibt sich eine klarere Sicht auf Betriebssystem, Management und Kommunikationsdienste und deren notwendige Weiterentwicklung. Das entwickelte Funktionenmodell beschreibt zusammenhängend alle mit kontinuierlichen Medien verbundenen Arbeiten. In der vorliegenden Arbeit wurde gezeigt, wie aus den Funktionen auf kontinuierlichen Medien durch die Spezifikation geeigneter Schnittstellen Bausteine zur Integration der Medien in verteilte Anwendungen erstellt werden. Die Beschrei bung der Bausteine erfolgt durch diese Schnittstellen; es sind Steuer-, Daten- und Managementschnittstellen. Die Herauslösung der gesonderten Beschreibung der Multimedia-Datenflußstruktur schafft einerseits die Grundlage für eine Teilklassifikation der Anwendungen nach Medien-Gesichtspunkten. Andererseits kann die Erstellung einer Anwendung aus einer bestimmten Anwendungsklasse, wie zum Beispiel ein einfaches Wiedergabesystem, durch die gesonderte Beschreibung der Multimedia-Datenflußstruktur schneller in der Bausteinstruktur realisiert werden. Das Funktionenmodell wird auch in [Fritzsche96] beschrieben. Das in dieser Arbeit konzipierte Bausteinmodell gewährleistet eine integrierte Beschreibung von Geräten, Werkzeugen und Anwendungen kontinuierlicher Medien. Die verwendete Beschreibungstechnik erlaubt dabei nicht nur eine übersichtliche Darstellung sondern bietet auch hierarchische Strukturierungen an. Das Zusammenspiel der Bausteine erfordert zu sätzliche Komponenten zur Steuerung und Abstimmung der einzelnen Funktionen, die in dieser Arbeit neu eingeführt werden. Es lassen sich sowohl zentralistische als auch verteilte Steuerungen realisieren. Mit einer entsprechenden Schnittstelle versehen kann eine Steuerkomponente eine ganze Gruppe von Bausteinen dem Benutzer als Einheit zur Verfügung stellen. Somit lassen sich auch verschiedene Medien und/oder mehrere Funktionen gemeinsam mit einer Steuerkomponente zu einem Baustein zusammenfassen. Diese zusammenge setzten Bausteine bieten nun echte Multifunktionalität und Multimedialität. Durch die Komponenten- und Anwendungsmodellierung nach [Zimm93] wird darüber hinaus eine flexible, auch dynamisch änderbare Anwendungsstruktur vom Anwendungs-Management ermöglicht. Das Bausteinmodell wird auch in [Fritzsche96] behandelt. Bisherigen Ansätzen für Multimedia-Komponenten fehlt die allgemeine Interoperabilität der Komponenten. Diese kann nur durch eine umfassende, formale Spezifikation der Komponenten-Schnittstellen, insbesondere aber von Steuerschnittstellen, erfolgen. Zur Spezifikation der Schnittstellen ist die Integration der kontinuierlichen oder zeitabhängigen Medien als abstrakte Datentypen unabdingbar. Auf diese Art werden aus den Komponenten Bausteine. Im vorliegenden Ansatz wurden erstmalig Steuerschnittstellen für Multimedia-Komponenten spezifiziert und als Hierarchie dargestellt. Der neue Ansatz erlaubt es daher, multimediale Systeme nach einem Baukastensystem zu erstellen, indem Bausteine durch Bindung untereinander zu einer Anwendung zusammengesetzt werden. Nach der Verbindungsstruktur der multimedialen Anwendung können verschiedene Anwendungstypen unterschieden werden. Die Definition der Komponentenschnittstellen bezieht sich auf ein abstraktes Datenmodell für kontinuierliche Medien. Das Datenmodell ist eine eigenständige Weiterentwicklung der Ansätze von [Herrtw91] und [Gibbs94] und kann auch zur Realisierung der Komponenten verwendet werden. Multimediadaten wurden zunächst auf zwei Ebenen als Sequenz und Sequenzelemente modelliert. Daraus lassen sich bereits einige Funktionen auf den Daten ableiten, die von den Bausteinen realisiert werden müssen. Kennzeichnend für die Sequenzelemente ist, daß sie die Zeitparameter Zeitpunkt und Dauer besitzen und damit eine explizite Integration der Zeit in das Datenmodell realisieren. Aus diesen Parametern der Elemente können auch für die Sequenz die Parameter Zeitpunkt und Dauer abgeleitet werden. Somit könnte eine Sequenz selbst wieder Element einer Sequenz werden. Da diese Sequenzen von Sequenzen aber zum Teil schwer zu handhaben sind und zum Aufbau von sehr komplexen Verschachtelungen verleiten, wird in dieser Arbeit eine andere Erweiterung der Datenhierarchie, eine Liste, vorgestellt. Diese Erweiterung führt nur eine weitere Hierarchieebene oder Granularitätsstufe ein, ist aber durch die vorgegebenen Funktionen gleichmächtig wie die Verschachtelung der Sequenzen, im Operationsablauf aber leichter nachzuvollziehen. Die Liste repräsentiert die gröbste Granularitätsstufe. Diese ist mit der Titelfolge einer Schallplatte oder einer CD vergleichbar. Die einzelnen Teile haben zueinander nur eine lose Ordnung. In der ersten Verfeinerung der Granularität wird in jedem einzelnen Listenelement eine strenge zeitliche Ordnung gefordert; ein Listenelement ist eine Sequenz. In der zweiten Stufe der Verfeinerung, der Unterteilung der Sequenzen, treten die bereits bekannten Se quenzelemente auf. Die Daten werden im Ticker-Schrittgeber-Modell interpretiert. Dieses Modell erhält zwei Zeitebenen, den Ticker als Bezugssystem der Funktionen untereinander und den Schrittgeber als Steuerung der einzelnen Funktionen. Ein zweistufiges Uhrenmodell mir festgesetzten Operationen und Uhrenbeziehungen wird in dieser Arbeit neu eingeführt. Die Beziehung zwischen Schrittgeber und Ticker ist, daß ein Schritt nach einer bestimmten Anzahl von Ticks erfolgt. Der Startwert des Tickers kann frei gewählt werden, ebenso der Startwert des Schrittgebers. Für den Schrittgeber bestimmt sein Start-Tick, wann er beginnt fortzuschreiten. Ein Schrittgeber ist mit genau einer Sequenz verbunden, deren Start-Schritt beschreibt, bei welchem Schrittwert das erste Sequenzelement gültig wird. Die Start-Zeitpunkte der Elemente und ihre Dauern werden in Schritten gemessen. Das Datenmodell für Multimedia wurde in [Fritzsche95] veröffentlicht. Implementierungen Als Grundlage für die Entwicklung der Bausteine zur Integration kontinuierlicher Medien in verteilte Anwendungen wurden die Funktionen auf den Medien herangezogen. Diese sind in ihren einfachsten Formen die Grundfunktionen Perzeption, Präsentation und Speicherung der Medien, wobei die Speicherung in die Funktionen Schreiben in den Speicher und Lesen aus dem Speicher geteilt wird. Die durch die Perzeption festgelegten, oder künstlich erzeugten Mediendaten können zwischen den einzelnen Funktionen übertragen werden. Eine Bearbeitung der Daten ist beim Austausch zwischen den Funktionen möglich. Die Veränderung der Daten und ihr Bezug zu den Grundfunktionen wird durch die Verarbeitungsfunktionen der Typen f 1 bis f 5 beschrieben. Die Funktionen werden durch Operationen gesteuert, die aus dem Datenmodell abgeleitet werden. Insbesondere wird so auch die explizite Veränderung der Zeitparameter möglich. Somit bietet das Datenmodell eine geeignete Grundlage für jede Art der Verarbeitung kontinuierlicher Medien. Das entwickelte Modell unterstützt die Anwendungserstellung durch objektorientierte Ansätze auf den Ebenen der Konzeption, der Anwendungsspezifikation und der Komponentenentwicklung. Konzeptionell bietet das Funktionenmodell die schnelle und übersichtliche Darstellung der Anwendung. Die aus dem Funktionenmodell ableitbare Anwendungsspezifikation unterstützt die weitere Entwicklung durch Anwendungs- und Komponentenschablonen, sowie durch die vorgefertigte und erweiterbare Hierarchie der Schnittstellen und durch die Bibliotheken für Standardbausteine. Die Verwendung dieser Elemente der Anwendungsspezifikation läßt sich teilweise automatisieren. Das Ergebnis der Anwendungsspezifikation ist eine Menge von Komponenten, die alle vollständig spezifiziert sind. Diese Komponenten sind die funktionsorientierten Bausteine zur Integration kontinuierlicher Medien in verteilte Anwendungen. Im ersten Schritt wurde das vorgestellte Datenmodell mit seinen Operationen in einer objektorientierten Programmiersprache (C [Lipp91]) implementiert [Braun92]. Darauf aufbauend wurden verschiedene Anwendungsfunktionen und Normalisierungsoperationen entwickelt und für den Bereich Audio realisiert [Bast93]. Die von den Funktionen auf kontinuierlichen Medien abgeleiteten Bausteine werden, wie in der vorliegenden Arbeit ausführlich dargestellt, als Komponenten verteilter Anwendungen realisiert. Aus den verschiedenen Realisierungsebenen sollen hier zwei Beispiele hervorgehoben werden. Zunächst wird auf die Komponentenrealisierung eingegangen; danach folgt die Realisierung von Tickern und enger Kopplung. Diese beiden Punkte stellen zentrale Aufgaben des Ansatzes dar. Realisierung von Komponenten Die Realisierung der Komponenten gliedert sich in zwei Abschnitte. Der erste Abschnitt ist die Zerlegung einer Komponente in Standardobjekte nach [Zimm93]. Die Standardobjekte entstammen Kommunikationsklassen, Stub- und Dispatcherklassen, Anwendungsklassen und Kooperationsprotokollklassen. Die Objekte der Anwendungsklassen realisieren die Anwendungsfunktionalität der Komponente. Das Ausprogrammieren dieser Objekte stellt den zweiten Abschnitt der Komponentenrealisierung dar. Dazu liefert das entwickelte Datenmodell die Programmierunterstützung. Zur Abbildung der Spezifikationskonstrukte der Komponenten auf Implementierungskonstrukte wird in [Zimm93] eine Methode vorgestellt, die die unterschiedlichen Konstrukte für Schnittstellen, Kommunikationskontexte und Komponenten auf Klassen und Objekte abbildet. So entsteht eine Klassenhierarchie von C Klassen [Lipp91] für kommunikations-, anwendung-s und managementorientierte Objekte. Weiterhin wird in [Zimm93] ein Verfahren vorgestellt, durch das in Abhängigkeit von den Eigenschaften einer Komponente parallel ablaufende Datenflüsse in ein System von leichtgewichtigen Prozessen (Threads) transformiert werden können. Als Resultat gewinnt man eine modulare Softwarearchitektur der Komponente, die sich aus interagierenden Objekten und zugehörigen Threads zusammen setzt. In [Zimm93] werden folgende Objektklassen unterschieden: . Kommunikationsklassen . Stub- und Dispatcherklassen . Anwendungsklassen . Kooperationsprotokollklassen. Eine elementare Objektarchitektur aus diesen Klassen ist in Abbildung 54 dargestellt. Es gibt jeweils eine Realisierung für eine Supplier-Komponente und eine Consumer- Komponente. Die Anwendungsobjekte können bezüglich ihrer Funktionalität in initiierende und akzeptierende Objekte eingeteilt werden. Im Falle unidirektionaler Schnittstellen sind die Anwendungsobjekte auf der Konsumentenseite (z.B. Benutzerkomponente) für die Initiierung von Methoden an Schnittstellenobjekten verantwortlich. Beispielsweise ist ein Anwendungsobjekt innerhalb der Benutzerkomponente für die Initiierung der Steueroperationen verantwortlich. Im Falle von interaktiven Komponenten [Zimm93] erfolgt dazu ein Benutzerdialog mit einem interaktiven Benutzer. Also realisiert innerhalb der Benutzerkomponente das Anwendungsobjekt einen solchen Benutzerdialog. Anwendungsobjekte auf der Konsumentenseite stellen somit typischerweise keine eigenen Methoden bereit, sondern bestehen lediglich aus einem Konstruktor. Auf der akzeptierenden Seite, den Anbieter (Supplier), realisiert ein Anwendungsobjekt die Operationen an einer Schnittstelle. Dazu wird eine Methode accept benötigt, falls ein verbindungsorientierter Kommunikationskontext zugrunde liegt. Diese Methode dient der Behandlung eingehender Verbindungswünsche. In [Alireza94] werden verschiedene Komponentenrealisierungen ausführlich vorgestellt. Die Realisierung der Ticker und Schrittgeber stellt die Einbettung der zeitbezogenen Komponenten in ihre (Betriebssystem) Umgebung dar. Ähnlich, wie eine Komponente über den Socketmechanismus Zugang zum Kommunikationssystem erhält, erhält eine zeitbezogene Komponente über den Ticker-Schrittgeber-Mechanismus Zugang zum Zeitbezugssystem. Denn die Schrittgeber beziehen sich auf Ticker, Ticker aber auf die Systemzeit. Da auch die Systemzeit als Takt zur Verfügung gestellt wird, können Ticker und Schrittgeber wegen ihrer ähnlichen Funktionalitäten aus einer gemeinsamen Zeitgeberklasse abgeleitet werden. Im Anhang C ist die Deklaration dieser gemeinsamen Klasse angegeben. In einer Anwendung beziehen sich die Schrittgeber verschiedener Komponenten auf einen gemeinsamen Ticker. Dieser Ticker liegt in der Systemumgebung der den Komponenten gemeinsamen interaktiven Benutzerkomponente. Die interaktive Benutzerkomponente verteilt die Ticks über die Steuerschnittstellen an die Komponenten und realisiert so die enge Kopplung der Komponenten. Bei einer Tickrate von 600 Hz ist es nur innerhalb eines Systems sinnvoll jeden Tick als Ereignis zu verteilen. Anstatt nun zu jedem Tick ein Ereignis zu verteilen werden bei der Tickverteilung Tickwerte mit fester Rate verteilt, wobei diese Rate in die Größenordnung der Schritte fällt. Um die Übertragungsraten gemäß den Anforderungen an der Steuerschnittstelle klein zu halten, wird zu jedem Schritt nur ein Teil (1 Byte) des Tickwertes übertragen. Begonnen wird mit der Übertragung des höchstwertigen Bytes, so daß im letzten Schritt einer Tickerübertragung mit dem letzten Byte der genaue aktuelle Tickwert übertragen wird. Ähnliche Verfahren werden bereits bei anderen Synchronisations verfahren verwendet. Eine genaue Beschreibung sowie die Kodierung für die verschachtelte Übertragung von Tickwerten und SchnittstellenAufrufen wird in [Hesme93] vorgestellt. Weitere Entwicklung Zur Realisierung verteilter multimedialer Anwendungen, muß man die einzelnen verteilten Komponenten bestimmen und ihre Funktion beschreiben. Die Komponenten tauschen unter einander Steuerungsinformationen und Multimediadaten aus. Diese Daten und das beim Austausch verwendete Protokoll sollten allgemein standardisiert sein, um den Zusammen schluß heterogener Systeme zu ermöglichen. In der vorliegenden Arbeit wurde gezeigt, wie sowohl die Daten als auch das Zusammenspiel der Komponenten festgelegt werden können. Obwohl alle Geräteklassen und Geräte funktionen sowie verschiedene Werkzeuge entwickelt wurden, und das vorgestellte Modell die gesamte Entwicklung verteilter multimedialer Anwendungen unterstützt, ist dieses große Gebiet noch lange nicht erschöpfend behandelt. Eine Erweiterung der Managementschnittstellen und die Realisierung von komplexen Werkzeugen sind die vordringlichsten Aufgaben. Damit entsteht ein mächtiges Entwicklungswerkzeug für Multimediaanwendungen. Funktionsorientierte Bausteine zur Integration kontinuierlicher Medien in verteilte Anwendungen Eine weitere Aufgabe ist die genauere Untersuchung der Nebenbedingungen, die zur Unterscheidung der Funktionen der Typen f 1 bis f 5 führten. Aus diesen Untersuchungen sowie aus den Ergebnissen der Ticker- und Schrittgeber-Realisierung lassen sich dann genauer spezifizierte Anforderungen an die Betriebs- oder Kommunikations-Systeme ableiten.
In dieser Arbeit definieren wir ein Maß für den Grad der Mehrdeutigkeit (degree of ambiguity da) kontextfreier Grammatiken und Sprachen als die Anzahl der Ableitungsbäume in Abhängigkeit von der Länge n eines Wortes. Wir zeigen, dass es weder Sprachen noch zyklenfreie Grammatiken gibt, deren Mehrdeutigkeitsgrad stärker als 2£(n) wächst (wie z B. £(nn)). Aus [10] ist es außerdem bekannt, dass es keine Grammatiken (und somit keine Sprachen) gibt, deren Mehrdeutigkeit stärker als polynomiell, aber schwächer als exponentiell wächst (wie z. B. £(2pn). Deshalb untersuchen wir in dieser Arbeit hauptsächlich konstant mehrdeutige, polynomiell mehrdeutige und exponentiell mehrdeutige Grammatiken und Sprachen. Für jede feste, ganze Zahl k 2 N hat Maurer [8] die Existenz einer k-deutigen kontextfreien Sprache nachgewiesen. Durch Verwendung einer einfacheren Sprache, nämlich der Sprache Lk := fambm1 1 bm2 2 : : : bmk k jm;m1;m2; : : : ;mk ¸ 1; 9 i mit m = mig, und mit Hilfe von Ogden's Lemma1 erhalten wir einen wesentlich kürzeren Beweis. Ferner zeigen wir die Existenz exponentiell mehrdeutiger Sprachen. Wir zeigen, dass die Sprache L¤ { wobei L = faibicj ji; j ¸ 1g [ faibjciji; j ¸ 1g-exponentiell mehrdeutig ist, indem wir beweisen, dass das Wort (ah+h!bh+h!ch+h!)k mindestens 2k Ableitungen in jeder Grammatik G für L¤ hat, wobei k aus N ist und h die Konstante aus Ogden's Lemma für G ist. Für beliebig kleines c aus R+ entwerfen wir eine Grammatik Gc für L¤, so dass daGc · 2cn gilt. Somit gilt, dass die Sprache L¤ zwar exponentiell mehrdeutig ist, aber es gibt kein festes c aus R+ , so dass L¤ 2cn-deutig ist. Wir geben polynomiell mehrdeutige Grammatiken an und zeigen die Existenz von polynomiell mehrdeutigen Sprachen, indem wir mit Hilfe von Ogden's Lemma beweisen, dass die Anzahl der Ableitungsbäume eines Wortes der Länge n in jeder Grammatik für die Sprache Lk in der Größenordnung von (nk) liegt, wobei k eine Konstante aus N ist, und L := fambm1cbm2c : : : bmpcjp 2 N; m;m1;m2; : : : ;mp 2 N; 9i 2 f1; 2; : : : ; pg mit m = mig gilt. Durch Angabe einer O(nk){deutigen Grammatik zeigen wir schließlich, dass Lk polynomiell vom Grad k mehrdeutig ist. Außerdem entwerfen wir für jedes feste d aus R+ eine Grammatik Gd für L, so dass daGd · dn dn für genügend großes n ist.
A und B möchten digitale Unterschriften auf faire Weise austauschen, d.h. A soll genau dann eine Unterschrift von B erhalten, wenn B eine Unterschrift von A erhält. Der triviale Ansatz zum Austausch zweier Unterschriften, daß A seine Unterschrift an B sendet und dann B seine Unterschrift an A schickt, ist nicht fair, da B nach Erhalt der Unterschrift von A das Protokoll vorzeitig beenden oder eine ungültige Unterschrift senden kann. Bei den bekannten praktikablen Protokollen zum fairen Austausch unterteilen die Teilnehmer die Unterschriften in kleine Blöcke aus wenigen Bits und tauschen die Blöcke dann schrittweise aus. Diese Protokolle garantieren einerseits, daß man sofort überprüfen kann, ob ein erhaltener Block korrekt ist. Andererseits geben die bereits ausgetauschten Blöcke so wenig wie möglich über den restlichen Teil der Unterschrift preis. Versucht in diesem Fall ein Teilnehmer zu betrügen, indem er beispielsweise einen falschen Wert sendet, so kann der andere Teilnehmer dies unmittelbar bemerken und stoppen. Da die noch nicht ausgetauschten Blöcke fast nichts über den übrigen Teil der Unterschrift preisgeben, hat der Betrüger höchstens einen Block mehr als der ehrliche Teilnehmer erhalten. Ist die Blockgröße hinreichend klein, kann der ehrliche Teilnehmer den Nachteil durch Raten bzw. Probieren ausgleichen. In dieser Diplomarbeit entwickeln wir Protokolle zum fairen Austausch sogenannter Diskreter- Logarithmus-Unterschriften. Die bekannten praktikablen Protokolle zum Austausch dieses Unterschriftentyps verwenden als Sicherheitsvoraussetzung die Faktorisierungsannahme. Im Unterschied dazu beruht die Sicherheit unseres Austauschprotokolls auf der Diskreten- Logarithmus-Annahme und damit auf der des Unterschriftenverfahrens. Ferner erlauben unsere Protokoll die Herausgabe der Blöcke in beliebiger, auch vom Protokollverlauf abhängiger Reihenfolge, während die Reihenfolge bei den bisherigen Protokollen von vornherein festgelegt ist.
Um in verschiedenen Anwendungsumgebungen eingesetzt werden zu können, lässt die CORBA-Spezifikation einen weiten Spielraum für Implementierungen. Sollte CORBA in einem speziellen Umfeld eingesetzt werden, so war bisher eine Neu-Implementierung notwendig, da herkämmliche CORBA-Implementierungen nicht oder nur sehr eingeschränkt an spezielle Anwendungsumgebungen anpassbar sind. In dieser Arbeit wurde ein Ansatz für eine erweiterbare CORBA-Implementierung vorgestellt und implementiert.
Im Zeitraum 1. 11. 1993 bis 30. 3. 1997 wurden 1149 allgemeinchirurgische Intensivpatienten prospektiv erfaßt, von denen 114 die Kriterien des septischen Schocks erfüllten. Die Letalität der Patienten mit einem septischen Schock betrug 47,3%. Nach Training eines neuronalen Netzes mit 91 (von insgesamt n = 114) Patienten ergab die Testung bei den verbleibenden 23 Patienten bei der Berücksichtigung von Parameterveränderungen vom 1. auf den 2. Tag des septischen Schocks folgendes Ergebnis: Alle 10 verstorbenen Patienten wurden korrekt als nicht überlebend vorhergesagt, von den 13 Überlebenden wurden 12 korrekt als überlebend vorhergesagt (Sensitivität 100%; Spezifität 92,3%).
Durch zunehmende Vernetzung steigt auch das Interesse elektronische Wahlen mit Hilfe kryptographischer Methoden auf Rechnernetzen zu verwirklichen. In der folgendern Arbeit werden Wahlschemata behandelt, deren Ziel es ist, die gesamte Wahl auf einem Rechnernetz durchzuführen. Die Arbeit beschränkt sich auf Wahlen mit zwei Wahlvorschlägen. Auf Wahlen mit drei oder mehr Wahlvorschlägen wird nicht eingegangen. Im ersten Kapitel wird eine Einleitung in die elektronischen Wahlen gegeben. Im zweiten Kapitel wird das verwendete Modell eines Wahlschemas und die Anforderungen, bezüglich der die Wahlschemata untersucht werden, vorgestellt. Im dritten Kapitel werden die kryptographische Methoden für die folgenden Kapitel vorgestellt. Im vierten Kapitel werden zwei Wahlschemata betrachtet, deren Ansatz es ist, die Stimmen mit Hilfe von Schwellenwerten auf mehrere Behörden zu verteilen. Die Sicherheit der Wahlschemata in diesem Kapitel basiert auf dem diskreten Logarithmus. Im fünften Kapitel werden weitere Wahlschemata betrachet, bei denen die Wähler mit Hilfe von Verschlüsselungsmethoden ihre Stimmen an die Behörden senden. Die Sicherheit dieser Schemata basiert auf dem Wurzelziehen modulo einer zusammengesetzten Zahl mit unbekannter Faktorisierung. In diesem Kapitel lernen wir auch das erste quittungsfreie Wahlschema kennen. Im sechsten Kapitel werden Wahlschemata betrachtet, die das Konzept eines Mixes benutzen. Auch in diesem Kapitel lernen wir ein quittungsfreies Wahlschema kennen.
Diese Arbeit plädiert für eine rationale Behandlung von Patientendaten und untersucht dazu die Analyse der Daten mit Hilfe neuronale Netze etwas näher. Erfolgreiche Beispielanwendungen zeigen, daß die menschlichen Diagnosefähigkeiten deutlich schlechter sind als neuronale Diagnosesysteme. Für das Beispiel der neueren Architektur mit RBF-Netzen wird die Funktionalität näher erläutert und gezeigt, wie menschliche und neuronale Expertise miteinander gekoppelt werden kann. Der Ausblick deutet Anwendungen und Praxisproblematik derartiger Systeme an.
Im heutigen Zahlungsverkehr übernehmen in zunehmendem Maße Zahlungen mit Kreditkarten eine entscheidende Rolle. Entsprechend der Verbreitung dieser Art des Zahlungsverkehrs nimmt ebenfalls der Mißbrauch mit diesem bargeldlosen Zahlungsmittel zu. Um die Verluste, die bei dem Kreditkarteninstitut auf diese Weise entstehen, so weit wie möglich einzudämmen, wird versucht, Mißbrauchstransaktionen bei der Autorisierung der Zahlungsaufforderung zu erkennen. Ziel dieser Diplomarbeit ist es zu bestimmen, in wie weit es möglich ist, illegale Transaktionen aus der Menge von Autorisierungsanfragen mit Hilfe adaptiver Algorithmen aufzudecken. Dabei sollen sowohl Methoden aus dem Bereich des Data-Mining, als auch aus den Bereichen der neuronalen Netze benutzt werden. Erschwerend bei der Mißbrauchsanalyse kommt hinzu, daß die Beurteilung der einzelnen Transaktionen in Sekundenbruchteilen abgeschlossen sein muß, um die hohe Anzahl an Autorisierungsanfragen verarbeiten zu können und den Kundenservice auf Seiten des Benutzers und des Händlers auf diese Weise zu optimieren. Weiter handelt es sich bei einem Großteil der bei der Analyse zu Verfügung stehenden Datensätze um symbolische Daten, also alpha-numerisch kodierte Werte, die stellvertretend für verschiedene Eigenschaften verwendet werden. Nur wenige der Transaktionsdaten sind analoger Natur, weisen also eine Linearität auf, die es erlaubt, "Nachbarschaften" zwischen den Daten bestimmen zu können. Damit scheidet eine reine Analyse auf Basis von neuronalen Netzwerken aus. Diese Problematik führte unter anderem zu dem verfolgten Ansatz. Als Grundlage der Analyse dienen bekannte Mißbrauchstransaktionen aus einem Zeitintervall von ungefähr einem Jahr, die jedoch aufgrund der hohen Anzahl nicht komplett als solche mit den eingehenden Transaktionen verglichen werden können, da ein sequentieller Vergleich zu viel Zeit in Anspruch nähme. Im übrigen würde durch einen einfachen Vergleich nur der schon bekannte Mißbrauch erkannt werden; eine Abstraktion der Erkenntnisse aus den Mißbrauchserfahrungen ist nicht möglich. Aus diesem Grund werden diese Mißbrauchstransaktionen mit Hilfe von Methoden aus dem Bereich des Data-Mining verallgemeinert und damit auf ein Minimum, soweit es die Verläßlichkeit dieser Datensätze zuläßt, reduziert. Desweiteren schließt sich eine Analyse der zu diesem Zeitpunkt noch nicht betrachteten analogen Daten an, um die maximale, enthaltene Information aus den Transaktionsdaten zu beziehen. Dafür werden moderne Methoden aus dem Bereich der neuronalen Netzwerke, sogenannte radiale Basisfunktionsnetze, verwendet. Da eine Mißbrauchsanalyse ohne eine entsprechende Profilanalyse unvollständig wäre, wurde abschließend mit den vorhanden Mitteln auf den zugrunde liegenden Daten in Anlehnung an die bisherige Methodik eine solche Profilauswertung und zeitabhängige Analyse realisiert. Mit dem so implementierten Modell wurde versucht, auf allgemeine Art und Weise, Verhaltens- beziehungsweise Transaktionsmuster einzuordnen und mit bei der Mißbrauchsentscheidung einfließen zu lassen. Aus den vorgestellten Analyseverfahren wurden verschiedene Klassifizierungsmodelle entwickelt, die zu guten Ergebnissen auf den Simulationsdaten führen. Es kann gezeigt werden, daß die Mißbrauchserkennung durch eine kombinierte Anwendung aus symbolischer und analoger Auswertung bestmöglich durchzuführen ist.
Wir betrachten das auf der Crypto '97 vorgeschlagene gitterbasierte Kryp- tosystem von Goldreich, Goldwasser und Halevi (GGH) [11]. Die Autoren veröffentlichten Challenges zu den Sicherheitsparametern 200, 250, 300, 350 und 400 [12]. Jeder Challenge besteht aus dem öffentlichen Schlüssel, sowie einem Ciphertext. Für den Angriff entwickeln wir numerisch stabile Gitterreduktionsalgorithmen, die es ermöglichen, das System in diesen Dimensionen anzugreifen. Es werden Methoden zur Orthogonalisierung, die sogenannten House- holder-Reflexionen und Givens-Rotationen behandelt, und eine praktikable Gleitpunkt-Arithmetik Version des LLL-Algorithmus nach Lenstra, Lenstra und Lov'asz [16] angegeben. Wir entwickeln und analysieren den LLL-Block- Algorithmus, der die Gitterreduktion in Blöcken organisiert. Die Gleitpunkt-Arithmetik Version des LLL-Block-Algorithmus wird experimentell auf das GGH-Schema angewendet und mit der LLL-Reduktion in den Dimensio- nen 100 bis 400 verglichen. Neben der besseren numerischen Stabilität ist die LLL-Block-Reduktion um den Faktor 10 bis 18 mal schneller als die gewöhnliche LLL-Reduktion. Das GGH-Kryptosystem wurde ebenfalls von Nguyen [22] angegriffen, und die ursprünglichen Nachrichten wurden bis in Dimension 350 rekonstruiert. Wir stellen weitere Angriffe auf das Kryptosystem vor. Es zeigt sich, dass die öffentlichen Parameter für erfolgreiche Angriffe benutzt werden können. Der private Schlüssel in der Dimension 200 wird nach ca. 10 Stunden rekonstruiert und Ciphertext-Attaken sind bis in Dimension 300 erfolgreich.
In der vorliegenden Diplom-Arbeit wurde das in [19] vorgeschlagene Modell zur Partitionierung hybrider Systeme diskutiert und die Anwendbarkeit verschiedener verschiedener Optimierungsverfahren auf das Problem untersucht.
Hierbei wurde der Systemgraph um die Ein-/Ausgabe-Blöcke erweitert, damit der Systemgraph eine eine konsistente Erweiterung des des Graphen-Modells darstellt. Weiterhin wurden die Probleme und Einschränkungen aufgezeigt, die sich bei der Abbildung eines hybriden Systems auf den Systemgraphen ergeben.
Gegenstand der Arbeit ist ein Gleichheitskalkül für den Kern einer nicht-strikten funktionalen Programmiersprache. Funktionale Programmiersprachen unterstützen bestens die Prinzipien Abstraktion, Einkapselung, Hierarchiesierung und Modularisierung, die gemeinhin als Grundelemente des Software-Engineering betrachtet werden. Darüber hinaus bieten funktionale Programmiersprachen aufgrund ihrer Entwicklung aus dem Lambda-Kalkül eine große Nähe zu mathematischen Modellen. Daher besitzen sie im Bereich der Programmverifikation ausgeprägte Vorteile gegenüber imperativen oder objekt-orientierten Programmiersprachen. In der Arbeit wird nun ein Gleichheitsbegriff für Ausdrücke in funktionalen Programmiersprachen entwickelt und dessen Praktikabilität durch die Implementierung eines Beweisers untermauert. Dieser Gleichheitsbegriff ist die kontextuelle Gleichheit, die Ausdrücke aufgrund ihres Terminierungsverhaltens als Unterprogramme in allen möglichen Kontexten einordnet. Kontextuelle Gleichheit wird in Kapitel 2 vorgestellt, nachdem der klassische und der sogenannte "lazy" Lambda-Kalkül eingeführt wurden. Kapitel 3 enthält einen Überblick über die funktionale Programmierung, da auch die Implementierung des o.g. Beweisers in einer funktionalen Programmiersprache, nämlich Haskell, durchgeführt wird. In Kapitel 4 wird die funktionale Kernsprache, die Gegenstand der Untersuchung sein wird, beschrieben. Sie enthält alle wesentlichen Elemente wie z.B. Funktionsdefinition und -anwendung sowie Datentypen. Im selben Kapitel wird auch der Gleichheitsbegriff für diese Kernsprache definiert. Kapitel 5 schließlich entwickelt auf Basis der zuvor erfolgten Definitionen einen Kalkül für den Gleichheitsbeweis. Außerdem wird in diesem Kapitel auch die Umsetzung dieses Gleichheitskalküls präsentiert. Aus der Dissertation von Marko Schütz werden hierbei Erkenntnisse über die Kontextanalyse verwendet, um erfüllende Belegungen von freien Variablen zu berechnen. Die Arbeit schließt mit Beispielanalysen und Meßwerten sowie einer Diskussion der Ergebnisse und möglicher Erweiterungen.
Wir betrachten in dieser Diplomarbeit die Sicherheit des ringbasierten Public Key Kryptosystems NTRU, das 1996 von J. Hoffstein, J. Pipher und J.H. Silverman vorgeschlagen wurde. Dieses Kryptosystem bietet schnelle Kodierung und Dekodierung in Laufzeit O(n exp 2) bei kleinem Sicherheitsparameter n. Die Sicherheit des Systems beruht auf einem Polynomfaktorisierungsproblem (PFP)im Polynomring Zq[X]/(X exp n -1). Das PFP wurde von Coppersmith und Shamir auf ein Kürzestes Vektor Problem im Gitter Lcs reduziert. Die neuen Ergebnisse dieser Arbeit bauen auf dem Gitter Lcs auf. Wir betrachten die Nachteile von Lcs und konstruieren verbesserte Gitterbasen zum Angriff auf das NTRU-Kryptosystem. Dabei nutzen wir Strukturen des Polynomrings Zq[X]/(X exp n -1) und der geheimen Schlüssel aus. Durch die neuen Gitterbasen wird der Quotient aus der Länge des zweitkürzesten und der Länge des kürzesten Gittervektors vergrößert. Da wir Approximationsalgorithmen zum Finden eines kürzesten Vektors verwenden, beschleunigt dies die Attacken. Wir präsentieren verschiedene Methoden, wie man die Dimension der Gitterbasen verkleinern kann. Durch die verbesserten Gitterattacken erhalten wir eine Cryptanalyse des NTRU-Systems in der vorgeschlagenen mittleren Sicherheitsstufe. Beträgt die Zeit zum Brechen eines Public-Keys unter Verwendung der Coppersmith/Shamir-Basis 1 Monat, so verringert sich die Laufzeit durch einen kombinierten Einsatz der neuen Gitterbasen auf ca. 5 Stunden auf einem Rechner und bei Parallelisierung auf ca. 1:20 Stunde auf 4 Rechnern. Wir erwarten, daß die neuen Methoden NTRU in hoher Sicherheitsstufe n = 167 brechen, obwohl für dieses n bisher nur "schwache" Schlüssel gebrochen wurden. Trotz signifikanter Verbesserungen deuten die experimentellen Ergebnisse auf ein exponentielles Laufzeitverhalten bei steigendem Sicherheitsparameter n hin. Der Laufzeitexponent kann allerdings gesenkt werden, so daß man n größer wählen muß, um Sicherheit gegenüber den neuen Attacken zu erzielen. Auch wenn das NTRU-Kryptosystem nicht vollständig gebrochen wird, verliert es seinen größten Vorteil gegenüber anderen Public Key Kryptosystemen: Die effiziente Kodierung und Dekodierung bei kleinem Sicherheitsparameter n.
Wir haben Interaktion in der Kommunikationskomplexität untersucht und dabei die drei Modi probabilistische, (beschränkt) nichtdeterministische und quantenmechanische Kommunikation betrachtet. Bei allen drei Modi haben wir herausgefunden, dass Interaktion für Effzienz oft unerlässlich ist, im nichtdeterministischen Fall gibt es eine Abhängigkeit zwischen dem Einfluss der Interaktion und der erlaubten Anzahl der nichtdeterministischen Ratebits. Abgesehen von dem erreichten besseren Verständnis des Kommunikationsmodells haben wir verschiedene Anwendungen auf andere Berechnungsmodelle beschrieben, bei denen untere Schranken der Kommunikation zu unteren Schranken für andere Ressourcen in diesen Modellen geführt haben. Ein Beispiel eines kommunikations- und interaktionsbeschränkten Modells sind endliche Automaten, welche wir in allen drei Modi untersucht haben. Ein weiteres Beispiel sind Formeln, für die wir eine Verbindung zwischen Einweg Kommunikation und Formellänge herstellen konnten. Diese Verbindung führte zu unteren Schranken für probabilistische, nichtdeterministische und Quanten Formeln. Dabei sind die unteren Schranken für Quanten Formeln und probabilistische Formeln im wesentlichen gleich. Für monotone Schaltkreise haben wir gezeigt, wie nichtdeterministisches Raten die Tiefe drastisch reduzieren kann, und wie eine geringfügige Einschränkung der nichtdeterministischen Ratebits zu einer Tiefenhierarchie führt. Insgesamt lässt sich feststellen, dass die Schwäche interaktionsbeschränkter Kommunikation mathematisch nachvollziehbar ist. Außerdem scheint ein solches Verhalten in der Welt einfacher Berechnungsmodelle häufig aufzutreten. Oder anders gesagt, viele Berechnungsmodelle sind deshalb einfacher zu verstehen, weil sie durch interaktionsbeschränkte Kommunikation analysierbar sind.
Schemaevolution in objektorientierten Datenbanksystemen auf der Basis von Versionierungskonzepten
(2000)
Gegenstand dieses Kapitels ist zunächst die Zusammenfassung der in dieser Arbeit erreichten Ergebnisse im Hinblick auf die ursprüngliche Zielsetzung, also die Unterstützung von Schema evolution in objektorientierten Datenbanksystemen. Anschließend folgen Überlegungen, welche der erzielten Ergebnisse zur Lösung von Problemen in anderen Arbeitsbereichen herangezogen werden können und auf welche Weise dies geschehen kann. Die Arbeit schlie?t mit einem Ausblick auf weitere Arbeiten im von uns bearbeiteten Themengebiet. Erreichte Ziele Ausgangspunkt unserer Arbeit war die Beobachtung, dass die Evolution von Datenbankschema ta, welche zur Anpassung an sich ändernde funktionale und nichtfunktionale Anforderungen 130 der Diskurswelt benötigt wird, durch die gegenwärtig verfügbaren Modelle und Systeme nicht adäquat unterstützt wird. Wir stellten daraufhin die Hypothese auf, dass ein Modell auf der Basis der Versionierung von Schemata mit einer entsprechenden Abbildung der Änderungen auf die Objektebene dies leisten kann. Wir konnten in dieser Abhandlung zeigen, dass das nach diesen Gesichtspunkten entworfene COASTModell die daran gestellten Erwartungen erfüllt und Sche maänderungen in Gegenwart existierender Objekte und Applikationen erfolgreich realisierbar sind. Die einzelnen Arbeitsschritte und Ergebnisse ergaben sich dabei wie folgt: - Problemanalyse und grober Modellentwurf: Die Notwendigkeit einer Unterstützung für Schemaevolutionsprozesse ergab sich aus der Beobachtung, dass vor allem moderne An wendungsbereiche eine flexible Anpassung an ständig veränderliche Umstände erfordern. Während des Betriebs einer Datenbank aufkommende Änderungsanforderungen lassen sich zur Entwurfszeit nicht vorhersehen und sind im Rahmen fest vorgegebener Datenbanksche mata nur schwerlich adäquat umsetzbar. Wir konnten in diesem Zusammenhang bei den vorhandenen Systemen zur Unterstützung der Schemaevolution das Fehlen einer Berück sichtigung im Betrieb beøndlicher Datenbankapplikationen feststellen. Gleichzeitig blieben Anforderungen an flexibel koppelbare Datenbankzustände für verschiedene Schemaausprä gungen bisher unberücksichtigt. Das an dieser Stelle grob skizzierte Modell zur Lösung des Problems beruhte folgerichtig auf dem Einsatz von Versionierungskonzepten auf der Ebene der Datenbankschemata. Solche Versionierungskonzepte hatten ihre Fähigkeiten zur Unterstützung von Evolutionsprozessen insbesondere auch im Zusammenhang mit Entwurfsaufgaben bereits zuvor sowohl auf der Ebene kompletter Datenbanken als auch auf der einzelner Objekte nachgewiesen. - Untersuchung bestehender Lösungsansätze: Wir konnten für das Lösungsmodell vier ele mentare Aspekte identiøzieren: Durchführung von Änderungen auf Schemaebene unter Verwendung von Versionierungskonzepten, Erzeugung und Verwaltung der Abhängigkeits beziehungen zwischen den Schemaversionen, Abbildung der Änderungen auf die Objekt ebene sowie flexible Konzepte zur Steuerung und Durchführung der Objektpropagation. Da kein Modell existierte, das all diese Punkte berücksichtigt, mussten wir uns in der Literatur recherche auf Ansätze beschränken, die sich mit einzelnen Aspekten unserer Aufgabenstel lung befassen. Aus dieser Perspektive stellt sich unser Modell zu einem Teil als Integration früherer Arbeiten dar. Zum anderen Teil beruht unser Modell in den grundlegenden Aspek ten der Behandlung von Ableitungsbeziehungen sowie der Steuerung und Durchführung der Objektpropagation auf gänzlich neuen Ansätzen. Die wesentliche Erkenntnis dieses Arbeitsschrittes ist somit die Feststellung, dass einerseits verschiedene Konzepte bestehen der Ansätze übernommen werden konnten, obwohl keine Arbeit alle Anforderungen an unser Modell erfüllte, und andererseits einige Aspekte bislang nahezu vollständig ignoriert wurden. - Detaillierte Modellbildung: Aufgrund der Erkenntnisse über bestehende Arbeiten entwarfen wir in diesem Arbeitsschritt COAST als Modell zur Durchführung von Schemaänderun gen in Anwesenheit von Objekten und Applikationen. Grundbestandteile unseres Ansatzes sind die Schemaversionen, die vergleichbar einer Konøgurationsverwaltung semantisch in Zusammenhang stehende Klassenversionen zu konsistenten Teilstrukturen zusammenset zen. Für die Durchführung von Schemaänderungen haben wir zwei grundsätzlich verschiedene Wege analysiert und resultierende Konsequenzen studiert. Dem internen Ansatz folgend wird eine von dem jeweiligen Einsatzgebiet des Systems unabhängige, fest vorgegebene und konzeptionell vollständige Taxonomie von Schemaänderungsprimitiven bereitgestellt, de ren Semantik a priori bekannt ist und demzufolge bei allen weiteren Schritten auf Schema und Objektebene berücksichtigt werden kann. Der externe Ansatz, als Alternative, erlaubt die Durchführung applikationsspezifischer Schemaänderungen und erhöht damit die Flexi bilität. Der Prozess des Einbringens extern erstellter Schemaversionen in das System kann dabei in vielfältiger Weise unterstützt werden. Bemerkenswerterweise fanden sich die auf Schemaebene angewandten Konzepte analog auf Instanzenebene wieder und zwar bei den Objektversionen, deren Zusammenhang sich in Form von Propagationsgraphen widerspiegelt ähnlich den Ableitungsbeziehungen auf Sche maebene. Die Steuerung der Objektpropagation sowohl zum Zeitpunkt der Schemaände rung als auch später, als Reaktion auf verändernde Datenbankzugrioee ist im behandelten Umfeld mit Sicherheit einzigartig. - Validierung des Modells: Aussagen zur Tauglichkeit des Modells im Hinblick auf seine Kon zeptionsziele konnten wir durch eine Evaluierung anhand unserer sehr detailliert beschrie benen Vorgaben erhalten. Damit ist gleichzeitig ein Vergleich mit bisherigen Lösungswegen insgesamt und mit einzelnen Vertretern davon gegeben. Die Evaluierung konnte in allen Aspekten belegen, dass das COASTModell zur Unterstützung von Schemaänderungen in Benutzung befindlicher Datenbanksysteme gut geeignet ist. Wir möchten an dieser Stelle nochmals betonen, dass COAST in vielerlei Hinsicht einfach erweitert werden kann und im Vergleich zu bisherigen Systemen durch erheblich flexiblere Möglichkeiten der Einflussnahme und eine verbesserte Tauglichkeit ausgezeichnet wird. Zu nächst sind sowohl die hier vorgestellte Schemaänderungstaxonomie als auch die damit ver bundene Propagationssprache vielfältig um komplexe Operationen erweiterbar. Weiterhin kann die Menge verwendbarer Propagationsflags insbesondere mit Blick auf das Verhalten bei komplexen Schemaänderungen hin ergänzt werden. Aber bereits die hier dargestell ten Möglichkeiten der Propagationssteuerung decken das gesamte Spektrum von isolierten Schemaversionen am einen Ende bis hin zur kompletten Propagation am anderen Ende ab. In Erweiterung der Konzepte auf der Basis von Sichtenmechanismen können durch die Objektversionierung beliebige Änderungen des Datenbankzustandes durchgeführt wer den. Damit wird ein erheblicher Beitrag für die Transparenz der Schemaevolution für die Applikationsentwickler geleistet. Die für die Tauglichkeit wichtigste Eigenschaft besteht zweifelsfrei in der Möglichkeit, be stehende Applikationen auch noch nach der Durchführung von Schemaänderungen ohne Anpassung weiterverwenden zu können. Damit erweitert sich der Einsatzbereich von Sche maänderungen auf sehr große, komponentenbasierte Systeme auf der Basis zahlreicher Einzelapplikationen. - Hinweise für den Datenbankentwurf: Um den Schemaversionierungmechanismus adäquat einsetzen zu können, erweisen sich Aussagen über den Schemaänderungsprozess als notwen dig. Daher haben wir diesen Prozess systematisch in Teilschritte zerlegt, die nacheinander betrachtet werden können. Bereits während der Modellbildung haben wir dort, wo sich ei nem Schemaentwickler Alternativen im Umgang mit COAST bieten, diese aufgezeigt und ihre jeweiligen Konsequenzen untersucht. Im Ergebnis resultiert für den Schemaentwick ler im Vergleich zu unversionierten Systemen ein zusätzlicher Spezifikationsaufwand. Dies ist jedoch für die Erreichung unserer Ziele unvermeidbar und der Gesamtaufwand für die Durchführung einer Schemaänderung reduziert sich dem Versionierungskonzept folgend er heblich, nicht zuletzt, weil aus der Sicht der Applikationsentwickler die volle Transparenz gewährleistet wird. - Realisierungsbetrachtungen: Um Erkenntnisse über den Realisierungsaufwand sowie die zu erwartenden Leistungsmerkmale zu erhalten, haben wir zweierlei Ansätze für eine pro totypische Realisierung untersucht. Zum einen haben wir einen Schemaversionierungsme chanismus als Aufsatz auf dem kommerziellen Objektdatenbanksystem O 2 implementiert. Auch wenn sich dies konzeptionell als möglich erwiesen hat, so haben sich dort an mehre ren Stellen erhebliche Einbußen bezüglich der Transparenz gezeigt [Wöh96]. Daher haben wir uns verstärkt mit dem zweiten, deutlich aufwendigeren Weg beschäftigt: die Eigenent wicklung eines kompletten, objektorientierten Datenbankmanagementsystems, bei dem die Konzepte von COAST transparent und von Anfang an im Kern integriert werden konnten. Die Realisierung der verzögerten Propagation kann bei realistischen Zugriffsprofilen mit einer gewissen Lokalität bezüglich der Schemaversionen größenordnungsmäßig mit unver sionierten Systemen vergleichbare Laufzeiten erreichen. Konzeptionell bedingt muss zwar ein größerer Platzbedarf als bei einem statischen System (ohne Schemaänderungen) in Kauf genommen werden. Im Vergleich zu anderen Konzepten der Schemaevolution, etwa den Ansätzen auf der Basis von isolierten Datenbanken oder mit materialisierten Sichten tritt aber kein Mehraufwand auf. In all diesen Varianten wird, ähnlich wie bei Puffern absichtlich Platz zugunsten einer erhöhten Zugriffsgeschwindigkeit investiert. Je ähnlicher sich verschiedene Schemaversionen sind und je intensiver die Propagation zwischen ihnen demnach ausfällt, desto besser sind die Voraussetzungen für platzsparende Mechanismen auf der Basis von mehreren Schemaversionen gemeinsam genutzter Objektversionen. In die sem Zusammenhang konnten wir eine Reihe von Verbesserungsmöglichkeiten identifizieren, die den COASTPrototyp Systemen auf der Basis von Sichtenmechanismen gleichstellen würden. Übertragbarkeit der Ergebnisse Die Tragfähigkeit der Konzepte des COASTModells für die Unterstützung evolutionärer Sche maänderungen haben wir erfolgreich belegen können. Im folgenden sprechen wir noch einige Möglichkeiten an, die in dieser Abhandlung gewonnenen Erkenntnisse auch im Zusammenhang mit anderen Konzepten einzusetzen. - Abschnitt 2.2 hatte allgemeine Versionierungskonzepte vorgestellt, wie sie typischerweise auf Objekte angewendet werden, um deren inhaltliche Evolution abzubilden. Wir haben dieselben Konzepte in der vorliegenden Arbeit auf Schemata als Instanzen der Metaebene angewendet, um deren evolutionäre Entwicklung zu unterstützen. Dabei hat sich die Ver wendung versionierter Datenbankobjekte ebenfalls als sehr hilfreich erwiesen. Die Versio nen eines Objektes bei der Schemaversionierung repräsentieren ein Objekt in verschiedenen Datentypen. Von Situationen abgesehen, in denen das Modifikationsflag abgeschaltet ist und Änderungen daher gewollt nicht propagiert werden, repräsentieren die Versionen eines Objektes denselben logischen Objektwert. Damit unterscheiden sich die hier verwendeten Objektversionen von denen der klassischen Objektversionierung. Letztere stellen nämlich verschiedene logische Objektwerte dar, die allerdings alle demselben Datentyp entsprechen. Die vorangegangene, vergleichende Betrachtung zeigt einerseits, dass die beiden Formen der Versionierung unterschiedliche Ziele verfolgen, und andererseits legt sie die Vermutung nahe, dass es sich um orthogonale und damit gewinnbringend kombinierbare Ansätze han delt. Verschiedene Typen zur Darstellung desselben logischen Objektwertes hier stehen verschiedenen Objektwerten desselben Typs dort gegenüber. Tatsächlich lässt sich unser Ansatz um Mechanismen zur Objektversionierung erweitern, indem jede unserer Objektversionen nun durch verschiedene klassische Objektversionen ersetzt wird. Damit entsteht ein zweidimensionaler Raum von Objektversionen: entlang der einen Dimension liegt jeweils ein logischer Objektwert in verschiedenen Typen, entlang der anderen Dimension liegen jeweils verschiedene logische Zustände eines Objektes, die durch denselben Typ repräsentiert werden. Um die Kombination der beiden Versionierungskonzepte zu erreichen, sind allerdings noch einige Fragen näher zu untersuchen. Diese beschäftigen sich beispielsweise mit dem Zu sammenhang zwischen den Objektversionen entlang der beiden Dimensionen und mit der Propagation versionierter Objekte. Hier ist beispielsweise zu klären, ob alle, oder wenn nicht welche der logischen Objektwerte eines Objektes in andere Schemaversionen zu pro pagieren sind. Schließlich bietet die Realisierung des integrierten Gesamtkonzeptes zahl reiche Ansatzpunkte für technische Optimierungen und erfordert diese auch, um sowohl den Zeitaufwand für die Propagation als auch den Platzbedarf für die Speicherung der zweidimensional versionierten Objekte zu reduzieren. - Wir waren in der Literaturrecherche auf das Sichtenkonzept als Grundlage zur Simulati on von Schemaänderungen eingegangen und hatten dabei einige Deøzite bei der Lösung der hier betrachteten Aufgabenstellung identiøziert. Dies impliziert jedoch keine Aussa ge über die Tragfähigkeit von Sichten in dem Umfeld, für das sie ursprünglich konzipiert worden waren. Aufgrund der mit COAST erzielten Transparenz, die eine Schemaversion nach außen hin wie ein Schema eines unversionierten Systems erscheinen läßt, kann ein Sichtenkonzept auf dem COASTModell aufgesetzt werden. Konzeptionelle Schwierigkei ten sind durch die Kombination von Sichten und Schemaversionen nicht zu erwarten: Beim Ableiten neuer Schemaversionen können auf den Vorgängern definierte Sichten bei Bedarf mitintegriert werden und das Anlegen, Ändern und Löschen von Sichten kann durch die Primitive des Sichtenmechanismus erfolgen. In einem beide Konzepte integrierenden System kann entsprechend der gestellten Anforderungen entschieden werden, ob diese besser durch Anlegen einer neuen Sicht oder durch Ableiten einer neuen Schemaversion erfüllt werden. - Einen Schritt über die Integration eines separaten Sichtensystems hinaus geht die Über legung, ob Sichten nicht sogar durch Schemaversionen simuliert werden können. Damit wäre dann auch eine vollständig homogene Integration beider Konzepte in einem System erreicht. Um diese Überlegung zu verfolgen, betrachten wir die konzeptionellen Kompo nenten eines Sichtensystems und analysieren kurz, wie diese auf die Konzepte von COAST abgebildet werden können. Die für den Schemaentwickler zu verwendende Schnittstelle eines Sichtensystems ist durch die Sichtendefinitionssprache gegeben. Die dort zur Verfügung stehenden Konstrukte die nen zunächst der Definition des Sichtschemas und sind insoweit durch die Primitive der COASTODL abgedeckt. Darüber hinaus bestimmt eine Sichtendefinition die Extension der Sichtklassen durch Angabe je einer Anfrage, wobei das Ergebnis dieser Anfrage dem Schema der definierten Sichtklasse entsprechen muss bzw. dieses implizit erst bestimmt. Um diesen Teil eines Sichtenkonzeptes zu simulieren, sind in COAST zwei Erweiterungen not wendig. Zum einen wird eine Anfragesprache benötigt. Diese wäre für die Vervollständigung von COAST sowieso erforderlich und könnte sich konzeptionell sehr stark an bestehenden objektorientierten Anfragesprachen orientieren. Ein Anfragesystem muss zu jeder Anfrage zunächst das Schema ihres Resultates ermitteln und dieses könnte dann mit den Primiti ven der COASTODL erstellt werden. Daraufhin muss das Anfragesystem die eigentliche Durchführung der Anfrage auf der Datenbank erledigen. Dies beschreibt gleichzeitig die zweite in COAST erforderliche Erweiterung. Für die Durchführung der Anfrage und ins besondere der darin ggf. enthaltenen Selektion von Objekten müsste eine entsprechende Erweiterung der Propagationssprache von COAST vorgenommen werden. Änderungen von Objekten in Sichtklassen sind aufgrund des Sichtenänderungsproblems i.Allg. nicht durchführbar, da in der Sichtendefinitionssprache keine Möglichkeit besteht, die Auswirkungen einer solchen Änderung auf die Objekte des Basisschemas zu spezifi zieren. Daher bieten einige Konzepte Erweiterungen an, die man in COAST durch Ver wendung von Rückwärtskonvertierungsfunktionen bereits hat. Durch die Vorwärts und Rückwärtskonvertierungsfunktionen können beide Richtungen von Abbildungen zwischen (simuliertem) Basisschema und (simuliertem) Sichtschema sogar homogen durch dasselbe Konzept spezifiziert werden. Die Propagationsflags wären zur Simulation alle eingeschaltet und durch die Verwendung der verzögerten Propagationsmechanismen von COAST liefert die Simulation von Sich ten durch Schemaversionen zusätzlich ein optimiertes Konzept der Materialisierung von Sichten. - Das Konzept der direkten Schemaevolution hatte sich bei der Anwendung in dem hier beschriebenen Einsatzgebiet als zu restriktiv erwiesen. Nichtsdestotrotz kann die direkte Schemaevolution in Einzelfällen für die Durchführung von Schemaänderungen genügen, insbesondere solange noch keine Applikationen für eine Schemaversion implementiert sind. Folgerichtig können Situationen entstehen, wo selbst eingefrorene Schemaversionen noch in eingeschränktem Umfang änderbar wären, auch wenn dies i.Allg. nicht der Fall ist. Daher haben wir eine Kombination der direkten Schemaänderung mit dem Versionierungsansatz auf der Basis des Datenmodells von O 2 untersucht [FL96] (siehe Abschnitt 5.4.2). Dort konnten wir durch eine Klassiøkation der Schemaänderungsprimitive feststellen, ob den im Einzelfall gegebenen Umständen zufolge die Ableitung einer neuen Schemaversion erfor derlich ist oder nicht. Auf diesem Wege kann die Zahl entstehender Schemaversionen und damit auch der sich ergebende Verwaltungsaufwand reduziert werden. - Die in Datenbanksystemen benötigten Änderungsoperationen lassen sich drei elementaren Kategorien zuordnen:
Zunächst wurde die Notwendigkeit von Schemaänderungen erläutert und verschiedene Ansätze aus der Literatur beschrieben, Schemaänderungen in laufenden Systeme so durchzuführen, dass eine möglichst einfache und automatisch stattfindende Konvertierung der betroffenen Datenobjekte erfolgen kann. Beim Vergleich erweist sich das Konzept der Schemaversionierung als die leistungsfähigste Lösung. Der Grundgedanke der Schemaversionierung ist, durch jede Schemaänderung eine neue Schemaversion zu erstellen, wobei die alte Schemaversion weiterhin benutzt werden kann. Die Datenobjekte liegen ebenfalls in mehreren Versionen vor und die Schemaänderung wird auf Objektebene nachempfunden, indem Datenänderungen propagiert, d.h. die Daten automatisch konvertiert werden. Für die Propagation werden die Beziehungen zwischen den Schemaversionen ausgenutzt. Mit dem Konzept der Schemaversionierung ist es möglich, mehrere Versionen eines Schemas parallel zu benutzen und nur die auf die Datenbank zugreifenden Applikationen anzupassen, die auch wirklich von der Schemaänderung betroffen sind. Diese Diplomarbeit ist Teil des COAST-Projekts, das die Schemaversionierung als Prototyp umsetzt. In COAST existierte vor dieser Diplomarbeit nur die Möglichkeit, einfache Schemaanderungen durchzuführen. Neu wurden komplexe Schemaanderungsoperationen eingeführt und das Konzept der Propagation entsprechend erweitert. Komplexe Schemaänderungen unterscheiden sich von einfachen Schemaänderungen dadurch, dass sie Attribute aus mehreren Quellklassen in einer Zielklasse (oder andersherum) vereinen können. Die bereits in kurz angeschnittenen Default-Konvertierungsfunktionen wurden genauer untersucht und konkret eingeführt. Es wurden mehrere typische Schemaänderungsoperationen vorgestellt und darauf untersucht, ob sie mit den bisherigen einfachen Schemaänderungsoperationen durchführbar waren oder ob dazu komplexe Schemaänderungsoperationen nötig sind. Außerdem wurde analysiert, ob das System für die entsprechenden Operationen automatisch sinnvolle Defaultkonvertierungsoperationen generieren kann oder ob ein Eingriff des Schemaentwicklers notwendig ist. Dazu wurden sie in eine von vier Kategorien eingeteilt, die aussagen, ob einfache oder komplexe Schemaänderungsoperationen nötig sind und ob sinnvolle Default-Konvertierungsfunktionen ohne Eingriff des Schemaentwicklers erzeugt werden können oder nicht. Zu jeder der aufgezahlten Schemaänderungsoperationen wurde die entsprechende vom System erzeugte Default-Konvertierungsfunktion aufgeführt und im Falle, dass sie der Schemaentwickler uberprüfen muss, angegeben, wo noch potenzieller Bedarf für manuelle Änderungen vorliegt. Die Auswirkungen der Einführung von komplexen Schemaänderungsoperationen auf die Propagation wurde im nächsten Kapitel analysiert und dabei festgestellt, dass das bisherige Konzept der Propagationskanten zwischen je zwei Objektversionen desselben Objekts nicht mehr ausreicht. Entsprechend wurde das neue Konzept von kombinierten Propagationskanten entwickelt, das Kanten zwischen mehr als nur zwei Objektversionen zulässt. Dazu wurden verschiedene Lösungsmöglichkeiten miteinander verglichen. Weiter wurden verschiedene Ansätze fur die Darstellung und Speicherung von Konvertierungsfunktionen vorgestellt und entschieden, die Konvertierungsfunktionen konkret in textueller Darstellung in den Propagationskanten zu speichern. Fur die Spezifizierung der gewünschten Konvertierungen bei der Propagation wurde eine Konvertierungssprache entwickelt und nach verschiedenen Gesichtspunkten konzipiert. Diese Gesichtspunkte umfassen sowohl den nötigen Funktionsumfang der Sprache wie auch entwurfstechnische Aspekte. Sämtliche Befehle der entwickelten Sprache wurden detailliert vorgestellt und abschließend die Sprache in BNF (Backus-Naur-Form) präsentiert. COAST ist inzwischen als Prototyp implementiert und wurde u.a. auf der CeBIT '99 vorgestellt (s. [Lau99b] und [LDHA99]). Nach einer Beschreibung der Funktionsweise und des Aufbaus von COAST und insbesondere des Propagationsmanagers wurden einige Implementierungsdetails vorgestellt und verschiedene Betrachtungen zur moglichen Optimierung beschrieben. Die Ziele der Diplomarbeit wurden damit erreicht: Die Schemaevolution kann mit den Vorzügen der Versionierung durchgeführt werden. Komplexe Schemaänderungen sind nun möglich und wurden ins Modell integriert. Die Propagation wurde entsprechend erweitert und eine Sprache zur Spezifikation der Propagation entwickelt.
Erkennung kritischer Zustände von Patienten mit der Diagnose "Septischer Schock" mit einem RBF-Netz
(2000)
Es wurde gezeigt, dass der Arzt mit dem wachsenden RBF-Netz durch die Ausgabe von verlässlichen Warnungen unterstützt werden kann. Wie in der Clusteranalyse erläutert, leiden die Ergebnisse jedoch unter den wenigen Patienten und unter der ungenauen zeitlichen Erfassung der Daten. Da jeder Patient sehr individuelle Zustände annimmt, ist ein größeres Patientenkollektiv notwendig, um eine umfassende Wissensbasis zu lernen. Eine medizinische Nachbearbeitung der Wissensbasis durch die Analyse der Fälle ließe eine weitere Verbesserung des Ergebnisses erwarten. Somit könnten unbekannte Zusammenhänge durch das Lernen aus Beispielen und medizinisches Fachwissen kombiniert werden. Abstraktere Merkmale, die weniger abhängig von individuellen Zuständen sind, könnten eine Klassifikation noch weiter verbessern. Ein Ansatzpunkt ist z.B. die Abweichung der Messwerte vom gleitenden Mittelwert. Dieses Maß ist unempfindlicher gegenüber den individuellen Arbeitspunkten der Patienten und bildet auch die Basis von relativen Abhängigkeiten zwischen zwei Variablen, die in einem weiteren Schritt ebenfalls als Merkmal herangezogen wurden. Obwohl die Verwendung der relativen Abhängigkeiten zwischen zwei Variablen als Merkmal nicht deutlichere oder häufigere Warnungen hervorbringen konnte, weist doch die Clusteranalyse auf eine bessere Verteilung der Patienten hin. Einige Cluster sind besser für die Vorhersage geeignet, als dieses bei einer Clusterung auf Basis der Zustände erreicht werden kann. Unterstützt wird dieses Ergebnis auch durch den größeren Unterschied der Sicherheiten von falschen und richtigen Klassifikationen. Neben den bisher untersuchten Merkmalen scheinen auch die Variablen interessant zu sein, bei denen festgestellt wurde, dass sie sich trotz Medikamentengabe und adäquater Behandlung schwer stabilisieren lassen. Durch den behandelnden Arzt werden diese Werte üblicherweise in einem gewissen Bereich gehalten. Falls sich das Paar Medikament/physiologischer Parameter nicht mehr in einem sinnvollen Verhältnis befindet, kann dieses ein wichtiger Indikator sein. Nach dem Aufbau der grundlegenden Funktionalität der hier untersuchten Methoden ist die Suche nach geeigneten Merkmalen als Eingabe für ein neuronales Netz ein wesentlicher Bestandteil folgender Arbeiten. Abgesehen von dem generell anspruchsvollen Vorhaben aus Klinikdaten deutliche Hinweise für die Mortalität septischer-Schock-Patienten zu erhalten, liegen die wesentlichen Probleme in dem Umfang und der Messhäufigkeit der Frankfurter Vorstudie begründet, so dass eine Anwendung von Klassifikationsverfahren auf das umfassendere Patientenkollektiv der MEDAN Multicenter-Studie klarere Ergebnisse erwarten lässt. Eine weitere, für medizinische Anwendungen interessante, Analysemöglichkeit ist die Regelgenerierung, die zur Zeit in einem anderen Teilprojekt in der MEDAN-Arbeitsgruppe bearbeitet wird. Hier können im Fall metrischer Daten zusätzliche Hinweise für die Leistung eines reinen Klassifikationsverfahrens gewonnen werden mit dem Vorteil einer expliziten Regelausgabe. Zum anderen werden in diesem Teilprojekt auch Verfahren zur Regelgenerierung eingesetzt, die ordinale und nominale Variablen wie Diagnosen, Operationen, Therapien und Medikamentenangaben (binär, ohne genaue Dosis) auswerten können. Diese werden in den Multicenter-Daten vorhanden sein. Durch Kopplung der Regelgeneratoren für metrische Daten auf der einen Seite und für diskrete Variablen auf der anderen Seite, besteht durchaus die Hoffnung bessere Ergebnisse zu erzielen. Da der Regelgenerator für metrische Daten auf dem RBF-DDA (Abk. für: Dynamic Decay Adjustment)-Netz [BERTHOLD und DIAMOND, 1995] beruht, bietet es sich innerhalb des MEDAN-Projekts an, einen (bislang nicht durchgeführten) Vergleich mit dem hier verwendeten Netztyp durchzuführen. Der Vergleich ist allerdings nur von prinzipiellem Interesse und kann auf den hier betrachteten Daten kein grundsätzlich besseres Ergebnis liefern als die bislang durchgeführten Analysen; er kann aber zu einer umfangreichen Bewertung der Ergebnisse beitragen.
Ziel dieser Arbeit war es, ein System zu entwickeln, mit dem Sätze von Reduktionsdiagrammen auf ihre Vollständigkeit überprüft werden können. Das System sollte in der puren, funktionalen Programmiersprache Haskell realisiert werden und speziell auf einen nichtdeterministischen Kalkül mit Konstruktoren, einem case-Konstrukt und einem rekursiven let- Ausdruck (letrec) ausgerichtet sein. Dazu wurde in Kapitel 2 der lambda-Kalkül und funktionale Programmiersprachen eingeführt, um die Entwicklung der Kalküle lambda-nd und lambda-nd,rec zu motivieren. Die Basis-Kalküle lambda-nd und lamda-nd,rec wurden in Kapitel 3 bezüglich ihrer Sprachdefinition und Reduktionsregeln vorgestellt. Die Implementierung der beiden Kalküle und der Parser für die verwendete Kernsprache wurden ebenso angegeben wie die Mechanismen zur Markierung und Reduktion der Terme. Die Unterscheidung eines reduzierbaren Terms in NO- und internen Redex, sowie deren Erkennung wurde in diesem Kapitel besonders herausgestellt, da sie die Grundlage für die zu validierenden Reduktionsdiagramme darstellt. Damit ist der Grundstock für diese Arbeit gelegt worden. In Kapitel 4 haben wir kurz Methoden vorgestellt, die lamda-Kalkülen und deren Derivate eine Bedeutung zuzumessen versuchen, um Programme oder Terme miteinander vergleichen zu können. Also nicht nur ihre Termstruktur, sondern ihr Verhalten zu vergleichen. Dabei ist festgestellt worden, daß für nichtdeterministische Kalküle nur eine Methode verfügbar ist, und zwar die der kontextuellen Äquivalenz. Da wir gängige Programmtransformationen dahingehend überprüfen wollten, ob sie der kontextuellen Äquivalenz genügen, also nicht die Auswertung oder das Ergebnis derselben verändern, haben wir ein Kontext-Lemma vorgestellt. Mit Hilfe des Kontext-Lemmas ist es uns möglich gewesen, die Gültigkeit von Beweisen in Reduktionskontexten auf beliebige Kontexte auszudehnen. Für die eigentlichen Beweise werden Reduktionsdiagramme benötigt, die Reduktionsfolgen in verschiedener Weise umstellen. Wir haben die Reduktionsdiagramme ebenfalls in Kapitel 4 definiert. Die Reduktionsdiagramme müssen an jeder Stelle einer Reduktionsfolge anwendbar sein, da sonst die Äquivalenz-Beweise nicht möglich sind. D. h. es müßte bewiesen werden, daß mindestens ein Reduktionsdiagramm einer definierten Menge von Reduktionsdiagrammen für jeden Term und jede seiner Reduktionsfolgen anwendbar ist. Der naive Weg wäre, alle Terme und seine Reduktionsfolgen dahingehend zu überprüfen. Da dies jedoch nicht möglich ist, haben wir uns dazu entschlossen so viele Terme wie möglich zu untersuchen, nicht um die Vollständigkeit der Diagramme zu beweisen, sondern um zu zeigen, daß auf viele verschiedenartige Terme Reduktionsdiagramme erfolgreich angewendet werden können. Die Generierung der Terme haben wir in Kapitel 5 ausführlich dargestellt. In Kapitel 6 haben wir die Sprache zur Darstellung von Reduktionsdiagrammen und die Implementierung der Diagramm-Validierung beschrieben. Weiterhin haben wir ein Verfahren vorgestellt, mit dem wir fehlende Diagramme für Terme suchen und meist auch finden können. Das gesamte System haben wir so aufgebaut, daß eine große Menge an Termen generiert wird, für die Diagramme anwendbar sein müssen. Wenn keines der Diagramme auf einen Term anwendbar ist, also nicht validiert werden kann, dann wird ein passendes Diagramm gesucht. Mit Hilfe des entwickelten Systems Jonah sind in Kapitel 7 verschiedene Programmtransformationen dahingehend überprüft worden, ob die angegebenen Reduktionsdiagramme für große Mengen von Termen gültig sind. Dabei ist als Ergebnis herausgekommen, daß ein vollständiger Satz an Reduktionsdiagrammen für die (cp)-Reduktion nur sehr schwer zu finden ist. Selbst neu hinzugefügte Transformationen, die dabei helfen sollten, die Schwierigkeiten zu umgehen, konnten nicht verwendet werden, da es uns ebenfalls nicht möglich gewesen ist, für sie vollständige Diagrammsätze zu finden. Daraufhin haben wir den Basis-Kalkül zweimal erweitert, um die Schwierigkeiten der (cp)-Diagramme in den Griff zu bekommen. Aber auch diese Ansätze haben kein zufriedenstellendes Ergebnis geliefert. Als positives Ergebnis dieser Arbeit kann aber festgestellt werden, daß das System Jonah bei der Entwicklung nichtdeterministischer Kalküle auf Basis von lambda-Kalkülen eine sehr gute Hilfestellung sein kann, auch wenn es nicht zum vollständigen Beweis der Gültigkeit von Reduktionsdiagrammen dienen kann.
Entwurf und prototypische Realisierung einer Architektur zur flexiblen Verschlüsselung von XML-Daten
(2001)
Im Rahmen dieser Arbeit ist auf Basis einer sorgfältigen Prüfung existierender Literatur zu kryptografischen Verfahren und sowohl einer Analyse bestehender Ansätze zur Verschlüsselung von XML-Dokumenten, als auch unter Nutzung bestehender Standards für XML-Technologien, eine Architektur zur flexiblen Verschlüsselung von XML-Daten erstellt worden. Ausgehend von Einsatz-Szenarien wurden dazu Anforderungen an das gewünschte System definiert. Anhand dieser Anforderungen wurde systematisch eine vollständige Spezifikation zur Verschlüsselung von XML-Daten hergeleitet. Weiterhin ist eine erweiterbare und generische Architektur zur Verarbeitung von XML-Daten spezifiziert worden. Auf dieser aufbauend, wurde eine Architektur für die flexible Ver- und Entschlüsselung von XML-Daten erstellt. Diese Architekturen und ihre Komponenten sind generisch, wobei für die prototypische Realisierung exemplarisch eine konkrete Auswahl dieser Komponenten implementiert wurde. Für die Verschlüsselung wurde dazu auf die zuvor erstellte Spezifikation zurückgegriffen und deren relevante Teile implementiert. Anschliessend wurden Experimente durchgeführt, die einen Eindruck von der Leistungsfähigkeit der Architektur gegeben haben. Insgesamt haben sich die Erwartungen an die Architektur mehr als erfüllt. Stehen Transformationen als verwendbare Klassen bereit, die auf dem DOM operieren, so ist es leicht möglich, diese in das DPF einzubetten, wie z.B. beim Verschlüsselungs-Prozessor geschehen. Damit ist eine sehr gute Erweiterbarkeit gegeben. Da die Arbeitsweise eines Transformations-Prozessors sowohl direkt durch übergebene Argumente aus dem DPS als auch durch die Verwendung von Annotationen gesteuert werden kann, kann die Verarbeitung von Dokumenten sehr flexibel und auch feingranular erfolgen. Die Möglichkeit, Annotationen aus mehreren DAS-Dokumenten zu aggregieren, erlaubt eine verteilte Pflege dieser Dokumente. Mit der Möglichkeit, mehrere Prozessoren direkt nacheinander eine Eingabe bearbeiten zu lassen, wird die Flexibilität nochmals gesteigert. Denn wenn die Prozessoren als Komponenten zur Verfügung stehen, können diese stets aufs Neue kombiniert werden. Vor allem der Ansatz, dass alle zur Verarbeitung und Steuerung relevanten Daten in Form deklarativer Beschreibungen erfolgen, die den Bedürfnissen jedes Prozessors angepasst sind, macht das System zu einem mächtigen Instrument. Zudem werden dadurch keine tiefergehenden Programmierkenntnisse benötigt. So entfällt auch die Notwendigkeit, Änderungen des gewünschten Transformations-Ergebnisses durch Änderungen im Quelltext des erzeugenden Programms vorzunehmen. Dadurch sind insgesamt den Möglichkeiten zur Verarbeitung von XML-Dokumenten kaum Grenzen gesetzt. Notwendige Anpassungen bleiben zumeist auf eine oder wenige Komponenten beschränkt, was Änderungen leichter ermöglicht. Dabei hat sich wieder einmal der flexible und trotzdem mächtige Ansatz der Kette von Werkzeugen (Chain of Tools) bewährt. Auch die Spezifikation zur Verschlüsselung von XML-Daten konnte alle Erwartungen erfüllen. Alle eingangs gestellten Anforderungen sind damit ausnahmslos darstellbar. Insbesondere betrifft dies die partielle und feingranulare Verschlüsselung von XML-Daten, sowie die hierarchische und damit einhergehende Super-Verschlüsselung. Rückblickend kann gesagt werden, dass das wissenschaftliche Fundament in Form von kryptografischen Grundlagen zwar sehr gut ist, aber die darauf aufbauenden höherwertigen Dienste und Architekturen aus wissenschaftlicher Sicht bisher kaum Beachtung gefunden haben. So wird zwar die Verschlüsselung von ganzen Daten-Objekten zwischen zwei Empfängern gut beherrscht, aber eine feingranulare Verschlüsselung, bei der Daten an grosse dynamische Empfängergruppen in offenen Systemen vertraulich übermittelt werden, hat bisher keine Beachtung gefunden. In der vorliegenden Arbeit werden diese Probleme adressiert, wobei aber nicht für alle eine abschliessende Lösung präsentiert werden konnte, da dies den Rahmen der Arbeit gesprengt hätte. Vielleicht ist es gerade die fehlende wissenschaftliche Durchdringung, die es so schwierig macht, geeignete Standards für die Verschlüsselung von XML-Dokumenten zu etablieren. Denn wenn man betrachtet, wie lange schon beim W3C über die Verschlüsselung diskutiert und daran gearbeitet wird, so kann es einen nur verwundern, dass nicht greifbarere Ergebnisse vorliegen. Ende Juli, also kurz vor Abschluss der vorliegenden Arbeit, ist bei Recherchen noch ein wissenschaftlich fundierteres Papier aufgetaucht, das auf einer Konferenz im Juni dieses Jahres vorgestellt wurde. Es beschreibt eine Document Security Language (DSL), die auf XSLT beruht und eine Architektur zur Verschlüsselung von XML-Dokumenten [85]. Da die Nähe zu dieser Arbeit gross ist, soll sie hier noch kurz vergleichend betrachtet werden. Die dort beschriebene Architektur und die Sprache bietet auch die Verschlüsselung auf feingranularer Ebene. Aber sie ist nicht erweiterbar und kennt auch kein generisches Meta-Daten-Konzept, so dass sie hinter den Ergebnissen der vorliegenden Arbeit deutlich zurückfällt. Zudem beruht sie auf der vorne schon im Zusammenhang mit der Verwendung von XSLT kritisierten Arbeit in [48]. Sie trägt dazu im Bereich der Verschlüsselung nicht viel Neues bei. Allerdings weist sie einige interessante Ansätze im Bereich der Infrastrukturen auf [85, Abschnitt 3.2]. Um diese könnte die hier vorgestellte Architektur der Verschlüsselungs-Prozessoren ergänzt werden, denn dieses Gebiet wurde in der Arbeit ausgespart.
In dieser Arbeit wurde die Implementierung einer JMX-konformen Managementinfrastruktur für das Agentensystem AMETAS vorgestellt. Darauf basierend wurden im Rahmen des Fehlermanagements Kontrollmechanismen der mobilen Agenten im AMETAS untersucht und eine Lösung für die Lokalisierung von AMETAS-Agenten entworfen und implementiert. Der essentielle Hintergrund für das AMETAS-Management stellt sich folgendermaßen dar: Die Betrachtung des Anwendungs- und Infrastrukturmanagements mit Blick auf die Managementhierarchie stellt die Offenheit und Kooperationsfähigkeit der angestrebten Managementlösung in den Vordergrund. Diese Eigenschaften ermöglichen die Integration der in einem Unternehmen existierenden Managementlösungen. Ziel ist dabei ein kostengünstiges und effizientes Management. Eine Managementarchitektur wird mit Hilfe der informations-, organisations-, kommunikations- und funktionsbezogenen Aspekte beschrieben und modelliert. Anhand dieser Aspekte ist CORBA, DMTF, WBEM und JMX analysiert und ihre Eignung für das AMETASManagement bewertet worden. Neben den allgemeinen Kriterien sind ihre Teilmodelle, ihre Unterstützung des dezentralen und des dynamischen Managements sowie ihre Integrationsfähigkeit im AMETAS zentrale Punkte. Es zeigt sich, dass die JMX die besten Möglichkeiten für das AMETAS-Management bietet. Das OSI-Funktionsmodell klassifiziert die Managementaufgaben und -funktionen in fünf Bereiche, die häufig als FCAPS bezeichnet werden: Fehler-, Konfigurations-, Abrechnungs- , Leistungs- und Sicherheitsmanagement. Diese Klassifikation ist orthogonal zu jeder anderen und bietet einen geeigneten Rahmen für die Aufteilung der Managementaufgaben und - funktionen. Das in dieser Arbeit empfohlene AMETAS-Management orientiert sich hinsichtlich der Managementaufgabenaufteilung am OSI-Modell. Die JMX bietet mächtigeWerkzeuge zur Instrumentierung aller Arten von Ressourcen. Ihre Java-Basiertheit bedeutet eine wesentliche Vereinfachung für das Agentensystem. Die offene Architektur von der JMX ermöglicht die Kooperation des AMETAS-Managements mit anderen Managementstandards. Das AMETAS-Management nutzt die Vorzüge der mobilen Agenten insbesondere im Bereich des Konfigurations- und Fehlermanagements aus. Folgende Eigenschaften zeichnen das AMETAS-Management aus: 1) Verwendung der Agenteninfrastruktur für das Management. Selbiges wird dabei als ein AMETAS-Dienst implementiert und kann alle Möglichkeiten und Dienste der Agenteninfrastruktur nutzen. 2) Verwendung der AMETAS-Agenten und Dienste als Managementwerkzeuge. 3) Selbstmanagement des Systems. Der Managementdienst ist hierfür mit ausreichender Intelligenz ausgestattet. Er nutzt die Mechanismen der Agenteninfrastruktur aus und erledigt diverse Managementaufgaben selbständig. Das Ereignissystem vom AMETAS spielt hierbei eine wichtige Rolle. Die Analyse der Kontrollmechanismen von MASIF, Aglets Workbench und Mole liefert hinsichtlich ihrer Eignung für die Lokalisierung von Agenten im AMETAS folgendes Ergebnis: Die untersuchten Ansätze sind teilweise allgemein anwendbar. Man unterscheidet die nichtdeterministischen Ansätze wie Advertising und Energiekonzept von denen, die bestimmte Spuren von Agenten in einer geeigneten Art hinterlegen. In dieser Hinsicht stellte sich das Pfadkonzept als interessant heraus: Bei diesem Konzept können die Informationen über den Pfad der Migration eines Agenten in geeigneterWeise zeitlich beschränkt oder unbeschränkt gespeichert werden. Eine andere Alternative bietet die Registrierungsmethode. Bei dieser Methode wird ein Agent in einer zentralen Stelle registriert, wobei die eindeutige Identität eines Agenten und die aktuelle Stelle, in der sich ein Agent aufhält, gespeichert werden. Vor dem Hintergrund der erfolgten Analyse empfiehlt sich als Basis für die Lokalisierung von AMETAS-Agenten eine Art Pfadkonzept: Die Spuren der Agenten werden durch einen Managementdienst gesichert. Will man einen bestimmten Agenten oder eine Gruppe lokalisieren, werden die dezentral vorhandenen Informationen innerhalb eines konsistenten Schnitts (Schnappschuss) ausgewertet. Die Schnappschussmethode empfiehlt sich für die Lokalisierung von Agenten im AMETAS entsprechend den zu Beginn der Arbeit von einem Lokalisierungsmechanismus geforderten Eigenschaften: Sie erlaubt eine zuverlässige Lokalisierung der gesuchten Agenten, deren Autonomie dabei respektiert wird. Die Kosten-Leistungsrelation ist günstig einzuschätzen, da unnötiger Daten- bzw. Agentenverkehr ebenso vermieden wird wie die Pflege umfangreicher, zentralistischer Datenbanken.
Die Integration von Dienstgüte-Vorkehrungen in objektorientierte Verteilungsinfrastrukturen befähigt Anwendungsentwickler, den Verteilungs-induzierten Problemen verteilter Systeme zu begegnen. Im Rahmen dieser Arbeit wurde die generische Einbettung von Dienstgüte-Vorkehrungen in verteilte Objektsysteme untersucht und ein Lösungsansatz präsentiert. Zunächst wurde eine Analyse der für das Dienstgüte-Management notwendigen Aufgaben vorgestellt. Ausgehend von einem verteilten Objektmodell wurde untersucht, wie Dienstgüte-Vorkehrungen integriert werden können. Dienstgüte-Vorkehrungen stellen bei einem zugrundeliegenden Ob- jektmodell nicht-einkapselbare Verantwortlichkeiten dar. Die enge Bindung der Dienstgüte-Vorkehrungen an einen Dienst führt so zu Vermaschungen in den Strukturen der Implementierung. Damit ist die getrennte Wieder- verwendung beider erschwert. Zusätzlich werden unterschiedliche Abstrak- tionen vermischt. Die aspektorientierte Programmierung (AOP) behandelt solche Vermaschungen. Dienstgüte wurde bei der Integration in ein verteil- tes Objektmodell als ein Aspekt im Sinne der AOP klassifiziert. Ausgehend von den Anforderungen an das Dienstgüte-Management wur- de ein Rahmenwerk auf Basis eines verteilten Objektmodells entworfen. Der in dieser Arbeit dargestellte Schwerpunkt liegt auf der Spezifikation von Dienstgüte-Charakteristiken und deren Umsetzung in die Implementie- rungssprache der Anwendungsobjekte. Für die Unterstützung der Ende-zu- Ende-Dienstgüte-Erbringung ist der Einbezug von Dienstgüte-Vorkehrun- gen des Netzwerks, Betriebssystems oder spezieller Bibliotheken notwendig. Die resultierende Hierarchie von Dienstgüte-Mechanismen wird durch die vorgestellte Integration in eine Verteilungsinfrastruktur unterstützt. Durch die Integration der Dienstgüte-Spezifikation in die Schnittstel- lenbeschreibungssprache erlaubt das Rahmenwerk einen aspektorientierten Ansatz ohne die Einführung weiterer Sprachen zur Spezifikation oder Im- plementierung. Die Spezifikation von Dienstgüte-Charakteristiken in der erweiterten IDL wird in spezielle Entwurfsmuster in der Zielsprache umge- setzt. Diese Entwurfsmuster separieren die Anwendungsobjekte weitgehend von den Dienstgüte-Vorkehrungen. Die auf der Ebene der Anwendungsobjekte generierten Vorlagen für die Dienstgüte-Vorkehrungen können durch einen modifizierten bzw. schon da- für ausgelegten Verteilungsinfrastrukturkern in das System integriert wer- den. Eine einheitliche statische Schnittstelle erlaubt einen einfachen re- effektiven Ansatz. So ist der Zugriff auf Dienstgüte-Vorkehrungen tieferer Schichten wie auch die Integration anwendungsspezifischer Dienstgüte-Vor- kehrungen auf der Netzwerkschicht möglich. Das Rahmenwerk bietet somit eine klare Trennung der Verantwortlich- keiten, die sowohl Anwendungsentwickler wie auch Dienstgüte-Implemen- tierer unterstützt. Die aus der Schnittstellenbeschreibungssprache generier- ten Einheiten stellen für die Anwendungsobjekte eine Abstraktion dar, die sowohl die Verteilungsaspekte wie auch die Dienstgüte-Vorkehrungen ein- fach nutzbar anbietet und von der zugrundeliegenden Plattform isoliert. Eine sich aus dieser Arbeit ergebende Fragestellung besteht in der Er- weiterung und Verallgemeinerung des aspektorientierten Ansatzes. Die im Rahmen der Analyse betrachteten Dienstgüte-Charakteristiken sind aus dem systemnahen Bereich und insbesondere aus der Betrachtung typi- scher Probleme in verteilten Systemen und den daraus erwachsenen Anwen- dungsanforderungen gewonnen. Nicht-funktionale Aspekte der Dienster- bringung lassen sich weiter fassen. So kann ausgehend von den bereitge- stellten Abstraktionen untersucht werden, inwieweit auf Anwendungsebe- ne nicht-funktionale Eigenschaften in ähnlicher Weise einbettbar sind. Im Rahmen dieser Arbeit wurde beispielsweise eine Dienstgüte-Charakteristik zur Parallelisierung von Berechnungen realisiert. Eine anwendungsbezogene Dienstgüte-Charakteristik könnte numerische Optimierungen realisieren, die von den reinen mathematischen Operationen zu trennen ist. Andere Beispiele aus der Multimedia-Kategorie sind durch die Qualität einer Au- dio-Übertragung gegeben. So kann bei einer geringen Bandbreite durch die Kompression der Daten eine bessere Qualität der Audiowiedergabe ereicht werden, als durch Übertragung der Rohdaten. Die Kompressionsrate kann von der Anwendung isoliert und durch entsprechende Dienstgüte-Mecha- nismen realisiert werden. Qualitätsunterschiede ergeben sich durch mögli- che verlustbehaftete Kompression und de notwendigen Anforderungen an Hardware- oder Software-Unterstützung. Andere Kriterien für die Qualität lassen sich weniger leicht vor der Anwendung verbergen. Die Wiedergabe von Stereo- oder Mono-Audiodaten erfordert entsprechende Anwendungen und auch Ausstattungen der Endgeräte. Im Kontext dieser Arbeit wurde ein Objektmodell betrachtet, das eine starke Bindung zwischen Schnittstellen und Objekten besitzt. Insbeson- deren wurde bei der Umsetzung der Schnittstellenbeschreibungssprache in die Zielsprache eine Umsetzung gewählt, die Dienste als Objekte reprä- sentiert. Involviert die Diensterbringung verschiedene Objekte, kann nur ein Objekt als Stellvertreter all dieser Dienste den Service anbieten. Dieses Objekt ist für die Einhaltung von Dienstgüte-Vereinbarungen mit Klien- ten verantwortlich. Innerhalb der Objekte, die den Service realisieren, sind für die Dienstgüte-Erbringung dann ggf. weitere interne Dienstgüte-Vor- kehrungen zu etablieren. Komponentenmodelle versprechen hier einen all- gemeineren Ansatz, der die Integration von Dienstgüte-Vorkehrungen loh- nenswert erscheinen lässt. Zum einen unterstützen Komponentenmodelle definierte Schnittstellen zur Interaktion zwischen den beteiligten Objek- ten einer Komponente, und zum anderen bieten Komponenten eine über die Schnittstellenbeschreibungssprache hinausgehende Beschreibung ihrer Funktionalität in einer Komponentenspezifikation. Diese Komponentenspe- zifikation verspricht einen guten Ansatz, um Dienstgüte-Spezifikationen der Komponenten zu integrieren. Neben den beiden bislang beschriebenen Forschungsrichtungen, die je- weils ein Rahmenwerk für das Dienstgüte-Management voraussetzen und darauf aufbauen, existieren innerhalb des in der Arbeit vorgestellten Rah- menwerkes weitere offene Forschungsfragen. Die Ausgestaltung von Preisen bei der Vergabe von Ressourcen und die damit verbundenen Richtlinien für die Vergabe und auch den Entzug stellen noch kein abgeschlossenes Gebiet dar. Hier ist der Einbezug anderer Disziplinen vielversprechend. Preisrichtlinien für manche Ressourcen, die bei Nicht-Nutzung verfallen wie Netzwerkkapazität sind Gegenstand der Forschung in der Betriebs- wirtschaftslehre. Die Gestaltung von Vergaberichtlinien, insbesondere aber die Festlegung von Vergütungen bei Nichterbringung eines festgesetzten Dienstgüte-Niveaus oder Kompensationen bei dem Entzug von Ressourcen mit einer damit einhergehenden Verletzung der Dienstgüte-Vereinbarung, wirft rechtliche Fragen über die Gültigkeit solcher Richtlinien auf. Weitere, nicht-interdisziplinäre Fragestellungen, ergeben sich aus der Frage der Wiederverwendbarkeit und Dokumentation von Dienstgüte-Vor- kehrungen im Rahmenwerk. Die Erstellung eines Katalogs mit einem ein- heitlichen Aufbau wie es bei Entwurfsmustern üblich ist verspricht eine geeignete Dokumentationsform. Allerdings muss eine solche Dokumentati- on zwei Zielgruppen gerecht werden. Zum einen sind dies Anwendungsent- wickler, die eine gegebene Dienstgüte-Implementierung anwenden wollen und Informationen für die Nutzung und Anpassung der Anwendung benö- tigen und zum anderen Dienstgüte-Entwickler, die auf bereits existierende transportspezifische Dienstgüte-Mechanismen aufbauen. Für die hier skizzierten Forschungsrichtungen ist ein Rahmenwerk für das Dienstgüte-Management unerlässlich. Das in dieser Arbeit vorgestellte Rahmenwerk bietet eine gute Ausgangsbasis.
Im Zeitalter der ständig wachsenden Mobilitätsanforderungen kommt dem flexiblen, dezentralen Zugriff auf Datenbestände aller Art eine immer größere Bedeutung zu. Steht ein Zugang via Internet nicht zur Verfügung, so bietet sich als Alternative die Verwendung eines Mobiltelefons an. Auf der Grundlage des WAP-Protokolls konnen elementare grafische Zugriffsschnittstellen geschaffen werden; deren Möglichkeiten sind jedoch begrenzt: Im Vergleich zu stationären Computerterminals ist die Displaygröße i.d.R. gering; entsprchend aufwändig verlauft das Browsing. Die gegenwärtige Technologie verfügt über eine geringe Bandbreite. die Navigation über Tasten wird vom Benutzer als umständlich empfunden. Es gibt Einsatzkontexte, die eine tastaturbasierte Interaktion a priori ausschließen. Als Alternative bieten sich gesprochensprachige Schnittstellen an, in denen der Benutzer einen Mensch-Maschine-Dialog mit einem telefonbasierten Sprachportal führt. Die Grundlage derartiger Anwendungen bietet Hardware- bzw. Software-Technologie zu Computer-Telefonie-Integration, Spracherkennung, Sprachsynthese. Mit diesen technologischen Basiskomponenten alleine ist es jedoch noch nicht getan: In Abhängigkeit von den spezifischen Erfordernissen der jeweiligen Anwendung sind geeignete Vorgaben zu spezifizieren, die den Computer in die Lage versetzen, den Dialog mit seinem menschlichen Gegenüber in problemadaquater Weise zu führen. Wichtige Anforderungen sind: Natürlichkeit: Ausgestaltung der sprachlichen Interaktion in einer Weise, die den Erwartungen des Anwenders hinsichtlich des jeweiligen Anwendungsfalls entsprechen; Flexibilität: Anpassung an die Eigenarten des jeweiligen Nutzers (Novize oder geübter Anwender etc.); 2 Robustheit: geeignetes Handling von Missverständnissen, unvollständigem Benutzer-Input sowie Unzulänglichkeiten der maschinellen Sprachverarbeitung (insbesondere Fehler in der Spracherkennung) etc. Formale Spezifikationen des maschinellen Dialogverhaltens werden als Dialogmodelle bezeichnet. Hinsichtlich der generischen Wiederverwendbarkeit der Dialogsoftware ist es sinnvoll, derartige Beschreibungen in einem standardisierten Formalismus, einer Dialogmodellierungssprache abzufassen, die sich somit in erster Näherung als eine "Programmiersprache" für eine generische Dialogmaschine auffassen lässt. Folglich stellt sich die Frage, wie eine geeignete Dialogmodellierungssprache aussehen könnte. In Bezug auf webbasierte Sprachportale wurde vom W3C die XML-basierte Dialogmodellierungssprache VoiceXML als Standardisierungsvorschlag erarbeitet ([7]). Im vorliegenden Dokument sollen zunächst Reichweite und Grenzen der Sprache VoiceXML evaluiert werden. Auf der Grundlage der Evaluation sollen strategischen Empfehlungen fur Unternehmen abgeleitet werden, die sich als Anwendungsentwickler auf dem Innovationsmarkt der telefonbasierten Sprachportale betätigen wollen. Die zentralen Fragen lauten: 1. Welches sind die zentralen Probleme der Entwicklung telefonbasierter Sprachportale? 2. Inwieweit löst VoiceXML diese Probleme? 3. Inwiefern lohnt es sich somit, (z.B. zwecks Herausbildung eines Alleinstellungsmerkmals) auf die Technologie VoiceXML zu setzen? 4. Welche Alternativen existieren? In welchen anderen Bereichen sollte man ggf. Kernkompetenzen herausbilden?
In diesem Bericht wurde das in [Pae02] eingeführte Verfahren "GenDurchschnitt" auf die symbolischen Daten zweier Datenbanken septischer Schock-Patienten angewendet. Es wurden jeweils Generalisierungsregeln generiert, die neben einer robusten Klassifikation der Patienten in die Klassen "überlebt" und "verstorben" auch eine Interpretation der Daten ermöglichten. Ein Vergleich mit den aktuellen Verfahren A-priori und FP-Baum haben die gute Verwendbarkeit des Algorithmus belegt. Die Heuristiken führten zu Laufzeitverbesserungen. Insbesondere die Möglichkeit, die Wichtigkeit von Variablen pro Klasse zu berechnen, führte zu einer Variablenreduktion im Eingaberaum und zu der Identifikation wichtiger Items. Einige Regelbeispiele wurden für jeden Datensatz genannt. Die Frühzeitigkeit von Regeln lieferte für die beiden Datenbanken ein unterschiedliches Ergebnis: Bei den ASK-Daten treten die Regeln für die Klasse "verstorben" früher als die der Klasse "überlebt" auf; bei den MEDAN-Klinikdaten ist es umgekehrt. Eine Erklärung hierfür könnte sein, dass es sich im Vergleich zu den MEDAN-Klinikdaten bei den ASK-Daten um ein Patientenkollektiv mit einer anderen, speziellen Patientencharakteristik handelt. Anhand der Ähnlichkeit der Regeln konnten für den Anwender eine überschaubare Anzahl zuverlässiger Regeln ausgegeben werden, die möglichst unähnlich zueinander sind und somit für einen Arzt in ihrer Gesamtheit interessant sind. Assoziationsregeln und FP-Baum-Regeln erzeugen zwar kürzere Regeln, die aber zu zahlreich und nicht hinreichend sind (vgl. [Pae02, Abschnitt 4]). Zusätzlich zu der Analyse der symbolischen Daten ist auch die Analyse der metrischen MEDAN-Klinikdaten der septischen Schock-Patienten interessant. Ebenfalls ist eine Kombination der Analysen der metrischen und symbolischen Daten sinnvoll. Solche Analysen wurden ebenfalls durchgeführt; die Ergebnisse dieser Analysen werden an anderer Stelle präsentiert werden. Weitere Anwendungen der Generalisierungsregeln sind denkbar. Auch eine Verbesserung des theoretischen Fundaments (vgl. [Pae02]) erscheint sinnvoll, da erst das Zusammenspiel theoretischer und praktischer Anstrengungen zum Ziel führt.
Ziel der Arbeit war es, neue Techniken zur Erschließung und Selektion von Web- basierten Suchservern zu entwickeln und zu evaluieren, um hieraus eine integrierte Architektur für nicht-kooperative Suchserver im WWW abzuleiten. Dabei konnte gezeigt werden, daß die im Sichtbaren Web vorhandene Informationsmenge dazu geeignet ist, um eine effektive Erschließung des Unsichtbaren Webs zu unterstützen. Existierende Strategien für verteiltes Information Retrieval setzen eine explizite Kooperation von Seiten der Suchserver voraus. Insbesondere Verfahren zur Selektion von Suchservern basieren auf der Auswertung von umfangreichen Termlisten bzw. Termhäufigkeiten, um eine Auswahl der potentiell relevantesten Suchserver zu einer gegebenen Suchanfrage vornehmen zu können (z. B. CORI [26] und GlOSS [54]). Allerdings werden derartige Informationen von realen Suchservern des WWW in der Regel nicht zu Verfügung gestellt. Die meisten Web-basierten Suchserver verhalten sich nicht kooperativ gegenüber hierauf aufsetzenden Metasuchsystemen, was die Übertragbarkeit der Selektionsverfahren auf das WWW erheblich erschwert. Außerdem erfolgt die Evaluierung der Selektionsstrategien in der Regel in Experimentumgebungen, die sich aus mehr oder weniger homogenen, künstlich partitionierten Dokumentkollektionen zusammensetzen und somit das Unsichtbare Web und dessen inhärente Heterogenität nur unzureichend simulieren. Dabei bleiben Daten unberücksichtigt, die sich aus der Einbettung von Suchservern in die Hyperlinkstruktur des WWW ergeben. So bietet z. B. die systematische Auswertung von Backlink-Seiten also jener Seiten die einen Hyperlink auf die Start- oder Suchseite eines Suchservers enthalten die Möglichkeit, die im WWW kollektiv geleistete Indexierungsarbeit zu nutzen, um die Erschließung von Suchservern effektiv zu unterstützen. Eine einheitliche Systematik zur Beschreibung von Suchservern Zunächst ist es notwendig alle Informationen, die über einen Suchserver erreichbar sind, in ein allgemeingültiges Beschreibungsmodell zu integrieren. Dies stellt eine Grundvorraussetzung dar, um die einheitliche Intepretierbarkeit der Daten zu gewährleisten, und somit die Vergleichbarkeit von heterogenen Suchservern und den Aufbau komplexer Metasuchsysteme zu erlauben. Ein solche Beschreibung soll auch qualitative Merkmale enthalten, aus denen sich Aussagen über die Reputation einer Ressource ableiten lassen. Existierende Beschreibungen von Suchservern bzw. Dokumentkollektionen wie STARTS-CS [53] oder RSLP-CD [93] realisieren wenn überhaupt nur Teilaspekte hiervon. Ein wichtiger Beitrag dieser Arbeit besteht somit in der Identifizierung und Klassifizierung von suchserverbeschreibenden Metadaten und hierauf aufbauend der Spezifikation eines als Frankfurt Core bezeichneten Metadatensatzes für web-basierte Suchserver, der die genannten Forderungen erfüllt. Der Frankfurt Core berücksichtigt Metadaten, deren Erzeugung eine explizite Kooperation von Seiten der Suchserver voraussetzt, als auch Metadaten, die sich automatisiert z. B. durch linkbasierte Analyseverfahren aus dem sichtbaren Teil des WWW generieren lassen. Integration von Wissensdarstellungen in Suchserver-Beschreibungen Ein wichtige Forderung an Suchserver-Beschreibungen besteht in der zusätzlichen Integration von wissens- bzw. ontologiebasierten Darstellungen. Anhand einer in Description Logic spezifizierten Taxonomie von Suchkonzepten wurde in der Arbeit exemplarisch eine Vorgehensweise aufgezeigt, wie die Integration von Wissensdarstellungen in eine Frankfurt Core Beschreibung praktisch umgesetzt werden kann. Dabei wurde eine Methode entwickelt, um unter Auswertung einer Suchkonzept-Taxonomie Anfragen an heterogene Suchschnittstellen verschiedener Suchserver zu generieren, ohne die Aussagekraft von kollektionsspezifischen Suchfeldern einzuschränken. Durch die Taxonomie wird die einheitliche Verwendung von syntaktisch und semantisch divergierenden Suchfeldern verschiedener Suchserver sowie deren einheitliche Verwendung auf der integrierten Suchschnittstelle eines Metasuchsystems sichergestellt. Damit kann diese Arbeit auch in Zusammenhang mit den Aktivitäten des Semantischen Webs betrachtet werden. Die Abstützung auf Description Logic zur Wissensrepräsentation sowie die Verwendung von RDF zur Spezifikation des Frankfurt Core verhält sich konform zu aktuellen Aktivitäten im Bereich Semantisches Web, wie beispielsweise der Ontology Inference Layer (OIL) [24]. Darüber hinaus konnte durch die Integration der Suchkonzept-Taxonomie in den Arbeitsablauf einer Metasuchmaschine, bereits eine konkrete Anwendung demonstriert werden. Entwicklung neuartiger Verfahren zur Erschließung von Suchservern Für einzelne Felder des Frankfurt Core wurden im Rahmen dieser Arbeit Strategien entwickelt, die aufzeigen, wie sich durch die systematische Auswertung von Backlink- Seiten Suchserver-beschreibende Metadaten automatisiert generieren lassen. Dabei konnte gezeigt werden, daß der Prozeß der automatisierten Erschließung von Suchservern durch die strukturelle und inhaltliche Analyse von Hyperlinks sinnvoll unterstützt werden kann. Zwar hat sich ein HITS-basiertes Clustering-Verfahren als wenig praktikabel erwiesen, um eine effiziente Erschließung von Suchservern zu unterstützen, dafür aber ein hyperlinkbasiertes Kategorisierungsverfahren. Das Verfahren erlaubt eine Zuordnung von Kategorien zu Suchservern und kommt ohne zusätzliche Volltextinformationen aus. Dabei wird das WWW als globale Wissenbasis verwendet: die Zuordnung von Kategorienbezeichnern zu Web-Ressourcen basiert ausschließlich auf der Auswertung von globalen Term- und Linkhäufigkeiten wie sie unter Verwendung einer generellen Suchmaschine ermittelt werden können. Der Grad der Ähnlichkeit zwischen einer Kategorie und einer Ressource wird durch die Häufigkeit bestimmt, mit der ein Kategoriebezeichner und ein Backlink auf die Ressource im WWW kozitiert werden. Durch eine Reihe von Experimenten konnte gezeigt werden, daß der Anteil korrekt kategorisierter Dokumente an Verfahren heranreicht, die auf Lerntechniken basieren. Das dargestellte Verfahren läßt sich leicht implementieren und ist nicht auf eine aufwendige Lernphase angewiesen, da die zu kategorisierenden Ressourcen nur durch ihren URL repräsentiert werden. Somit erscheint das Verfahren geeignet, um existierende Kategorisierungsverfahren für Web-Ressourcen zu ergänzen. Ein Verfahren zur Selektion von Suchservern Ein gewichtiges Problem, durch welches sich die Selektion von Suchservern im WWW erheblich erschwert, besteht in der Diskrepanz zwischen der freien Anfrageformulierung auf Benutzerseite und nur spärlich ausgezeichneten Suchserver-Beschreibungen auf Seiten des Metasuchsystems. Da auf der Basis der geringen Datenmenge eine Zuordnung der potentiell relevantesten Suchserver zu einer Suchanfrage kaum vorgenommen werden kann, wird oft auf zusätzliches Kontextwissen zurückgegriffen, um z. B. ein Anfragerweiterung durch verwandte Begriffe vornehmen zu können (siehe z. B. QPilot [110]). Eine solche Vorgehensweise erhöht allerdings nur die Wahrscheinlichkeit für Treffer von Anfragetermen in den Suchserver-Beschreibungen und liefert noch keine ausreichende Sicherheit. Deshalb wurde in der Arbeit ein Selektionsverfahren entwickelt, das sich auf die Auswertung von Ko-Zitierungs- und Dokumenthäufigkeiten von Termen in großen Dokumentsammlungen abstützt. Das Verfahren berechnet ein Gewicht zwischen einem Anfrageterm und einem Suchserver auf der Basis von einigen wenigen Deskriptortermen, wie sie z. B. aus der FC-Beschreibung eines Suchservers extrahiert werden können. Dies hat den Vorteil, daß die Suchbegriffe nicht explizit in den einzelnen Suchserver-Beschreibungen vorkommen müssen, um eine geeignete Selektion vornehmen zu können. Um die Anwendbarkeit des Verfahrens in einer realistischen Web-Umgebung zu demonstrieren, wurde eine geeignete Experimentumgebung von spezialisierten Suchservern aus dem WWW zusammengestellt. Durch anschließende Experimente konnte die Tauglichkeit des entwickelten Verfahrens aufgezeigt werden, indem es mit einem Verfahren verglichen wurde, das auf Probe-Anfragen basiert. Das heißt, daß eine erfolgreiche Selektion durchgeführt werden kann, ohne daß man explizit auf das Vorhandensein von lokalen Informationen angewiesen ist, die erst aufwendig durch das Versenden von Probe-Anfragen ¨uber die Web-Schnittstelle des Suchservers extrahiert werden müssten. Herleitung einer integrierten Architektur Um das Zusammenspiel der erarbeiteten Strategien und Techniken zur Erschließung, Beschreibung und Selektion in einer integrierten Architektur umzusetzen, wurde die Metasuchmaschine QUEST entwickelt und prototypisch implementiert. QUEST erweitert die Architektur einer traditionellen Metasuchmaschinenarchitektur, um Komponenten, die eine praktische Umsetzung der Konzepte und Techniken darstellen, die im Rahmen dieser Arbeit entwickelt wurden. QUEST bildet einen tragfähigen Ansatz zur Kombination von wissensbasierten Darstellungen auf der einen und eher heuristisch orientierten Methoden zur automatischen Metadatengenerierung auf der anderen Seite. Dabei stellt der Frankfurt Core das zentrale Bindeglied dar, um die einheitliche Behandlung der verfügbaren Daten zu gewährleisten.
Gegenstand dieser Arbeit war die Analyse der Komplexität von Kosten- und Erlösrechnungssystemen und ihrer Auswirkung auf die Auswahl geeigneter Instrumente für die EDV-gestützte Realisierung dieser Systeme, wobei insbesondere auf die bisherigen Ansätze der Datenbank- und Wissensuntersrutzung der Kosten- und Erlösrechnung eingegangen werden sollte. Das zweite Kapitel befaßt sich mit einer Analyse der Komplexität der in Deutschland am weitesten verbreiteten Kosten- und Erlösrechnungssysteme. Die Untersuchung der grundlegenden Gestaltungsmerkmale von Kosten- und Erlösrechnungssystemen auf ihre Komplexitätsrelevanz zeigte, daß einige Merkmale die Komplexität sehr stark beeinflussen, andere dagegen kaum, darunter auch in der betriebswirtschaftlichen Diskussion so wesentliche wie der verwendete Kostenbegriff. Den größten Einfluß auf die Komplexität von Kosten- und Erlösrechnungssystemen besitzen die Kosten- und Erlösstrukturierung sowie die Verarbeitungsarten, -methoden und -inhalte. Ein Vergleich der Grenzplankostenrechnung nach Kn.GER und FLAUT, stellvertretend Im überwiegend zweckmonistische Kostenrechnungssysteme, und der Einzelkostenrechnung nach RIEBEL als zweckpluralistischem Kosten- und Erlösrechnungssystem bezüglich der komplexitätsrelevanten Merkmale ergab eindeutige Unterschiede zwischen diesen Systemen. Während die Grenzplankostenrechnung polynomiale Platz- und Funktionskomplexitäten niedriger Grade (überwiegend quadratisch und nur im Rahmen der innerbetrieblichen Leistungsverrechnung kubisch) aufweist, treten in der Einzelkostenrechnung an mehreren entscheidenden Stellen exponentielle Komplexitäten auf. Die Analyse der Komplexität dieser beiden Kosten- und Erlösrechnungssystemen zeigt einen eindeutigen Zusammenhang zwischen vielseitiger Auswertbarkeit und der Komplexität eines Systems auf, der bei einer Beurteilung von Kosten- und Erlösrechnungssystemen berücksichtigt werden muß. Für die Gestaltung von Kosten- und Erlösrechnungssystemen bedeutet dies eine grundsätzliche Wahlmöglichkeit zwischen Systemen begrenzter Auswertbarkeit und niedriger Komplexität sowie Systemen mit größerer Auswertungsvielfalt, aber deutlich höherer Komplexität. Die Komplexität von Kosten- und Erlösrechnungssystemen ist jedoch nicht als eine Folge der Auswahl eines Rechnungssystems zu betrachten, sondern resultiert letztlich aus der Komplexität einer Unternehmung und ihrer Umwelt, die unterschiedlich detailliert abgebildet werden können. Da diese Komplexitäten in Zukunft eher noch zunehmen werden, ist grundSätzlich mit einem Trend zu universelleren und komplexeren Systemen zu rechnen. Die Erweiterung der Grenzplankostenrechnung hin zu größerer Komplexität sowie die Entwicklung neuerer Ansätze wie der Prozeßkostenrechnung bestätigen beide diesen Trend. Für die weitere Untersuchung wird vorausgesetzt, daß die Grenzplankostenrechnung und die Einzelkostenrechnung die entgegengesetzten Enden eines Komplexitätsspektrums von Kosten- und Erlösrechnungssystemen bilden und daher auch das Spektrum der Anforderungen an die Instrumente zu ihrer EDV-Implementierung begrenzen. Unter einer Anzahl von neueren Entwicklungen in der EDV wurden daher zwei Konzepte ausgewählt, die zur Behandlung verschiedener Aspekte der Komplexität geeignet sind: Datenbanksysteme zur Behandlung der Platzkomplexität und Wissenssysteme zur Behandlung der Funktionskomplexität. Im folgenden werden die Erfahrungen, die bei der Realisierung von Datenbank- und Wissenssystemen für die Kosten- und Erlösrechnung gemacht wurden, unter dem Gesichtspunkt der Komplexität von Kosten- und Erlösrechnungssystemen bewertet. Bei der Betrachtung von Datenbanksystemen ist zu berücksichtigen, daß sich im Laufe der Zeit zwei unterschiedliche Anwendungstypen herauskristallisiert haben: konventionelle Datenbankanwendungen, die den herkömmlichen Paradigmen von Datenbanksystemen entsprechen, und neuere Datenbankanwendungen, die z.T. wesentlich höhere Anforderungen stellen und so die Entwicklung neuer Datenbanksysteme erforderlich machten. Beide Systeme der Kosten- und Erlösrechnung eignen sich grundSätzlich als Datenbankanwendungen, d.h. sie rechtfertigen den Einsatz von Datenbanksystemen zur Verwaltung ihrer Datenmengen. Während die Grenzplankostenrechnung aber den konventionellen Datenbankanwendungen zuzurechnen ist, weist die Einzelkostenrechnung bereits wesentliche Merkmale neuerer Datenbankanwendungen auf. Im Gegensatz zu Datenbanksystemen sind die Anforderungen an Wissenssysteme und ihre Eigenschaften sehr unpräzise, z.T. sogar widersprüchlich formuliert. Auf der Basis der gängigen Eigenschaftskataloge erscheint die Kosten- und Erlösrechnung nicht als typische Wissenssystemanwendung. Trotzdem wurden bereits mehrere Wissenssysteme für Kosten- und Erlösrechnungsprobleme (Abweichungsanalyse, Betriebsergebnisanalyse, Bestimmung von Preisuntergrenzen, konstruktionsbegleitende Kalkulation und Teilprobleme der Prozeßkostenrechnung) realisiert, von denen jedes einige der Eignungskriterien für Wissenssystemanwendungen erfüllt. Die behandelten Beispiele für Wissenssysteme im Rahmen der Kosten- und Erlösrechnung basieren überwiegend auf der Grenzplankostenrechnung. Es ist daher anzunehmen, daß die Einzelkostenrechnung auf Grund ihrer höheren Komplexität weitere Anwendungsprobleme für Wissenssysteme enthält. Insgesamt sind jedoch die Unterschiede zwischen der Grenzplankostenrechnung und der Einzelkostenrechnung im Hinblick auf den Einsatz von Wissenssystemen wesentlich weniger ausgeprägt als dies für den Einsatz von Datenbanksystemen der Fall war. Nachdem beide Systeme der Kosten- und Erlösrechnung sowohl als Datenbankanwendungen geeignet sind als auch Anwendungsprobleme für Wissenssysteme aufweisen, ist auch die Verbindung von Wissenssystemen und Datenbanksystemen in Betracht zu ziehen. Daher wurde im Anschluß die jeweiligen Vor- und Nachteile von Datenbank- und Wissenssysteme gegenübergestellt. Die Vorteile von Datenbanksystemen liegen auf den maschinennäheren Ebenen, auf denen die Vorkehrungen für Datenschutz, Datensicherung, reibungslosen Mehrbenutzerbetrieb sowie die effiziente Ausführung der Operationen geschaffen werden. Die Vorteile von Wissenssystemen liegen in der größeren Mächtigkeit der Problemlösungskomponente, der Wissenserweiterungskomponente und der Erklärungskomponente. Ein neueres Beispiel für eine Zusammenarbeit von Datenbank- und Wissenssystemen ist die Auswertung eines speziell für derartige Zwecke angelegten Data Warehouse durch das Data Mining sowie andere Analysesysteme. Ein Data Warehouse stimmt in wesentlichen Merkmalen mit der Grundrechnung der Einzelkostenrechnung überein und zeigt, daß eine Grundrechnung auf der Basis heutiger EDV -Systeme realisierbar ist. Zur Auswertung einer Datenbank dieser Größe sind spezielle Analysesysteme notwendig. Für standardisierte Auswertungen eines Data Warehouse wurden OLAP-Systeme entwickelt, deren Operationen Verallgemeinerungen mehrdimensionaler Deckungsbeitragsrechnungen sind. Bei nicht standardisierbaren Auswertungen empfiehlt sich dagegen der Einsatz von Wissenssystemen, für den das Data Mining ein Beispiel liefert. Diese Kombination von Datenbanksystem, konventionellen und Kl-Auswertungen erscheint für eine Verwendung in der Kosten- und Erlösrechnung bestens geeignet. Das vierte Kapitel befaßt sich mit Ansätzen zur Strukturierung von Daten- und Wissensbasen, die bei Datenbanksystemen als Datenmodelle, bei Wissenssystemen als Wissensrepräsentationstechniken bezeichnet werden. Dabei wurde der Unterteilung des dritten Kapitels gefolgt und zwischen konventionellen und neueren Datenmodellen sowie Wissensrepräsentationstechniken unterschieden. Die Betrachtung des Relationenmodells als Vertreters der konventionellen Datenmodelle ergab, daß es für die Grenzplankostenrechnung völlig ausreicht. Die Erfahrungen mit der Realisierung einer Grundrechnung auf der Basis des Relationenmodells haben dagegen gezeigt, daß seine syntaktischen und semantischen Mängel zu weitgehenden Vereinfachungen beim Schemaentwurf zwingen, die wiederum die Operationen der Auswertungsrechnungen unnötig komplizieren. Aus der Vielzahl semantischer und objektorientierter Datenmodelle, die für neuere Datenbankanwendungen entwickelt wurden, hat sich trotz Unterschieden in Details eine Anzahl von Konzepten herauskristallisiert, die den meisten dieser DatenmodelIe gemeinsam sind. Mit Hilfe dieser Konzepte sind die Probleme, die bei der Verwendung des Relationenmodelis auftraten, vermeidbar. Im Grunde sind daher fast alle semantischen und objektorientierten Entwurfsmodelle zur ModelIierung einer Grundrechnung geeignet. Wichtig ist jedoch,daß die Grundrechnung auch mit einem Datenbanksystem realisiert wird, dem eines dieser Datenmodelle zugrunde liegt, da bei einer Transformation auf ein relationales Datenmodell wesentliche Entwurfsüberlegungen - und damit der größte Teil des Vorteils,den semantische und objektorientierte Entwurfsmodelle bieten -, verloren gehen. Zur Realisierung einer Grundrechnung erscheinen objektrelationale Datenbanksysteme am besten geeignet, da sie einerseits objektorientierte Konzepte mit mächtigen und komfortablen Anfragesprachen verbinden und andererseits aufwärtskompatibel zu den weitverbreiteten relationalen Datenbanksystemen sind. Da sich die objektorientierten Datenmodelle als für die Modellierung einer Grundrechnung geeignet erwiesen haben, wurden unter dem Gesichtspunkt der Verbindung von Datenbank- und Wissenssystemen nur objektorientierte Wissensrepräsentationstechniken in Betracht gezogen. Zwischen semantischen und objektorientierten Datenmodellen einerseits und objektorientierten Wissensrepräsentationstechniken, vor allem semantischen Netzen und Frames, andererseits bestehen weitgehende Übereinstimmungen. Daher können z.B. framebasierte Wissenssysteme direkt auf objektorientierten Datenbanksystemen realisiert werden. Inzwischen werden aber auch objektorientierte Programmiersprachen wie C++ oder Smalltalk zur Implementierung von Wissenssystemen verwendet, von denen die objektorientierte Sprache C++ am geeignetsten erscheint, da die meisten objektorientierten und objektrelationalen Datenbanksysteme eine C++-Schnittstelle aufweisen. Abschließend ist daher festzustellen, daß das Paradigma der Objektorientierung, das in Entwurfssprachen, Datenmodellen, Wissensrepräsentationstechniken und Programmiersprachen wesentliche Einflüsse ausgeübt hat, für die Realisierung der datenbankgestützten Grundrechnung eines zweckpluralistischen Kosten- und Erlösrechnungssystems wie der Einzelkostenrechnung sowie darauf aufbauender Auswertungsrechnungen, die z.T. als Wissenssysteme realisiert werden, wesentliche Vorteile besitzt. Über die adäquatere ModelIierung der Strukturen hinaus entsteht durch den Einsatz objektorientierter Techniken zum Entwurf und zur Implementierung aller System teile ein möglichst homogenes System, das nicht zusätzlich zu der inhärenten Komplexität noch weitere Probleme durch ungeeignete Darstellungskonzepte oder schlechte Abstimmung schafft.
Entwurf und Realisierung von Sicherheitsmechanismen für eine Infrastruktur für digitale Bibliotheken
(2002)
Angesichts der überragenden Bedeutung der modernen Kommunikationstechnik in allen Lebensbereichen kommt auch den digitalen Bibliotheken ein wachsendes Gewicht zu. Dabei spielen nicht nur die platzsparende Speicherung, sondern auch die schnelle Datenübermittlung und der unmittelbare Zugang zu den Dokumenten eine wichtige Rolle. Da eine solche Bibliothek über ein offenes Netz betrieben wird, erhalten in diesem Zusammenhang Sicherheitsaspekte ein essentielles Gewicht. Die vorliegende Diplomarbeit geht diesen Fragen nach und zeigt Wege auf, wie die bestehenden Sicherheitsrisiken minimiert werden können. Ziel dieser Arbeit war daher der Entwurf und die Realisierung von Sicherheitsmechanismen für eine Infrastruktur für digitale Bibliotheken. Dabei wurde speziell auf die INDIGO-Infrastruktur eingegangen; sie stellt eine verteilte Infrastruktur für digitale Bibliotheken dar. Der erste Teil dieser Diplomarbeit enthält eine Einführung in die Grundlagen der INDIGO-Infrastruktur und der Sicherheit. In Kapitel [*] wurden die INDIGO-Infrastruktur und ihre Komponenten erläutert; in Kapitel [*] folgte anschließend die Beschreibung einiger kryptographischer Verfahren und Sicherheitsprotokolle. Im zweiten Teil dieser Arbeit wurden Sicherheitsmechanismen für die INDIGO-Infrastruktur entworfen. In dieser Entwurfsphase erfolgte zunächst in Kapitel [*] die Sicherheitsanalyse der Infrastruktur. Basierend auf dieser Analyse wurden in Kapitel [*] Sicherheitskonzepte für diese Infrastruktur entwickelt. Während der gesamten Entwurfsphase standen die Sicherheitsanforderungen Vertraulichkeit, Authentizität, Integrität, Verbindlichkeit und die Autorität stets im Mittelpunkt des Interesses. Im dritten und letzten Teil der Arbeit wurden die Sicherheitsmechanismen für die INDIGO-Infrastruktur realisiert. Dabei wurden die in Abschnitt [*] beschriebenen Sicherheitsrichtlinien der Infrastruktur implementiert. Die Beschreibung der Implementierung erfolgte in Kapitel [*]. Die wichtigsten Modifikationen des INDIGO-Servers betrafen folgende Punkte: * Sicherung und Aufbau der verbindlichen Kommunikationskanäle durch den Einsatz von SSL- bzw. TLS-basierten Server-zu-Server Verfahren. * Realisierung von Sicherheitsmechanismen zur Verifikation der digital signierten Dokumente und Dokumentmethoden. * Erweiterung des INDIGO-Servers um feingranuliert konfigurierbare Zugriffsmechanismen, die verteilt auf drei unterschiedliche Ebenen den Zugriff der Anwender (bzw. Dokumentmethoden) auf seine Ressourcen kontrollieren. Neben den Modifikationen des INDIGO-Servers wurden zwei neue Clients zur Kommunikation mit dem INDIGO-Server und eine Anwendung zur Erzeugung der digitalen Signatur der Dokumente entwickelt. Ferner wurden einige neue Metadokumente und Dokumentmethoden erstellt, um die neuen Eigenschaften der Infrastruktur zu demonstrieren. Bei der Realisierung der Sicherheitsmechanismen wurde größter Wert auf die Abwärtskompatibilität, Konfigurierbarkeit und Modularität gelegt. Die Abwärtskompatibilität zur ursprünglichen Infrastruktur wird beispielsweise erreicht, indem die bereits existierenden Metadokumente und Dokumentmethoden bei dem modifizierten Server auch verwendet werden können. Diese müssen - falls nötig - minimal um die digitale Signatur der Autoren ergänzt werden. Das Sicherheitsverhalten des INDIGO-Servers läßt sich beliebig über seine Konfigurationsdatei ändern (Konfigurierbarkeit). Alle wichtigen Sicherheitsmechanismen des modifizierten Servers lassen sich den Wünschen des Betreibers anpassen. Dadurch ist sichergestellt, daß jeder Betreiber den Server seinen jeweiligen Sicherheitsbedürfnissen entsprechend betreiben kann. Der Betreiber kann beispielsweise über die Einstellung seiner Konfigurationsdatei bestimmen, ob die Clients sich bei der Kommunikation mit seinem Server identifizieren müssen. Zudem kann er beispielsweise festlegen, ob die Dokumentmethoden, die keine korrekte digitale Signatur besitzen, ausgeführt werden dürfen oder nicht. Die Konfigurierbarkeit des Servers hinsichtlich der Sicherheitsmechanismen geht sogar so weit, daß man den Server im Normalmodus betreiben kann; in diesem Modus sind alle Sicherheitsmechanismen des Servers ausgeschaltet. Die Modularität hinsichlich der Sicherheitsmechanismen wurde bei der Implementierung durch die Verteilung dieser Mechanismen auf die unterschiedlichen und eigenständigen Klassen erzielt, die jeweils eine wohldefinierte Eigenschaft und Aufgabe besitzen. Diese Vorgehensweise führt dazu, daß bei einer Weiterentwicklung des Servers um neue Sicherheitsdienste nur die wenigen betroffenen Klassen modifiziert werden müssen, ohne daß der gesamte Server davon betroffen ist. So kann der INDIGO-Server beispielsweise um den Authentisierungsdienst Kerberos [Stei88] erweitert werden, in dem nur die entsprechende Authentisierungsklasse des Servers (IndigoAuthorization-Klasse) ergänzt wird.
Es steht ausser Zweifel, das der Schutz der Privatsphäre von Internet-Nutzern gegenwärtig unzureichend ist. Die Chance sich im Netz relativ weiträumig und frei zu bewegen, steht die Möglichkeit gegenüber allerlei Informationen über Internet-Nutzer zu sammeln und auszuwerten. Dies ist natürlich auch im Intranet möglich. Im Rahmen dieser Diplomarbeit wurden die verschiedenen Möglichkeiten überprüft, die zur Veröffentlichung von Datenschutzmassnahmen angeboten werden. Zunächst ist der OECD Privacy Statement Generator, dessen Principles Grundlage bei der Formulierung von Lufthansa Principles waren, auf Lufthansatauglichkeit untersucht worden. Dabei hat sich ergeben, dass trotz der theoretischen Übereinstimmung der Principles der Lufthansa AG mit denen der OECD, der Gebrauch des Generators bei Lufthansa in dieser Form nicht möglich ist. Da anfänglich eine Anpassung des Generators an Lufthansabedürfnisse geplant war, sind im Rahmen dieser Diplomarbeit Änderungsvorschläge gemacht worden. Die Anpassung des Codes erfolgte nicht, da dieser nur für öffentliche Stellen und nicht für Privatunternehmen zugänglich ist. Mit P3P entwickelte das W3C eine Datenschutztechnik, die für Nutzer die Kontrolle über persönliche Daten automatisiert und damit den Schutz der Privatsphäre und die Akzeptanz der User verbessert. Nach der Einführung des P3P- und APPEL-Vokabulars, mit dem man einerseits Datenschutzmassnahmen und andererseits Datenschutzpräferenzen ausdrücken kann, sollte daher geprüft werden, ob dieses Vokabular ausreicht, um Lufthansa-spezifische Aussagen zu machen und in wieweit diese erweiterbar bzw. anpassbar sind. Die Untersuchung hat ergeben, dass das Vokabular bis zu einem gewissen Masse ausreicht und es ein Element gibt, das EXTENSION Element, mit dem eine Erweiterung des P3P Standardvokabulars möglich ist. Im Rahmen dieser Arbeit wurden solche auf Lufthansa abgestimmte Erweiterungen sowohl für eine P3P Policy als auch für eine entsprechende APPEL Präferenz formuliert. Die Lufthansa AG hat somit mit P3P die Möglichkeit, Ihre Datenschutzpraktiken für den Mitarbeiter transparenter zu gestalten, da sie auch über das Standardvokabular hinausgehende Aussagen formulieren kann. In der Diplomarbeit sind ausserdem die sich zur Zeit auf dem Markt befindlichen Tools, die bei der Erstellung einer maschinenlesbaren Datenschutzmassnahme, der sog. Privacy Policy benutzt werden können, untersucht worden. Der IBM P3P Policy Editor scheint für den Gebrauch bei Lufthansa denkbar, da die Handhabung des Generators einfach ist. Der Mitarbeiter, der die Policy für seine Abteilung erstellen soll, braucht sich nicht mit den Einzelheiten des P3P Vokabulars auseinander setzten. Mit diesem Editor kann zunächst ein Basisgerüst einer Policy erstellt werden. Die mit dem P3P Element EXTENSION formulierten Erweiterungen müssen jedoch selbsterstellt werden und können nachträglich in das Basisgerüst der Policy miteingebunden werden. Zusätzlich zu der maschinenlesbaren Form einer Policy erstellt der IBM Editor auch eine menschenlesbare HTML-Version der Policy. Dies ist sehr von Vorteil, da in einem Arbeitsgang zwei Policy-Versionen erstellt werden. Im Vergleich zu dem Formulierungsentwurf des OECD Generators ist die menschenlesbare Version des IBM Editors ausserdem wesentlich kürzer und dadurch auch übersichtlicher. Im Ganzen ist es daher sinnvoller, den IBM Editor zu benutzen, als den OECD Generator neu zu programmieren und dann mit Hilfe eines anderen Tools die P3P Policy zu erstellen. Zur Erstellung einer APPEL Präferenz ist zur Zeit nur ein Hilfsmittel auf dem Markt erhältlich. Der Grund hierfür ist sicherlich, dass sich APPEL noch zu keinem Standard entwickelt hat, sondern sich noch in einem Entwurfsstadium befindet. Der APPEL Editor von JRC ist ähnlich wie der P3P Policy Editor von IBM aufgebaut. Auch hier müssen Erweiterungen selbst formuliert und in dem vom Editor erstellten Basisgerüst einer Präferenz eingebunden werden. Nachdem die grundsätzliche Erweiterbarkeit von P3P in dieser Diplomarbeit festgestellt wurde, sind die sog. User Agents behandelt worden. Von Bedeutung war neben der Funktionsweise der einzelnen User Agents ihre Handhabung des EXTENSION Elementes. Da zu erwarten ist, dass nur wenige Nutzer die Voreinstellungen ihrer Software selbst verändern und sich mit der APPEL Spezifikation auseinander setzten, wird der Standardkonfiguration eines P3P User Agents eine große Bedeutung beigemessen. Bei allen vorgestellten User Agents gab es verschiedene Sicherheitsniveaux bzgl. Datenschutz aus denen der Nutzer auswählen konnte. Entsprechend des Niveaux wurde die Präferenz des Nutzers automatisch konfiguriert. Bei allen war es ausserdem möglich, selbsterstellte APPEL Formulierungen zu importieren. Bei dem Proxy von JRC ist es möglich, Settings mit einzubinden, die das EXTENSION Element beinhalten. AT&T erlaubt dies nicht und von Microsoft fehlt hierzu jegliche Angabe. Bzgl. der Lufthansa AG erscheint es sinnvoll, den Mitarbeitern einen eigenen User Agent anzubieten, der alle zusätzlich formulierten Aspekte aufgreift und mit dem der Mitarbeiter seine Präferenzen bzgl. des Intranets leicht ausdrücken kann. Der Aufwand, den Mitarbeitern das erweiterte Vokabular für die Formulierung einer Präferenz zur Verfügung zu stellen, setzt voraus, dass jeder Mitarbeiter sich mit der Syntax und Semantik von P3P und APPEL auskennt. Dies ist im Vergleich zur Programmierung eines eigenen User Agents, der den Mitarbeitern zur Verfügung gestellt wird, aufwendiger und wahrscheinlich auch nicht realisierbar. Grundsätzlich kann durch diese Massnahmen das Vertrauen der Mitarbeiter ins Intranet und damit die Nutzung dieses Mediums gesteigert werden. Die vermehrte Nutzung des Intranets auch für private Zwecke, wie zum Beispiel der Buchung von Reisen oder die Abfrage nach Flügen etc., würde für beide Seiten auch wirtschaftlichen Nutzen bringen. Für die Mitarbeiter selbst käme es z.B. zu einer Zeitersparnis, da sie jetzt zur Buchung ihrer Reisen nicht mehr in die Reisestelle müssen. Dies hätte natürlich auch wirtschaftliche Auswirkungen, da der Aufwand, um zur Reisestelle zu kommen, wegfällt. Aber auch die Lufthansa AG hätte durch die transparentere Gestaltung ihrer Datenschutzpraktiken wirtschaftlichen Nutzen. Die Mitarbeiter z.B. in der Reisestelle würden durch das neue Vertrauen ihrer Kollegen ins Intranet und damit einhergehend die selbstständige Online-Buchungsmöglichkeit entlastet werden. Es könnten mehr Kapazitäten für andere Aufgaben frei werden. Das Ausmass der Vorteile für Lufthansa und Ihrer Mitarbeiter, die sich aus der Veröffentlichung von Datenschutzmaßnahmen ergeben und damit ist auch das vermehrte Vertrauen der Mitarbeiter ins Intranet gemeint, ist zur Zeit noch nicht in vollem Umfang erfassbar, da sich viele Intranetprojekte der Lufthansa AG noch im Entwicklungsstadium befinden. Für die Zukunft ist jedoch auch festzustellen, dass datenschutzfreundliche Technologien allein nicht die Lösung zur Sicherstellung des Datenschutzes im Inter- als auch im Intranet sein können. Vielmehr müssen die aufkommenden technischen Maßnahmen durch nationale und internationale Regelungen unterstützt und ergänzt werden. Erst durch Festlegung internationaler Konventionen, die den Datenschutz in Zusammenhang mit grenzüberschreitenden Computernetzwerken und Diensten regeln, kann ein effektiver und unabhängiger Kontrollmechanismus sowie die Möglichkeit zu Sanktionen gewährleistet werden. Die Veröffentlichung von Datenschutzmassnahmen gewährleistet leider nicht ihre Einhaltung.
Die Gitterbasenreduktion hat in der algorithmischen Zahlentheorie und der Kryptologie bedeutende und praktisch relevante Anwendungen [Joux und Stern, 1998; Nguyen und Stern, 2000; Nguyen, 2001]. Ein wesentlicher Beitrag auf dem Gebiet der Gitter-Reduktionsalgorithmen ist der LLL-Algorithmus [Lenstra, Lenstra und Lov´asz, 1982] und auch die Beta-Reduktion (BKZ-Reduktion) von Gitterbasen [Schnorr, 1987, 1988, 1994] ist von großer Bedeutung. Bei Implementierungen dieser Algorithmen auf modernen Rechnerarchitekturen erfolgen viele Berechnungen aus Gründen der schnelleren Verarbeitungsgeschwindigkeit in Gleitpunktzahlen-Arithmetik. Aufgrund inhärenter Rundungsfehler kommt es dabei zu numerischen Instabilitäten. Vor [Koy und Schnorr, 2001b] gab es keine erfolgreichen Ansätze die bei der Gitterbasenreduktion auftretenden Rundungsfehler so zu kontrollieren, dass auch Gitterbasen in der Dimension >= 400 reduziert werden können. Diese Diplomarbeit beschäftigt sich mit den praktischen Aspekten der Gitterbasenreduktion in Segmenten. Dabei handelt es sich um die erstmalige Implementierung und experimentelle Evaluierung der folgenden beiden Verfahren: ....
Die Leistungsfähigkeit moderner Grafikhardware erreicht ein Niveau, auf dem sich selbst aufwändig gestaltete 3D-Szenen in kürzester Zeit berechnen lassen. Die Möglichkeiten, die diese Systeme zur Navigation und Interaktion im dreidimensionalen Raum bieten, erscheinen vielen Anwendern jedoch nicht intuitiv genug. Das Ziel der vorliegenden Arbeit war es, neue Navigations- und Interaktionstechniken für räumliche Anwendungen zu entwerfen und anhand einer prototypischen Implementierung die Eignung dieser Techniken für die Interaktion mit einem virtuellen Modell des Rubik’s Cube zu untersuchen. Da die entwickelten Verfahren ihre Tauglichkeit insbesondere bei der Interaktion über klassische Ein- und Ausgabegeräte unter Beweis stellen sollten (Maus, Tastatur und 2D-Display), waren geeignete Abbildungen der zu beherrschenden Freiheitsgrade zu konzipieren. Die Beschreibung grundlegender Aspekte der menschlichen Wahrnehmung führte zum Konzept der 3D-Metapher, welche die Durchführung einer dreidimensionalen Operation mit Hilfe von 2D-Eingabegeräten erklärt. Einzelne Interaktionsaufgaben des 3D-Raums wurden dargestellt und Beispiele von metaphorischen Konzepten für ihre Implementierung gegeben. Nach der Darstellung der am Rubik’s Cube auftretenden Interaktionsformen wurden metaphorische Konzepte für die Operationen Inspektion und Rotation entworfen und ihre besonderen Eigenschaften beschrieben; hierbei wurde zudem auf spezielle Verfahren eingegangen, die bei der Implementierung dieser Metaphern eingesetzt wurden. Im Rahmen einer Benutzerstudie wurde die Bedienung der konzipierten Interaktionsmetaphern im praktischen Einsatz getestet. Hierbei wurden insbesondere die Kriterien Intuitivität, Effizienz und Erlernbarkeit untersucht sowie die zeitliche Performance und Fehlerhäufigkeiten beim Einsatz der unterschiedlichen Werkzeuge analysiert. Die vorliegende Arbeit bietet eine Reihe von Ansätzen für künftige Erweiterungen, wie zum Beispiel die Weiterentwicklung zu einer Autorenumgebung für interaktive Anwendungen oder die Integration eines Kommunikationskanals zwischen den einzelnen Interaktionsmetaphern, um auf diese Weise auch komplexe Verhaltensmuster implementieren zu können.
Das Ziel dieser Arbeit war die Entwicklung einer haptischen 3D-Benutzungsoberfläche für die Virtual-Glove-Box. Eine „Glove Box“ ist ein Apparat, in welchem chemische Versuche in abgeschlossener Atmosphäre durchgeführt werden können. Die „Virtual Glove Box“ setzt dieses Konzept für Virtual Reality Anwendungen um. Die Oberflächenelemente waren als wiederverwendbare Komponenten auszuführen. Die Bedienung erfolgt unter Einsatz zweier virtueller Hände mit an den Händen getragenen Exoskeletten zur Vermittlung des haptischen Feedbacks. Es enstand EASY, ein System zur einfachen und individuellen Gestaltung von Benutzungsberflächenelementen. Diese können in ein bereitgestelltes Framework einfügt und ohne Wissen über die zugrundeliegende Hardware benutzt werden. Die Entwicklung konnte nicht abgeschlossen werden, da die zur Verfügung stehenden Hardware-Komponenten nicht in Betrieb zu nehmen waren.
Eine verteilte Infrastruktur für typ- und diensterweiterbare orthogonale digitale Bibliotheken
(2002)
Ziel dieser Arbeit war es, eine verteilte Infrastruktur zu entwickeln, die die Realisierung skalierbarer erweiterbarer orthogonaler Digitaler Bibliotheken erlaubt. Dabei sollte die Skalierbarkeit sowohl hinsichtlich der Zahl der unterstützten Anwender als auch hinsichtlich der Zahl der gespeicherten Dokumente gewährleistet sowie die Erweiterbarkeit um neue Typen und um neue Dienste sichergestellt werden. In einem ersten Schritt wurde ein Modell skalierbarer erweiterbarer orthogonaler Digitaler Bibliotheken entworfen, das die für Erweiterbarkeit und Orthogonalität notwendigen Elemente und Mechanismen identifiziert. Anhand dieses Modells erfolgte dann eine Untersuchung existierender Systeme zur Verarbeitung digitaler Dokumente im Hinblick auf ihre Eignung zur Realisierung einer skalierbaren, erweiterbaren, orthogonalen Digitalen Bibliothek. Resultat dieser Untersuchung war, daß in existierenden Systemen zur Verarbeitung digitaler Dokumente Erweiterbarkeit nur auf Kosten der Orthogonalität oder Skalierbarkeit unterstützt wird. Als Grund dafür wurde eine mangelnde Unterstützung der transparenten Erweiterung und Interpretation der Zuordnungsfunktion durch diese Systeme erkannt. Die Ursache dieses Mangels ist die unzureichende Benennung der Elemente der Zuordnungsfunktionen in den existierenden Systemen. Um eine Infrastruktur für Digitale Bibliotheken zu entwickeln, die die genannten Anforderungen erfüllt, wurden drei Maßnahmen getroffen: die Einführung einer systemweit eindeutigen Benennung der Elemente der Zuordnungsfunktion, der Entwurf eines Mechanismus zur transparenten Verteilung der Zuordnungsfunktion in der Digitalen Bibliothek und die Entwicklung eines Mechanismus zur transparenten Bereitstellung von Dokumentmethoden in den, an der Digitalen Bibliothek beteiligten Rechnerknoten. Die eindeutige Benennung wurde durch die Definition orthogonaler Operationen ermöglicht. Die Verteilung der Zuordnungsfunktion in der Digitalen Bibliothek konnte durch die Einführung von Metadokumenten erreicht werden. Das Konzept der Metadokumente basiert auf der Erkenntnis, daß die Komponenten der Digitalen Bibliothek nur die Teile der Zuordnungsfunktion benötigen, die sich auf die Dokumente beziehen, die sie bearbeiten. Diese dokumentspezifischen Teile der Zuordnungsfunktion erhält man durch Partitionieren der Zuordnungsfunktion entlang der Dimension der Dokumente. Die dokumentspezifischen Zuordnungsfunktionen werden dann zusammen mit dem Dokumentinhalt in Form eines Metadokuments zusammengefaßt. Aufgrund des Verzichts auf eine Typabbildung ist in jedem Metadokument die vollständige dokumentspezifische Zuordnungsfunktion gespeichert. Die Verteilung der Zuordnungsfunktion in der Digitalen Bibliothek ist damit allein durch den Transport des Dokumentinhalts in Form der Metadokumente möglich geworden. Die transparente Bereitstellung der Dokumentmethoden konnte durch Verwendung von mobilen Programmen zur Implementierung von Dokumentmethoden erreicht werden. Digitale Bibliotheken lassen sich so durch Erstellung eines entsprechenden Metadokuments durch den Dokumentautor transparent um neue Dokumenttypen erweitern. Es wurde gezeigt, wie auf der Basis dieser Infrastruktur eine Vielzahl verschiedener Dokumenttypen realisiert werden können. Dazu zählen Dokumente, die unterschiedliche Formen der Präsentation realisieren, sowie Dokumente zur verteilten Datenhaltung, zur Aggregation von Dokumenten und zur Realisierung zugriffsgeschützter und vertraulicher Dokumente. Die Erweiterung um neue Dienste wurde durch die Definition mobiler Dokumente ermöglicht, die die Verteilung neuer Dienstfunktionen innerhalb der Digitalen Bibliothek erlauben. Mobile Dokumente können, analog zu nicht mobilen Dokumenten, durch den Autor des Dokuments, in diesem Fall den Gestalter des Dienstes, transparent in die Digitale Bibliothek integriert werden. Zusammen mit der Möglichkeit zur Einführung neuer orthogonaler Operationen läßt sich dadurch das Dienstspektrum der Digitalen Bibliothek dynamisch erweitern. Die Elemente der Infrastruktur wurden unter der Verwendung standardisierter Protokolle und existierender Laufzeitumgebungen für interpretierte Sprachen realisiert. Auf der Basis dieser Realisierung wurden verschiedene Dokumente implementiert, anhand derer die Umsetzbarkeit der entwickelten Konzepte demonstriert werden konnte. Der Einsatz plattformunabhängiger Sprachen zur Implementierung von Dokumentmethoden ermöglicht eine Integration zukünftiger Plattformen in die Infrastruktur, ohne daß dazu eine Änderung der existierenden Dokumente und Methoden notwendig wird. In dieser Arbeit wurde eine Infrastruktur entworfen, auf deren Grundlage sich skalierbare erweiterbare orthogonale Digitale Bibliotheken realisieren lassen. Das resultierende System läßt sich durch die Dokumentautoren und Dienstgestalter transparent um neue Dokumenttypen und Dienste erweitern. Durch die konsequente Vermeidung zentraler Komponenten konnte die Skalierbarkeit des Systems in der Zahl der unterstützten Anwender sowie in der Zahl der verwalteten Dokumente sichergestellt werden. Ausgehend von den in dieser Arbeit entwickelten Konzepten können weitergehende Fragestellungen diskutiert werden. So kann die Möglichkeit zur einer engeren Integration der Präsentation aggregierter multimedialer Dokumente, wie sie z. B. im InformediaProjekt bei der synchronisierten Darstellung geographischer Regionen und darauf bezogener VideoDaten vorgenommen wird (vgl. [13]), untersucht werden. Eine Integration unterschiedlicher Dokumente im Präsentationsraum könnte durch die Definition einer orthogonalen MultimediaPresentOperation geschehen, die die Angabe von Koordinaten im Dokument und Präsentationsraum, wie sie z. B. in HyTime [64] möglich ist, zur Kontrolle der Präsentation erlaubt. In der vorliegenden Arbeit wurde der Schutz einzelner AusführungsServer gegen böswillige Dokumentmethoden behandelt. Mit der Möglichkeit zur Erstellung mobiler Dokumente verdient der Schutz des ServerVerbundes zur Begrenzung der Ressourcennutzung durch einen Initiator ebenfalls eine eingehendere Betrachtung. Hier könnten Konzepte aus Infrastrukturen für mobile Agenten, z. B. AgentTcl [42], angepaßt werden, z. B. die Kontingentierung der Ressourcennutzung auf den Rechnerknoten innerhalb einer administrativen Domäne und die Verwendung elektronischen Geldes zur Limitierung der Ressourcennutzung durch mobile Dokumente, die sich zwischen mehreren administrativen Domänen bewegen. Zur Effizienzsteigerung könnten Verfahren zur Übersetzung von plattformunabhängigem Zwischencode in nativen Code der Zielmaschine, wie sie beispielsweise in [33] beschrieben sind, eingesetzt werden. In diesem Zusammenhang sind geeignete Mittel für eine Durchsetzung der Sicherheitsanforderungen auszuwählen und ihr Einfluß auf den zu erwartenden PerformanceGewinn zu untersuchen.
Grafik-Hardware ist programmierbar geworden. Graphic Processing Units (GPUs) der neuen Generation wie der GeForce3 von NVIDIA enthalten Prozessoren, die es dem Software-Entwickler erlauben kurze Routinen auf der Grafik-Hardware auszuführen. Ich gebe in dieser Arbeit einen umfassenden Überblick über die Architekur und Leistungsfähigkeit dieser neuen Chipgeneration, zeige deren Stärken und Schwächen auf und diskutiere Verbesserungsvorschläge. Als Teil der Arbeit präsentiere ich einige von mir entwickelte Schattierungsverfahren, sowie eine Wassersimulation. Diese Demonstratoren sind darauf ausgerichtet vollständig auf den Prozessoren der neuen Grafikchip- Generation zu laufen. Als Antwort auf die Mängel der zur Zeit verfügbaren Application Programming Interfaces stelle ich ein alternatives Interface zur Steuerung der neuen GPUKomponenten vor, das insbesondere die Austauschbarkeit und Kombinierbarkeit von GPU-Programmen unterstützt.
Wir untersuchen das Verhalten von unären stochastischen endlichen Automaten mit Hilfe von Methoden der Theorie der homogenen Markovketten. Für unäre stochastische Automaten mit E-isoliertem Cutpoint lambda und n Zuständen bestimmen wir eine obere Schranke für die Größe des zyklischen Teils eines optimalen äquivalenten DFAs. Ein Ergebnis von Milani und Pighizzini zeigt bereits, dass für den zyklischen Teil des äquivalenten DFAs O(e exp(sqrt(n ln n))) Zustände ausreichen und in unendlich vielen Fällen auch Omega(eexp(sqrt(n ln n))) Zustände benötigt werden, wobei die Größe von E keine Rolle spielt. Wir zeigen die obere Schranke n exp (1/2E) für die Größe des zyklischen Teils und weisen nach, dass der optimale DFA für jedes c < 1 in unendlich vielen Fällen mehr als n exp (c/2E) viele Zustände im zyklischen Teil benötigt. Wir weisen auch nach, dass es eine unendliche Familie endlicher unärer Sprachen gibt, für die es jeweils einen PFA mit n Zuständen und 1/4-isoliertem Cutpoint gibt, während der optimale, DFA e exp(Omega x sqrt(n ln n)) Zustände im Anfangspfad benötigt.
In der vorliegenden Arbeit wurde ein klinisches Alarmsystem für septische Schock-Patienten aufgebaut. Zweckmäßigerweise wurden hierfür metrische körpereigene Variablen verwendet, da Analysen belegt haben, dass die metrischen Daten besser zur Alarmgenerierung geeignet sind als die symbolischen Daten. Für das Training des adaptiven Neuro-Fuzzy-Systems wurden die Daten der letzten Tage des Intensivaufenthalts verwendet, da in diesem Zeitraum, im Gegensatz zu den ersten Tagen, eine gute Klassifikationsperformanz erreicht wurde. Die daraus resultierenden Alarmhistorien liefern zuverlässige Hinweise für den Intensivmediziner auf besonders kritische Patienten. Durch diese Arbeit wird es möglich werden, den medizinischen SOFA-Score, der aus 10 Variablen zusammengesetzt ist, durch die einfachere Kombination "Systolischer Blutdruck / Diastolischer Blutdruck / Thrombozyten" zu ersetzen mit einer mindestens genauso guten Performanz. Durch die Hinzunahme weiterer Variablen ist es möglich, die Performanz des SOFA-Scores zu überbieten, wobei der SOFA-Score bereits die beste Klassifikationsperformanz unter den getesteten Scores erreichte. Die erzeugten Regeln konnten die Klassifikationsentscheidung sinnvoll untermauern. Im Gegensatz zur automatischen Regelgenerierung war es Ärzten nicht möglich ahnlich sinnvolle formale Regeln zu formulieren.
Immer mehr Hersteller bringen kleine mobile Endgeräte (PDAs1) auf den Markt, die via WLAN2 (IEEE 802.11), Bluetooth oder UMTS3 drahtlos Kontakt mit der Außenwelt aufnehmen können. Dabei werden neben zunehmend höheren Übertragungsraten auch große Fortschritte in der Miniaturisierung erzielt. Viele PDAs besitzen bereits eingebaute Funknetzwerk-Karten, bei vielen läßt sich eine solche Karte einfach zusätzlich in das Gerät einstecken. Durch die steigende Rechenleistung der Geräte und die gleichzeitig steigenden Übertragungsraten der Funkverbindungen entstehen diverse neue Anwendungsmöglichkeiten, die allerdings noch wenig ausgenutzt werden. Es überwiegen die Standardaufgaben der PDAs, wie die Termin und die Adressenverwaltung. Ein eventuell vorhandener Zugang zu Netzwerken wird meist ebenfalls nur für Standardanwendungen verwendet, wie z.B. die Synchronisation von Daten mit einem Server, der Zugang zum World Wide Web oder zum Versenden von e-Mails. Der herkömmliche Zugang zu Netzwerken ist meist ortsgebunden. Im sogenannten Infrastruktur-Modus ist man auf eine Basisstation (Access-Point) angewiesen. Bewegt man sich in Bereichen, in denen kein solcher Access-Point zur Verfügung steht, kann eine Netzwerkverbindung nicht hergestellt werden. Die Mobilität des Benutzers ist auf die Funkreichweite seines Geräts zu dieser Basisstation beschränkt. Die Bezeichnung „mobil“ trifft also nur auf das Endgerät, nicht auf die Basisstation zu. Genutzt werden üblicherweise die gleichen Dienste wie in einem kabelgebundenem Netz, nämlich Server des Intra-, bzw. Internets. Die eigenständige Vernetzung mobiler Geräte untereinander, der sogenannte Ad-hoc-Modus, eröffnet neuartige Anwendungsgebiete. Ursprünglich dafür gedacht, zwei Stationen schnell und einfach über Funk miteinander zu verbinden, können durch eine Erweiterung beliebig viele Stationen zu einem spontanen und mobilen Netzwerk zusammengefaßt werden (mobiles Ad-hoc Netzwerk, MANET). Eine zentral verwaltete Infrastruktur entfällt dabei vollständig. Die Aufgaben des Routings muß jede einzelne der beteiligten Stationen übernehmen. Auf diese Weise erhöht sich die Funkreichweite aller beteiligten Stationen, da nicht ein zentraler Access-Point, sondern jeder beliebige Teilnehmer in Reichweite den Zugriff auf das Netzwerk ermöglicht. Es muß dabei allerdings davon ausgegangen werden, daß sich die Stationen in einem solchen Netz ständig bewegen, das Netz verlassen oder neu hinzukommen können. Somit verändert sich andauernd die Netzwerktopologie und ein kontinuierliches und selbstständiges Neuorganisieren des Netzes wird notwendig. Man spricht daher von selbstorganisierenden mobilen Netzen. Der Informationsfluß in Ad-hoc Netzen ist üblicherweise ein anderer als in Festnetzen. Es entsteht eine eher interessensbezogene Kommunikation, weniger eine, die auf dem Wissen von bekannten Endpunkten im Netzwerk basiert. In Ad-hoc Netzwerken können Endpunkte und Adressen aufgrund der sich permanent ändernden Nutzerzusammensetzung naturgemäß nicht bekannt sein. Stattdessen gibt jeder Nutzer Informationen über seine Interessen und seine Angebote im Netzwerk bekannt. Findet sich ein zu diesem Interessensprofil passendes Angebot, so kommt eine Verbindung zustande. Die Flexibilität der PDAs, ihre Mobilität und ihre ständig steigende Leistung lassen die Entwicklung von mobilen Ad-hoc-Anwendungen sinnvoll erscheinen. MANET Netzwerke sind in ihrer Auslegung flexibel und schnell, genau so, wie es die modernen PDAs sind. Es eröffnet sich durch durch beides eine große Zahl neuer und innovativer Anwendungsmöglichkeiten. Eine davon, das so genannte E-Learning, soll im Folgenden näher betrachtet werden. E-Learning ist ein Beispiel für eine Anwendung in Ad-hoc Netzen, die besonders geeignet erscheint, die Beweglichkeit ihrer Anwender in vielerlei Hinsicht zu unterstützen. Durch die Eigenschaft, geeignete Kollaborationspartner und Informationen schnell und gezielt im Netzwerk finden zu können, wird ein spontaner Wissensaustausch über die bisher bestehende Grenzen hinaus möglich. Es werden im Rahmen dieser Diplomarbeit Mechanismen behandelt, die dem Anwender die Nutzung von kollaborativen Anwendungen wie dem E-Learning ermöglichen und ihn bei dessen Nutzung unterstützen sollen.
Suche im Semantic Web : Erweiterung des VRP um eine intuitive und RQL-basierte Anfrageschnittstelle
(2003)
Datenflut im World Wide Web - ein Problem jedes Internetbenutzers. Klassische Internetsuchmaschinen sind überfordert und liefern immer seltener brauchbare Resultate. Das Semantic Web verspricht Hoffnung - maßgeblich basierend auf RDF. Das Licht der Öffentlichkeit erblickt das Semantic Web vermutlich zunächst in spezialisierten Informationsportalen, so genannten Infomediaries. Besucher von Informationsportalen benötigen eine Abfragesprache, welche ebenso einfach wie eine gewöhnliche Internetsuchmaschine anzuwenden ist. Eine derartige Abfragesprache existiert für RDF zur Zeit nicht. Diese Arbeit stellt eine neuartige Abfragesprache vor, welche dieser Anforderung genügt: eRQL. Bestandteil dieser Arbeit ist der mittels Java implementierte eRQL-Prozessor eRqlEngine, welcher unter http://www.wleklinski.de/rdf/ und unter http://www.dbis.informatik.uni-frankfurt.de/~tolle/RDF/eRQL/ bezogen werden kann.
Mit dem World Wide Web sind der Bestand und die Verfügbarkeit von Informationen rapide angewachsen. Der Einzelne hat Schwierigkeiten, der Menge an Informationen und Wissen Herr zu werden und so der Informationsüberflutung zu begegnen. Dieses Problem wurde von Forschern und Technikern bereits frühzeitig erkannt und durch verschiedene Konzepte wie die intelligente Suche und die Klassifikation von Informationen zu lösen versucht. Ein weiteres Konzept ist die Personalisierung, die das bedarfsgerechte Zuschneiden von Informationen auf die Bedürfnisse des einzelnen Anwenders zum Ziel hat. Diese Arbeit beschreibt dazu eine Reihe von Personalisierungstechniken und im Speziellen das Kollaborative Filtern als eine dieser Techniken. Bestehende Schwächen des Kollaborativen Filterns wie zu dünn besetzte Benutzerprofile und das mangelnde Erkennen von Änderungen im Benutzerinteresse im Verlauf der Zeit werden durch verschiedene Ansätze zu entschärfen versucht. Dazu wird eine Kombination mit Inhaltsbasierten Filtern und die Verbreiterung der Datenbasis bewerteter Ressourcen betrieben. Ziel ist die Optimierung der Personalisierung, so dass Anwender besser auf sie abgestimmte Informationen erhalten. Ein Teil der beschriebenen Ansätze wird zudem in einem prototypischen Informationssystem umgesetzt, um die Machbarkeit und den Nutzen zu prüfen. Dazu werden der auf der Java 2 Enterprise Edition aufbauende WebSphere Applikationsserver von IBM und die relationale Datenbank DB2 UDB aus gleichem Hause eingesetzt.
Funktionale Programmiersprachen weisen viele Eigenschaften auf, die zur modernen Softwareentwicklung benotigt werden: Zuverlässigkeit, Modularisierung, Wiederverwendbarkeit und Verifizierbarkeit. Als schwer vereinbar mit diesen Sprachen stellte sich die Einbettung von Seiteneffekten in diese Sprachen heraus. Nach einigen mehr oder weniger gescheiterten Ansätzen hat sich mittlerweile fur die nichtstrikte funktionale Sprache Haskell der monadische Ansatz durchgesetzt, bei dem die Seiteneffekte geschickt verpackt werden, so dass zumindest IO-behaftete Teile eines Haskell-Programms dem klassischen imperativen Programmierstil ähneln. S. Peyton Jones bringt dieses in [Pey01, Seite 3] auf den Punkt, indem er schreibt "...Haskell is the world's finest imperative programming language." Dies ist einerseits vorteilhaft, denn die klassischen Programmiertechniken können angewendet werden, andererseits bedeutet dies auch eine Rückkehr zu altbekannten Problemen in diesen Sprachen: Der Programmcode wird unverständlicher, die Wiederverwendbarkeit von Code verschlechtert sich, Änderungen im Programm sind aufwendig. Zudem erscheint die monadische Programmierung teilweise umständlich. Deshalb wurde im Zuge der Entwicklung in fast jede Implementierung von Haskell ein Konstrukt eingebaut, dass von monadischem IO zu direktem IO führt. Da dieses nicht mit dem bisherigen Ansatz vereinbar schien, wird es als "unsafe" bezeichnet, die entsprechende Funktion heißt "unsafePerformIO". Zahlreiche Anwendungen benutzten diese Funktion, teilweise scheint die Verwendung zumindest aus Effizienzgründen unabdingbar. Allerdings ist die Frage, wann dieses verwendet werden darf, d.h. so angewendet wird, dass es nicht "unsicher" ist, nur unzureichend geklärt. Das Zitat in Abbildung 1.1 gibt wenig Aufschluss über die korrekte Anwendung, zumal immer wieder Diskussionen entstehen, ob die Verwendung von unsafePerformIO in diesem oder jenem Spezialfall korrekt ist.