[ Inhalt ] [ Index ] Bibliotheksmanager und -browser Analyse der VDM Klassenbibliotek Domaincompiler

Datenbankmanager

Der Datenbankmanager ermöglicht den einheitlichen Zugriff auf die Datenbasis der VDM Klassenbibliothek und schafft damit eine allgemeine Schnittstelle, die den Zugriff und die Verwaltung der Daten unabhängig vom Datenbankmodell gestattet. Der Datenbankmanager besteht beantwortet Anfragen über eine Textschnittstelle, die Kommandos erwartet.    

Struktur des Datenbankmanagers

Der gelinkte VDM Datenbankmanagers trägt den Namen dbm und setzt sich aus folgenden Komponenten zusammen

  figure310
Abbildung: VDM Datenbankmanager

  1. VDM

    C- als auch hierauf aufbauender C++ -Quellcode der VDM-Klassenbibliothek, erzeugt anhand der in dbm.vdm hinterlegten DSL-Spezifikation, welche die Struktur der Datenbank, die verwendeten Implementationen als auch die Definition der auf die Datenbank anwendbaren Funktionen enthält.

  2. Hochsprachen

    C++ Quellcode, bestehend aus den Dateien

  3. TCL

Das Resultat der Bindung aller Komponenten ist eine TCL-Shell mit dem Namen dbm und erweitertem Befehlsatz, die als Anwendungsschnittstelle den Zugriff auf die VDM-Datenbank ermöglicht, ansonsten jedoch mit der üblichen TCL-Shell identisch ist. Ebenso wie für die Standardshell tcl oder auch tclsh sind für den Datenbankmanager zwei Ausführungsmodi zulässig. Dies ist zum einen der interaktive Modus, der im Dialog mit dem Benutzer durchgeführt wird, und zum anderen die Interaktion als Filter. Die Shell ermittelt selbstätig anhand der Standardein- und ausgabeströme ob diese mit einem Terminal oder Pipes verbunden sind und verwendet den entsprechenden Modus.

Modelle des Datenbankmanagers

Als externe Repräsentationen sind zwei Modelle definiert, für die der Manager erzeugt werden kann. Dies ist zum einen das FLAT-Modell, in der die Bibliothek in einer einzigen Datenbankdatei verwaltet wird, das weitere Modell ist die Abbildung der Datenbank auf einen Verzeichnisstruktur und wird als DIRECTORY-Modell bezeichnet. Die DSL-Spezifikation, ist nachfolgend für beide Modelle angegeben.    

Domänen

math1581 = math1585 math1589 math1595
math1595 = math1603 math1589 math1613
math1613 = math1621 math1589 math1631
math1631 = math1639 math1589 math1649
math1585 = math1657
math1603 = math1657
math1621 = math1657
math1639 = math1657
math1649 = math1657

Implementationen

A. Modell FLAT

math1581 = math1697

(*)
math1595 = math1697
math1613 = math1697
math1631 = math1697

math1657 = math1729

(*)

B. Modell DIRECTORY

math1581 = math1742
math1595 = math1742
math1613 = math1742
math1631 = math1742

math1657 = math1729

Im FLAT-Modell ist für den Datenbankmanager ein ,,Laden`` der Datenbank notwendig. Das bedeutet, die ADTs der Datenbankstruktur werden anhand der Datenbankdatei im Arbeitsspeicher wiederhergestellt. Für ein weiteres Modell für den Datenbankmanager würde sich, die Implementation ,,extern`` für die Struktur anbieten, die es erlaubt, die Datenbank auch direkt als Datei zu verwenden.


[ Inhalt ] [ Index ] Bibliotheksmanager und -browser Analyse der VDM Klassenbibliotek Domaincompiler

VDM Class Library