
\section{Zusammenfassung und Ausblick}

\subsection{Ans"atze f"ur Verbesserungen}
Folgende Punkte sind m"ogliche Ans"atze f"ur Verbesserungen:

\begin{itemize}
\item Paralelle Bearbeitung der Anfragen mehrerer Clients. Der TIP-Server sollte
  dahingehend erweitert werden, da\ss\ er mehrere Anfragen gleichzeitig
  bearbeiten kann. Dies w"are beispielsweise mit der Erzeugung eines Threads
  f"ur jede Anfrage m"oglich.

\item Typisierung von Textpositionen und Erg"anzung der Arten von
  verwendeten Bezugsinformationen. Eine Textposition kann dann
  unterschiedliche Beziehungen zu anderen Textpositionen haben. Der Bezeichner
  eines Typs einer in \emph{TL} verfa\ss ten Programmbeschreibung kann
  z.B. einen Verweis auf eine Verweisseite mit allen diesen Typ
  referenzierenden Textpositionen haben. Durch obige Erg"anzung k"onnte er auch
  noch auf eine Verweisseite mit einer Liste aller Subtypen verweisen.

\item Verwendung von Textstellenrelationen statt Textpositionsrelationen. Dies
  ist abh"angig von der Art der Symbolbeschreibungen der Symboltabellen des
  "Ubersetzers. Zur Zeit werden nur Zeile und Spalte des ersten Zeichens eines
  Symbols gespeichert. Es fehlt die L"ange des Symbols. Bei Verwendung von
  Textstellenrelationen k"onnten Programmbeschreibungen leichter konvertiert
  werden, d.h. es w"are keine Zerlegung in Wortfolgen mit Hilfe von Begrenzern mehr n"otig.

\end{itemize}

\subsection{"Ubersicht "uber die Implementation}
Das im Rahmen dieser Studienarbeit entwickelte Projekt gliedert sich in mehrere
Teile, die in \emph{TL}, \emph{C} und als Shellskript implementiert sind.

\begin{itemize}
\item Das in \emph{TL} implementierte Modul \textit{RefDB} verwaltet die
  Bezugsinformationen als Textpositionsrelationen.

\item Ein modifizierter \emph{Tycoon}-"Ubersetzer erzeugt w"ahrend
  des "Ubersetzens von Modulen, Schnittstellen und Biliotheken 
  Bezugsinformationen. 

\item Ein in \emph{TL} implementiertes Modul (\textit{Lines}) erm"oglicht es,
  Programmbeschreibungen in ver"anderbare Einheiten zu zerlegen. 
  Der Programmtext kann nach Manipulation der Einheiten wieder in seiner urspr"unglichen
  Formatierung hergestellt werden.

\item Ein in \emph{TL} implementiertes Modul (\textit{QueryHTML}) erzeugt aus Bezugsinformationen
  und \emph{TL}-Programmbeschreibungen Hypertext im Format von HTML.

\item TIP-Server und TIP-Client erm"oglichen es, Funktionen, die
  sich innerhalb eines \emph{Tycoon}-Objektspeichers befinden, von Programmen aus
  aufzurufen, die sich nicht innerhalb des Objektspeichers befinden. Diese
  Funktionalit"at wird ben"otigt, um den HTTP-Server mit den in \emph{TL}
  programmierten Funktionen zur Erzeugung von Hypertext zu verbinden.

\item Ein \emph{Tycoon}-Skript instantiiert
  einen \emph{Tycoon}-Server mit einem Service zur Erzeugung von HTML.

\item Ein Shellskript dient als Gateway zwischen
  HTTP-Server und TIP-Client.

\end{itemize}

\begin{figure}[h]
  \centering{\includegraphics*{quas_con.eps}}
\caption{Kommunikation zwischen HTTP-Client und \emph{Tycoon}-Server}
\label{genKom}
\end{figure}

Abbildung \ref{genKom} zeigt die Kommunikation zwischen HTTP-Client und
\emph{Tycoon}-Server. Der HTTP-Client baut zun"achst eine Verbindung zu einem
HTTP-Server auf. Der Server startet ein Shellskript als Gateway, wobei vom
HTTP-Client an den Server "ubergebene Parameter an das Gateway durchgereicht
werden. Das Gateway ruft den TIP-Client auf und "ubergibt als zus"atzliche
Parameter den Namen des anzusprechenden TIP-Servers sowie den Namen der vom
TIP-Server aufzurufenden Servicefunktion. Der TIP-Client baut eine
Verbindung zu einem TIP-Server auf und transferiert seine Parameter. Das
Ergebnis des Aufrufs der Servicefunktion wird vom TIP-Server "uber den TIP-Client
und "uber den HTTP-Server an den HTTP-Client zur"uckgegeben.

%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "quas"
%%% End: 
