|
Der AST/TA ist ein Ansatz, der an der Humboldt-Universität in der Form eines zu erstellenden XML-Datenbanksystems erforscht wurde. Hierbei werden aus einem XML Dokument die tief verschachtelten XML Auszeichnungen herausgezogen, und in einer optimierten Baumstruktur gespeichert (dem "Abstract Syntax Tree"), getrennt von dem verbleibenden linearen Inhalt zwischen den Auszeichnungen (dem "Text Array"). Bei Speicherung von Gigabyte auf Sekundärspeicher ergibt sich eine hochoptimierte Variante einer XML-Datenbank. Ich stieß zu dem Team am Lehrstuhl von Prof. Freytag, und erarbeitete eine Studienarbeit, die Implementation des pTA. Die eigentliche Forschung zum dem Thema des AST/TA lief jedoch auf die hierarchischen semistrukturierten Auszeichnungen, die eine schnelle Navigation erlauben, jedoch ebenso eine schnelle Restrukturierung erlauben, und potentiell mehrere baumartige Zugriffstrukturen auf dieselben (Text-)Daten erlauben. Gerade bei Zugriffen auf Sekundärspeicher helfen Optimierung der "XML Query Execution Engine" (XEE) viel. Die Erfahrungen mit dem Modell bewogen mich, eine eigene Variante für eine Implementation im Hauptspeicher zu erstellen, die den Zweck der automatischen Programmdokumentation erlaubt. Dabei zielt dies vornehmlich auf das Textarray - denn dieses kann aufgrund der fehlenden Auszeichnung mit bekannten Syntaxanalysen bearbeitet werden (oft reichen schon reguläre Ausdrücke), während gleichzeitig strukturierte Abfragen auf die bekannten aber separat gespeicherten Auszeichnungen erfolgen können. Der gesamte Zwischenzustand kann an jedem Punkt als XML-Datenbestand ausgegeben werden, und mit anderen XML-Anwendungen weiterarbeitet werden, ja sogar wieder eingelesen werden. Dies goss ich in das XML/g Projekt, und zeigte die hohe Funktionalität durch Anwendung auf die Dokumentationserstellung im PFE Projekt, dessen Quellcode nicht vollständig den C/C++ Regeln entsprach, da es auf das Ziel "Forth" angepasst war. Trotz hohem Umfang der Analyse mehrerer tausend Worte, ging die Verarbeitung rasend schnell, im Gegensatz zur Weiterverarbeitung mit gängigen XSLT/docbook Werkzeugen. Ich hoffte, die Anwendung auf hochvariable Zusammenschaltungen von XML-Verarbeitungen zu zeigen (Processing Pipelines), insbesondere im Bereich der Bioinformatik, jedoch reichte die Zeit dafür bisher nicht. Auch das begonnen Paper zum Performance-Vergleich mit anderen Prozessoren musste unvollendet bleiben. Der erreichte Stand dokumentiert jedoch gut die Kenntnisse zu datenbankorientierten XML-Verarbeitungen wie auch Dokumentations-Pipelines, sodaß ich Sie über die Vor- und Nachteile bestimmter Varianten auf beiden Seiten gut beraten kann. |
|