next up previous contents
Next: 4.3 Ergebnisse der Implementierung Up: 4.2 Implementierung Previous: Synchronisation

Schnittstelle zu ConceptBase

Der Kontakt zwischen dem Transaktionsmanager und ConceptBase findet über zwei Schnittstellen statt. Das Lesen und Schreiben von Propositionen geschieht über von Hubertus Pützer realisierten C0.42mm ++ --Funktionen, die das auf ProLog--Seite durchgeführte Backtracking mit Hilfe eines Stacks unterstützen. Während nämlich der Transaktionsmanager alle auf ein Suchmuster passenden Propositionen auf einmal ermittelt, erwartet der ConceptBase --Kern die Übergabe einer einzelnen Proposition pro Aufruf. Alle Befehle des Benutzers, die lediglich für den Transaktionsmanager von Belang sind (z.B. Gruppenverwaltung), werden vom CB--Interface am Kern vorbei direkt dem Transaktionsmanager zugeleitet.

Einige Besonderheiten der Schnittstelle bezüglich der Atomarität und den OIDs sind noch zu beachten. So stellt der Transaktionsmanager lediglich die Atomarität eines einzelnen Propositionszugriffs sicher. Zwischen zwei Zugriffen kann sich also der Zustand der Datenbank (dem Isolationsgrad 2 entsprechend) geändert haben.
Bei den OIDs der Propositionen hat sich nicht nur die Struktur geändert -- der Kern sieht nun einen 10-stelligen String. Die OID einer Proposition wird nun erst beim Hochfahren des Servers festgelegt und eine Konstanz zwischen verschiedenen Serverläufen wird nicht garantiert. Dies hängt mit der Struktur der OIDs zusammen, die für jede Transaktion die Eindeutigkeit der erzeugten OIDs sicherstellt. Damit aber der für die Unterscheidung der Transaktionen vorgesehene Zahlenbereich nicht erschöpft, werden beim Starten des Objektservers alle Propositionen mit OIDs aus dem Bereich 1, der keiner Transaktion zugeordnet ist, erzeugt.



Markus Baumeister
Fri Jun 9 15:38:00 MET DST 1995