Corrections.
authorEugen Sawin <sawine@me73.com>
Sat, 26 Mar 2011 01:46:39 +0100
changeset 7244a159d16ea
parent 6 189c28168c97
child 8 baaaa26809cf
Corrections.
book/out/buchblock.pdf
book/src/design.tex
book/src/document.aux
book/src/document.lof
book/src/document.log
book/src/document.lol
book/src/document.pdf
book/src/document.toc
     1.1 Binary file book/out/buchblock.pdf has changed
     2.1 --- a/book/src/design.tex	Fri Mar 25 15:57:06 2011 +0100
     2.2 +++ b/book/src/design.tex	Sat Mar 26 01:46:39 2011 +0100
     2.3 @@ -23,7 +23,7 @@
     2.4  \lstinputlisting[label=EBNF Notation,caption=EBNF Notation,language=TeX]{ebnf.txt}
     2.5  
     2.6  \subsubsection{Buchstaben und Ziffern}
     2.7 -Standardflugpläne unterstützen nur ASCII-Zeichen, deshalb gibt es keine Unicode-Unter"-stützung bei Zeichen. Die Sprache und der Compiler sind in der Lage, neben den natürlichen Zahlen auch reelle Zahlen zu verarbeiten. Es keine reellen Merkmale in einem Flugplan.\\
     2.8 +Standardflugpläne unterstützen nur ASCII-Zeichen, deshalb gibt es keine Unicode-Unter"-stützung bei Zeichen. Die Sprache und der Compiler sind in der Lage, neben den natürlichen Zahlen auch reelle Zahlen zu verarbeiten. Jedoch gibt es keine reellen Merkmale in einem Flugplan.\\
     2.9  \lstinputlisting[label=ATCCL EBNF Buchstaben und Zeichen,caption=ATCCL EBNF Buchstaben und Zeichen,language=TeX]{atccl_letters_digits.txt}
    2.10  Zusätzlich gibt es eine Produktionsregel für alle sichtbaren Zeichen, diese sind zulässige Eingaben innerhalb eines Kommentars oder einer Zeichenkettenkonstante.
    2.11  
    2.12 @@ -35,7 +35,7 @@
    2.13  \lstinputlisting[label=ATCCL EBNF Kommentare,caption=ATCCL EBNF Kommentare,language=TeX]{atccl_comments.txt}
    2.14  
    2.15  \subsubsection{Terminatoren}
    2.16 -ATCCL ist frei von Terminatoren jeglicher Art. Es muss kein besonderes Zeichen -- bei vielen Sprachen ist es ein Semikolon, bei Prolog ein Punkt und bei Python das Zeilenende -- zur Terminierung einer Anweisung gesetzt werden. Die Sprache verzichtet dadurch auf ein weiteres syntaktisches Element zur Vereinfachung und Bereinigung der Syntax.\\\\
    2.17 +ATCCL ist frei von Terminatoren. Es muss kein besonderes Zeichen -- bei vielen Sprachen ist es ein Semikolon, bei Prolog ein Punkt und bei Python das Zeilenende -- zur Terminierung einer Anweisung gesetzt werden. Die Sprache verzichtet dadurch auf ein weiteres syntaktisches Element zur Vereinfachung und Bereinigung der Syntax.\\\\
    2.18  Aufgrund der einfachen und abgeschlossenen Struktur der Regeldefinitionen wird eine differenzierte Fehlerdiagnose basierend auf der Klammersetzung erreicht.
    2.19  
    2.20  \subsubsection{Bezeichner}
    2.21 @@ -57,9 +57,9 @@
    2.22  ATCCL kennt folgende Datentypen:
    2.23  \begin{itemize}
    2.24  \item Zeichenkette (String)
    2.25 -\item Natürliche Zahl (Integer)
    2.26 +\item ganze Zahl (Integer)
    2.27  \item Zeichenkettenliste 
    2.28 -\item Liste von natürlichen Zahlen
    2.29 +\item Liste von ganzen Zahlen
    2.30  \end{itemize}
    2.31  \lstinputlisting[label=ATCCL EBNF Datentypen,caption=ATCCL EBNF Datentypen,language=TeX]{atccl_datatypes.txt}
    2.32  Die Sprache kommt mit nur zwei Basisdatentypen aus und sie erlaubt zudem noch die Zusammenfassung mehrerer Konstanten in einer Liste. Eine Liste wird durch eckige Klammern gekennzeichnet, wobei die einzelnen Element mit Kommata separiert sind.\\\\
    2.33 @@ -89,7 +89,7 @@
    2.34  Ein Flugplanmuster definiert eine Regel, die bestimmte Flugplaneigenschaften prüft. Diese Regel setzt sich aus booleschen Termen zusammen und bedient sich dabei den Operatoren, Properties und Konstanten.\\
    2.35  \lstinputlisting[label=ATCCL EBNF Flugplanmuster,caption=ATCCL EBNF Flugplanmuster,language=TeX]{atccl_patterns.txt}
    2.36  Eine Separationsregel (Constraint) dient zur Festlegung der Separation an einem, oder mehreren Wegpunkten.\\\\
    2.37 -Zum erfolgreichen Durchsetzen einer Flussdichtenregelung reicht eine zeitliche Staffelung, denkbar sind jedoch auch Abstandsseparationen und das setzen von durchschnittlichen Durchflussdichten verteilt auf eine Zeitspanne. Bei Fertigstellung dieser Arbeit wurde nur die zeitliche Staffelung unterstützt.\\\\
    2.38 +Zum erfolgreichen Durchsetzen einer Flussdichtenregelung reicht eine zeitliche Staffelung, denkbar sind jedoch auch Abstandsseparationen und das Setzen von durchschnittlichen Durchflussdichten verteilt auf eine Zeitspanne. Bei Fertigstellung dieser Arbeit wurde nur die zeitliche Staffelung unterstützt.\\\\
    2.39  Die Separation kann in Minuten und Sekunden festgelegt werden, kann einen oder eine Liste von Wegpunkten betreffen und kann zeitabhängig sein.\\
    2.40  \lstinputlisting[label=ATCCL EBNF Separationsregeln,caption=ATCCL EBNF Separationsregeln,language=TeX]{atccl_constraints.txt}
    2.41  Der Flow-Point definiert eine Zuweisung von Flugplanmuster auf eine Separationsregel. Ein Flow-Point ist somit nicht an einen geographischen Wegpunkt gebunden. Diese Abbildung wird von der Abflugplanungskomponente zur Zuweisung von Flow-Points zu Flugplänen genutzt, worauf die Kalkulation des optimalen Abflugzeitpunkts basiert.\\
    2.42 @@ -148,7 +148,7 @@
    2.43  
    2.44  \subsubsection{Synthese}
    2.45  Nach Abschluss der Analysephase erfolgt die Synthese. Anhand der Symboltabelle werden alle Symbole in dem Syntaxbaum aufgelöst. Das Resultat sind vollständige Regeldefinitionen, die im nächsten Schritt in C++-Objekte transformiert werden.\\\\
    2.46 -Die Basis der Objektinstanziierung sollen \emph{Factory}-Klassen nach \cite{design_patterns} bilden. Die \texttt{Term"-Factory} wird die Instanzen der Regelterme realisieren. Durch ein Klassen-Template soll der Datentyp abstrahiert und dadurch eine generische Lösung für alle Fälle bereitgestellt werden. Gleiches gilt für die \texttt{OperatorFactor}. Diese soll je nach Datentyp einen passenden Operator instantiieren.\\\\
    2.47 +Die Basis der Objektinstanziierung sollen \emph{Factory}-Klassen nach \cite{design_patterns} bilden. Die \texttt{Term"-Factory} wird die Instanzen der Regelterme realisieren. Durch ein Klassen-Template soll der Datentyp abstrahiert und dadurch eine generische Lösung für alle Fälle bereitgestellt werden. Gleiches gilt für die \texttt{OperatorFactory}. Diese soll je nach Datentyp einen passenden Operator instantiieren.\\\\
    2.48  Durch die semantisch korrekte Verknüpfung der einzelnen Terme entstehen die Regeldefinitionen. Die Regelobjekte werden in einer semantischen Datenbank zusammengefasst und beinhalten zu diesem Zeitpunkt alle Konstanten und die Entscheidungsbäume zur Regelauswertung. Die semantische Datenbank -- auch \texttt{SemanticTree} genannt -- dient als Eingabe und Basis aller Transformationen für die virtuelle Maschine. Sie beinhaltet:
    2.49  \begin{itemize}
    2.50  \item \texttt{Pattern}-Regelinstanzen
    2.51 @@ -158,7 +158,7 @@
    2.52  Die \texttt{SemanticTree}-Datenstruktur bietet zusätzlich verschiedene Zugriffsmöglichkeit auf die Regeln und Mappings, u.a. nach der, in der Konfiguration, vergebenen id, also den Namen bzw. Symbol der Regeldefinition. 
    2.53  
    2.54  \subsection{Virtuelle Maschine}
    2.55 -Die virtuelle Maschine bietet eine API\footnote{Application Programmable Interface -- eine Programmierschnittstelle zur Bereitstellung von Softwarefunktionen und zur Integration mit anderen Softwaremodulen} mit folgenden Merkmalen an:
    2.56 +Die virtuelle Maschine bietet eine API\footnote{Application Programmable Interface -- eine Programmierschnittstelle zur Bereitstellung von Softwarefunktionen und zur Integration mit anderen Softwaremodulen} mit folgenden Merkmalen:
    2.57  \begin{itemize}
    2.58  \item \textbf{Evaluierung von Flugplan nach Flugplanmuster}\\
    2.59  Eingangsparameter: \emph{Pattern}, \emph{FlightPlan} (siehe Abschnitt \ref{design:flight_plan})\\
    2.60 @@ -191,7 +191,7 @@
    2.61  Als Abschluss der Entwurfsphase des ATCCL-Frameworks und Einleitung der Implementierung wurde ein Prototyp für den Übersetzer entwickelt. Anhand eines Beispiels sollte die Realisierbarkeit des Entwurfs bestätigt werden, besonderes Augenmerk galt dabei der erfolgreichen Integration der externen Werkzeuge wie \texttt{flex} und \texttt{bison} in den Compiler-Baustein.\\\\
    2.62  Die drei Phasen des Compilers wurden inkrementell entwickelt und auf Funktionalität und Fehleranfälligkeit getestet. Bei diesem Vorgehen wurde eine alternative Compiler-Architektur verwendet, als in der finalen Version des Prototyps. Zur Steigerung der Flexibilität der Tests wurde ein Interpreter entwickelt, welcher eine dynamischere Eingabe erlaubte als es mit statischen Konfigurationsdateien möglich gewesen wäre.\\\\
    2.63  Mit Hilfe des Interpreters konnte gut mit den Werkzeugen experimentiert werden. Es war ohne großen Aufwand möglich, die Syntax zu erweitern oder zu verändern. Durch das unmittelbare Feedback wurden so die letzten Zweifel beseitigt.\\\\
    2.64 -Gerade der Verzicht auf unnötige Syntaxelemente, wie z.B. den Terminatoren, hob die Komplexität der Fehlerfindung und Fehlerbehandlung an. Sollen in einem Übersetzungs"-durchgang möglichst viele -- im Idealfall alle -- Fehler einer ATCCL-Konfiguration diagnostiziert werden, so muss eine differenzierte Fehlerbehandlung implementiert werden. Der Compiler muss in der Lage sein, eine Fehlerquelle genau zu lokalisieren, den Fehlerraum von der Bearbeitung ausschließen und die Zustandsmaschine in den letzten korrekten Zustand versetzen.\\\\
    2.65 +Der Verzicht auf unnötige Syntaxelemente, wie z.B. den Terminatoren, erhöhte die Komplexität der Fehlerfindung und Fehlerbehandlung. Sollen in einem Übersetzungs"-durchgang möglichst viele -- im Idealfall alle -- Fehler einer ATCCL-Konfiguration diagnostiziert werden, so muss eine differenzierte Fehlerbehandlung implementiert werden. Der Compiler muss in der Lage sein, eine Fehlerquelle genau zu lokalisieren, den Fehlerraum von der Bearbeitung ausschließen und die Zustandsmaschine in den letzten korrekten Zustand versetzen.\\\\
    2.66  Terminatoren sind bei vielen Sprachen gut dafür geeignet solche Fehlerräume abzugrenzen, dadurch wird durch einen Fehler maximal eine Anweisung invalidiert. Durch das Entfernen der fehlerhaften Anweisung kann das restliche Programm übersetzt werden, mögliche Folgefehler sind meist trivial zu lösen. Im Falle der ATCCL-Syntax boten sich die runden Klammern zur Abgrenzung der Fehlerräume an. Alle ATCCL-Regeln enden mit einer solchen Klammer, somit ist im trivialen Fall ein Fehler dadurch auf eine Regel isoliert.\\\\
    2.67  Die Nachteile dieser Fehlerbehandlungsmethode sind:
    2.68  \begin{itemize}
    2.69 @@ -204,12 +204,12 @@
    2.70  
    2.71  \subsection{Evaluation von Flugplanmustern}
    2.72  \label{design:pattern_evaluation}
    2.73 -Die virtuelle Maschine des ATCCL-Frameworks soll in der Lage sein die Gültigkeit eines Musters anhand von Flugplandaten zu bestimmen. Die virtuelle Maschine initiiert die Evaluation des Musters durch die Weiterleitung des Flugplans an die \texttt{evaluate}-Methode der entsprechenden \texttt{Pattern}-Referenz.
    2.74 +Die virtuelle Maschine des ATCCL-Frameworks soll in der Lage sein, die Gültigkeit eines Musters anhand von Flugplandaten zu bestimmen. Die virtuelle Maschine initiiert die Evaluation des Musters durch die Weiterleitung des Flugplans an die \texttt{evaluate}-Methode der entsprechenden \texttt{Pattern}-Referenz.
    2.75  
    2.76  \subsubsection{Beispiel}
    2.77  Es sei folgendes Flugplanmuster definiert:\\
    2.78  \lstinputlisting[label=ATCCL Pattern-Beispiel,caption=ATCCL Pattern-Beispiel,language=TeX]{pattern_example1.txt}
    2.79 -Das Muster definiert die Menge aller Flüge, die in Dubai starten (\emph{Aerodrome of Departure} ist \emph{OMDB}) und entweder eine schnellere Geschwindigkeit als 200 kn erreichen (\emph{True Airspeed} ist größer als 200) oder der Wegpunkt \emph{BALUS} ist in der Flugplanroute enthalten.\\\\
    2.80 +Das Muster definiert die Menge aller Flüge, die in Dubai starten (\emph{Aerodrome of Departure} ist \emph{OMDB}) und entweder eine höhere Geschwindigkeit als 200 kn erreichen (\emph{True Airspeed} ist größer als 200) oder der Wegpunkt \emph{BALUS} ist in der Flugplanroute enthalten.\\\\
    2.81  Die Synthese übersetzt diese Konfiguration in eine Baumstruktur mit zwei Booleschen Termen repräsentativ für die beiden Booleschen Verknüpfungen und sechs Blattknoten, jeweils paarweise eine Konstante und eine Flugplaneigenschaft. Die Operatoren sind für die Aktionen der Terms zuständig, in diesem Beispiel realisieren diese eine Und-Verknüpfung, eine Oder-Verknüpfung, einen Äquivalenztest, einen numerischen Vergleich und eine Teilmengenrelation. Der genaue Schrittabfolge der Auswertung eines solchen Flugplanmusters wird anhand eines Beispiels erläutert.\\\\
    2.82  Die folgenden Schritte beschreiben die Stationen des Algorithmus, Abb. \ref{fig:pattern_evaluation1} visualisiert den Pattern-Baum und die Schrittabfolge:
    2.83  \begin{enumerate}
    2.84 @@ -226,7 +226,7 @@
    2.85  \item Der Wert der Konstante wird zurückgegeben. \emph{Wert: OMDB}
    2.86  \item Der Operator führt den Äquivalenzvergleich \emph{OMDB $=$ OMDB} aus mit dem \emph{Ergebnis true}.
    2.87  \item Das Ergebnis des Äquivalenzvergleichs wird zurück propagiert.
    2.88 -\item Der Operator evaluiert den Booleschen Ausdruck \emph{true $\wedge$ true} mit dem \emph{Ergebnis true} aus. Die Auswertung terminiert, der \texttt{evaluate}-Methodenaufruf gibt \emph{true} zurück.
    2.89 +\item Der Operator evaluiert den Booleschen Ausdruck \emph{true $\wedge$ true} mit dem \emph{Ergebnis true}. Die Auswertung terminiert, der \texttt{evaluate}-Methodenaufruf gibt \emph{true} zurück.
    2.90  \end{enumerate}
    2.91  \begin{figure}[h]
    2.92  \centering \includegraphics[width=280pt]{images/pattern_evaluation.pdf}
    2.93 @@ -291,13 +291,13 @@
    2.94  Wird die Optimierung angestoßen, findet die virtuelle Maschine die früheste Abflugzeit, sodass im nachfolgendem Routenverlauf kein Separationsregelverstoß auftritt.\\\\
    2.95  Sei $K$ die Menge aller Abflugzeitenkandidaten. Eine Abflugzeit $d$ ist optimal für die früheste Abflugzeit $e$, wenn gilt:
    2.96  \[
    2.97 -\forall k \in K: k \geq d \geq e
    2.98 +d = \min\{k \in K | k \geq e\}
    2.99  \]
   2.100  Dabei ist ein Abflugzeitenkandidat eine Abflugzeit, durch die nur konfliktfreie Slot-Zeiten auf den Wegpunkten der Route folgen.\\\\
   2.101 -Zur Realisierung dieser Optimierung wurden verschiedene Entwürfe in Betracht gezogen, wobei eine kundenspezifische Beschränkung von einem Flow Point pro Flugplan gesetzt wurde. Der Entwurf sollte eine möglichst einfache und dadurch robuste Implementierung ermöglichen. Der Algorithmus wurde hierfür in möglichst kleinen Einheiten mit niedriger Komplexität modelliert.
   2.102 +Zur Realisierung dieser Optimierung wurden verschiedene Entwürfe in Betracht gezogen, wobei eine kundenspezifische Beschränkung von einem Flow Point pro Flugplan gesetzt wurde. Der Entwurf sollte eine möglichst einfache und dadurch robuste Implementierung ermöglichen. Der Algorithmus wurde hierfür in möglichst kleinen Teilschritten mit niedriger Komplexität modelliert.
   2.103  
   2.104  \subsubsection{Algorithmus}
   2.105 -Zur Bestimmung der optimalen Abflugzeiten in Abhängigkeit der geltenden Luftraumbeschränkungen und der frühest möglichen Abflugzeit, wurde ein Algorithmus entwickelt. Vor der Initiierung der Berechnung wird der DFLOW-Komponente die früheste Abflugzeit über"-geben. Die Flugpläne des betreffenden Flugplans und alle weiteren Flugpläne, die den gleichen Flow Point teilen, werden bereitgestellt. Die Route des Flugplans muss vor der Kalkulation durch die SID-Wegpunkt vervollständigt worden sein. Basierend auf der gesetzten frühesten Abflugzeit werden mit Hilfe von \texttt{CalcEstimates} die Überflugzeiten bestimmt, insbesondere auch die Überflugzeit des Wegpunkts an dem die Separation stattfinden soll, hier mit $flowtime$ referenziert. $flowtimes$ ist die Menge aller Wegpunktzeiten der anderen Flüge, die den Flow Point teilen. $separation$ hält den definierten Mindestseparationsabstand. Alle Zeiten sind fortlaufende natürliche Zahlen, wie z.B.  durch die \emph{POSIX Time}\footnote{Zeitangabe basierend auf der Anzahl an vergangenen Sekunden seit 1. Januar 1970 0:00 Uhr UTC -- UTC steht für Universal Time Coordinated und stellt die heute gültige Weltzeit dar}-Konvention gegeben.\\\\
   2.106 +Zur Bestimmung der optimalen Abflugzeiten in Abhängigkeit der geltenden Luftraumbeschränkungen und der frühest möglichen Abflugzeit, wurde ein Algorithmus entwickelt. Vor der Initiierung der Berechnung wird der DFLOW-Komponente die früheste Abflugzeit über"-geben. Der Flugplan des betreffenden Fluges und alle weiteren Flugpläne, die den gleichen Flow Point teilen, werden bereitgestellt. Die Route des Flugplans muss vor der Kalkulation durch die SID-Wegpunkt vervollständigt worden sein. Basierend auf der gesetzten frühesten Abflugzeit werden mit Hilfe von \texttt{CalcEstimates} die Überflugzeiten bestimmt, insbesondere auch die Überflugzeit des Wegpunkts an dem die Separation stattfinden soll, hier mit $flowtime$ referenziert. $flowtimes$ ist die Menge aller Wegpunktzeiten der anderen Flüge, die den Flow Point teilen. $separation$ hält den definierten Mindestseparationsabstand. Alle Zeiten sind fortlaufende natürliche Zahlen, wie z.B.  durch die \emph{POSIX Time}\footnote{Zeitangabe basierend auf der Anzahl an vergangenen Sekunden seit 1. Januar 1970 0:00 Uhr UTC -- UTC steht für Universal Time Coordinated und stellt die heute gültige Weltzeit dar}-Konvention gegeben.\\\\
   2.107  Der folgende Pseudocode liefert eine Beschreibung des Algorithmus zur Bestimmung der konfliktfreien Flow Point-Zeit.\\
   2.108  \begin{algorithm}
   2.109  \floatname{algorithm}{Algorithmus}
   2.110 @@ -343,7 +343,7 @@
   2.111  \subsubsection{Komplexität}
   2.112  Die Entscheidung fiel auf ein iteratives Vorgehen, wobei pro Iteration alle beteiligten Flugpläne sequenziell zur Konfliktauflösung in Betracht gezogen werden. Eine Iteration besteht aus $n$ Schritten, wobei $n$ gleich der Anzahl der Flugpläne ist, welche die selben Flow Points belegen, die auch für den zu optimierenden Flugplan gelten. Schrittweise werden auftretende Konflikte zwischen zwei Flugplänen aufgelöst, solange die ermittelte optimale Abflugzeit am Anfang der Iteration ungleich der optimalen Abflugzeit am Ende einer Iteration ist.
   2.113  
   2.114 -Ist dies der Fall, so terminiert der Algorithmus und man erhält die optimale Abflugzeit. Die obere Schranke der Laufzeitkomplexität für diesen Ansatz liegt bei $\mathcal{O}(n^{2})$, wobei $n$ die Anzahl der Flugpläne ist mit mindestens einem gemeinsamen Flow Point. Bei Konfliktfreiheit oder anderen günstigen Konfliktbedingungen gleicht das asymptotische Verhalten $\Omega(n)$, da nach einer Iteration bereits die Abbruchbedingung erfüllt ist.
   2.115 +Ist dies der Fall -- also die optimale Abflugzeit am Anfang und Ende einer Iteration sind identisch, so terminiert der Algorithmus und man erhält die optimale Abflugzeit. Die obere Schranke der Laufzeitkomplexität für diesen Ansatz liegt bei $\mathcal{O}(n^{2})$, wobei $n$ die Anzahl der Flugpläne ist mit mindestens einem gemeinsamen Flow Point. Bei Konfliktfreiheit oder anderen günstigen Konfliktbedingungen gleicht das asymptotische Verhalten $\Omega(n)$, da nach einer Iteration bereits die Abbruchbedingung erfüllt ist.
   2.116  
   2.117  \subsubsection{Alternative}
   2.118  Eine Alternative beinhaltet die Vorsortierung der Flugpläne nach Slot-Zeiten. Die Sortierung bereitet den Weg für eine Optimierung vor, bei der mit jedem Schritt der Suchraum halbiert werden kann. Man reduziert die betrachteten Flugpläne auf diejenigen, deren Slot-Zeiten in Konflikt oder in der Zukunft zur eigenen liegen. Das asymptotische Verhalten dieses Algorithmus liegt bei $\mathcal{O}(n^{2})$ bzw. $\Omega(n \log n)$ für das Sortieren unter Einsatz von \emph{Quicksort} und insgesamt bei $\mathcal{O}(n^2)$, da im ungünstigstem Fall $n$ Schritte notwendig sind um nach der Sortierung die optimale Zeit zu bestimmen. Im Durchschnitt läge die Komplexität bei $\Theta(n \log n)$.\\\\
     3.1 --- a/book/src/document.aux	Fri Mar 25 15:57:06 2011 +0100
     3.2 +++ b/book/src/document.aux	Sat Mar 26 01:46:39 2011 +0100
     3.3 @@ -154,8 +154,8 @@
     3.4  \newlabel{ATCCL EBNF Operatoren}{{5.8}{43}{ATCCL EBNF Operatoren\relax }{lstlisting.5.8}{}}
     3.5  \@writefile{lol}{\contentsline {lstlisting}{\numberline {5.8}ATCCL EBNF Operatoren}{43}{lstlisting.5.8}}
     3.6  \@writefile{toc}{\contentsline {subsubsection}{Regeldefinitionen}{43}{section*.29}}
     3.7 -\newlabel{ATCCL EBNF Flugplanmuster}{{5.9}{44}{ATCCL EBNF Flugplanmuster\relax }{lstlisting.5.9}{}}
     3.8 -\@writefile{lol}{\contentsline {lstlisting}{\numberline {5.9}ATCCL EBNF Flugplanmuster}{44}{lstlisting.5.9}}
     3.9 +\newlabel{ATCCL EBNF Flugplanmuster}{{5.9}{43}{ATCCL EBNF Flugplanmuster\relax }{lstlisting.5.9}{}}
    3.10 +\@writefile{lol}{\contentsline {lstlisting}{\numberline {5.9}ATCCL EBNF Flugplanmuster}{43}{lstlisting.5.9}}
    3.11  \newlabel{ATCCL EBNF Separationsregeln}{{5.10}{44}{ATCCL EBNF Separationsregeln\relax }{lstlisting.5.10}{}}
    3.12  \@writefile{lol}{\contentsline {lstlisting}{\numberline {5.10}ATCCL EBNF Separationsregeln}{44}{lstlisting.5.10}}
    3.13  \newlabel{ATCCL EBNF Flow Point}{{5.11}{45}{ATCCL EBNF Flow Point\relax }{lstlisting.5.11}{}}
    3.14 @@ -165,27 +165,27 @@
    3.15  \@writefile{lol}{\contentsline {lstlisting}{\numberline {5.12}ATCCL EBNF Konfiguration}{45}{lstlisting.5.12}}
    3.16  \@writefile{toc}{\contentsline {subsection}{\numberline {5.1.2}Beispiele}{45}{subsection.5.1.2}}
    3.17  \@writefile{toc}{\contentsline {subsubsection}{Zielstellung}{45}{section*.31}}
    3.18 -\@writefile{toc}{\contentsline {subsubsection}{Code}{46}{section*.32}}
    3.19 -\newlabel{ATCCL Einfaches Beispiel}{{5.13}{46}{ATCCL Einfaches Beispiel\relax }{lstlisting.5.13}{}}
    3.20 -\@writefile{lol}{\contentsline {lstlisting}{\numberline {5.13}ATCCL Einfaches Beispiel}{46}{lstlisting.5.13}}
    3.21 +\@writefile{toc}{\contentsline {subsubsection}{Code}{45}{section*.32}}
    3.22 +\newlabel{ATCCL Einfaches Beispiel}{{5.13}{45}{ATCCL Einfaches Beispiel\relax }{lstlisting.5.13}{}}
    3.23 +\@writefile{lol}{\contentsline {lstlisting}{\numberline {5.13}ATCCL Einfaches Beispiel}{45}{lstlisting.5.13}}
    3.24  \@writefile{toc}{\contentsline {subsubsection}{Bemerkungen}{46}{section*.33}}
    3.25  \@writefile{toc}{\contentsline {subsubsection}{Zielstellung}{46}{section*.34}}
    3.26 -\@writefile{toc}{\contentsline {subsubsection}{Code}{47}{section*.35}}
    3.27 -\newlabel{ATCCL Komplexes Beispiel}{{5.14}{47}{ATCCL Komplexes Beispiel\relax }{lstlisting.5.14}{}}
    3.28 -\@writefile{lol}{\contentsline {lstlisting}{\numberline {5.14}ATCCL Komplexes Beispiel}{47}{lstlisting.5.14}}
    3.29 +\@writefile{toc}{\contentsline {subsubsection}{Code}{46}{section*.35}}
    3.30 +\newlabel{ATCCL Komplexes Beispiel}{{5.14}{46}{ATCCL Komplexes Beispiel\relax }{lstlisting.5.14}{}}
    3.31 +\@writefile{lol}{\contentsline {lstlisting}{\numberline {5.14}ATCCL Komplexes Beispiel}{46}{lstlisting.5.14}}
    3.32  \@writefile{toc}{\contentsline {subsubsection}{Bemerkungen}{47}{section*.36}}
    3.33  \@writefile{toc}{\contentsline {subsection}{\numberline {5.1.3}Compiler}{47}{subsection.5.1.3}}
    3.34  \@writefile{lof}{\contentsline {figure}{\numberline {\relax 5.1}{\ignorespaces Der \IeC {\"U}bersetzungsprozess}}{48}{figure.5.1}}
    3.35  \newlabel{fig:compile_process}{{\relax 5.1}{48}{Der Übersetzungsprozess\relax }{figure.5.1}{}}
    3.36  \@writefile{toc}{\contentsline {subsubsection}{Scanner}{48}{section*.37}}
    3.37 +\@writefile{toc}{\contentsline {subsubsection}{Parser}{48}{section*.38}}
    3.38  \citation{design_patterns}
    3.39 -\@writefile{toc}{\contentsline {subsubsection}{Parser}{49}{section*.38}}
    3.40  \@writefile{toc}{\contentsline {subsubsection}{Synthese}{49}{section*.39}}
    3.41  \@writefile{toc}{\contentsline {subsection}{\numberline {5.1.4}Virtuelle Maschine}{50}{subsection.5.1.4}}
    3.42 -\@writefile{toc}{\contentsline {subsubsection}{FlightPlan-Interface}{50}{section*.40}}
    3.43 -\newlabel{design:flight_plan}{{5.1.4}{50}{FlightPlan-Interface\relax }{section*.40}{}}
    3.44 -\@writefile{lof}{\contentsline {figure}{\numberline {\relax 5.2}{\ignorespaces ATCCL \texttt  {VirtualMachine}}}{51}{figure.5.2}}
    3.45 -\newlabel{fig:virtual_machine_basic}{{\relax 5.2}{51}{ATCCL \texttt {VirtualMachine}\relax }{figure.5.2}{}}
    3.46 +\@writefile{lof}{\contentsline {figure}{\numberline {\relax 5.2}{\ignorespaces ATCCL \texttt  {VirtualMachine}}}{50}{figure.5.2}}
    3.47 +\newlabel{fig:virtual_machine_basic}{{\relax 5.2}{50}{ATCCL \texttt {VirtualMachine}\relax }{figure.5.2}{}}
    3.48 +\@writefile{toc}{\contentsline {subsubsection}{FlightPlan-Interface}{51}{section*.40}}
    3.49 +\newlabel{design:flight_plan}{{5.1.4}{51}{FlightPlan-Interface\relax }{section*.40}{}}
    3.50  \@writefile{toc}{\contentsline {subsection}{\numberline {5.1.5}Compilerprototyp}{52}{subsection.5.1.5}}
    3.51  \@writefile{toc}{\contentsline {subsection}{\numberline {5.1.6}Evaluation von Flugplanmustern}{53}{subsection.5.1.6}}
    3.52  \newlabel{design:pattern_evaluation}{{5.1.6}{53}{Evaluation von Flugplanmustern\relax }{subsection.5.1.6}{}}
    3.53 @@ -198,16 +198,16 @@
    3.54  \newlabel{design:atot_calculation}{{5.1.7}{55}{Optimierung der Abflugzeit\relax }{subsection.5.1.7}{}}
    3.55  \@writefile{toc}{\contentsline {subsubsection}{Algorithmus}{56}{section*.42}}
    3.56  \@writefile{loa}{\contentsline {algorithm}{\numberline {1}{\ignorespaces $resolve(separation, flowtime, flowtimes) \rightarrow flowtime$}}{57}{algorithm.1}}
    3.57 +\@writefile{toc}{\contentsline {subsubsection}{Komplexit\IeC {\"a}t}{57}{section*.43}}
    3.58  \@writefile{loa}{\contentsline {algorithm}{\numberline {2}{\ignorespaces $multresolve(flightplan, flightplans) \rightarrow atot$}}{58}{algorithm.2}}
    3.59 -\@writefile{toc}{\contentsline {subsubsection}{Komplexit\IeC {\"a}t}{58}{section*.43}}
    3.60 -\@writefile{toc}{\contentsline {subsubsection}{Alternative}{59}{section*.44}}
    3.61 +\@writefile{toc}{\contentsline {subsubsection}{Alternative}{58}{section*.44}}
    3.62  \@writefile{toc}{\contentsline {subsubsection}{H\IeC {\"o}henstaffelung}{59}{section*.45}}
    3.63 +\@writefile{toc}{\contentsline {section}{\numberline {5.2}DFLOW}{59}{section.5.2}}
    3.64  \citation{design_patterns}
    3.65 -\@writefile{toc}{\contentsline {section}{\numberline {5.2}DFLOW}{60}{section.5.2}}
    3.66  \@writefile{toc}{\contentsline {subsection}{\numberline {5.2.1}DMAP-Interaktion}{60}{subsection.5.2.1}}
    3.67  \@writefile{toc}{\contentsline {subsubsection}{Map}{60}{section*.46}}
    3.68 -\@writefile{toc}{\contentsline {subsubsection}{Notify}{61}{section*.47}}
    3.69 -\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.2}Verarbeitungslogik}{62}{subsection.5.2.2}}
    3.70 +\@writefile{toc}{\contentsline {subsubsection}{Notify}{60}{section*.47}}
    3.71 +\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.2}Verarbeitungslogik}{61}{subsection.5.2.2}}
    3.72  \citation{flugleiter_dman}
    3.73  \@writefile{toc}{\contentsline {subsection}{\numberline {5.2.3}Protokollierung}{63}{subsection.5.2.3}}
    3.74  \citation{iec_61508}
     4.1 --- a/book/src/document.lof	Fri Mar 25 15:57:06 2011 +0100
     4.2 +++ b/book/src/document.lof	Sat Mar 26 01:46:39 2011 +0100
     4.3 @@ -11,7 +11,7 @@
     4.4  \addvspace {10\p@ }
     4.5  \addvspace {10\p@ }
     4.6  \contentsline {figure}{\numberline {\relax 5.1}{\ignorespaces Der \IeC {\"U}bersetzungsprozess}}{48}{figure.5.1}
     4.7 -\contentsline {figure}{\numberline {\relax 5.2}{\ignorespaces ATCCL \texttt {VirtualMachine}}}{51}{figure.5.2}
     4.8 +\contentsline {figure}{\numberline {\relax 5.2}{\ignorespaces ATCCL \texttt {VirtualMachine}}}{50}{figure.5.2}
     4.9  \contentsline {figure}{\numberline {\relax 5.3}{\ignorespaces ATCCL \texttt {Pattern}-Evaluation-Beispiel}}{55}{figure.5.3}
    4.10  \addvspace {10\p@ }
    4.11  \contentsline {figure}{\numberline {\relax 6.1}{\ignorespaces \texttt {StackVector}}}{67}{figure.6.1}
     5.1 --- a/book/src/document.log	Fri Mar 25 15:57:06 2011 +0100
     5.2 +++ b/book/src/document.log	Sat Mar 26 01:46:39 2011 +0100
     5.3 @@ -1,4 +1,4 @@
     5.4 -This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian) (format=pdflatex 2011.1.10)  25 MAR 2011 15:56
     5.5 +This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian) (format=pdflatex 2011.1.10)  26 MAR 2011 01:46
     5.6  entering extended mode
     5.7   restricted \write18 enabled.
     5.8   %&-line parsing enabled.
     5.9 @@ -1482,12 +1482,12 @@
    5.10  
    5.11   []
    5.12  
    5.13 -[39]
    5.14 +
    5.15  Underfull \hbox (badness 10000) in paragraph at lines 42--43
    5.16  
    5.17   []
    5.18  
    5.19 -(./atccl_ids.txt)
    5.20 +[39] (./atccl_ids.txt)
    5.21  Underfull \hbox (badness 10000) in paragraph at lines 48--49
    5.22  
    5.23   []
    5.24 @@ -1543,7 +1543,7 @@
    5.25  
    5.26   []
    5.27  
    5.28 -[43] (./atccl_patterns.txt
    5.29 +(./atccl_patterns.txt
    5.30  Overfull \hbox (3.12958pt too wide) in paragraph at lines 4--5
    5.31  [][][][][][][][][][][][][][][][][][][][][] 
    5.32   []
    5.33 @@ -1553,7 +1553,7 @@
    5.34  [][][][][][][][][][][][][][][][][][][][][] 
    5.35   []
    5.36  
    5.37 -)
    5.38 +[43])
    5.39  Underfull \hbox (badness 10000) in paragraph at lines 91--94
    5.40  
    5.41   []
    5.42 @@ -1573,7 +1573,7 @@
    5.43  
    5.44   []
    5.45  
    5.46 -[44] (./atccl_flowpoints.txt)
    5.47 +(./atccl_flowpoints.txt [44])
    5.48  Underfull \hbox (badness 10000) in paragraph at lines 100--101
    5.49  
    5.50   []
    5.51 @@ -1583,12 +1583,12 @@
    5.52  [][][][][][][][][][][][][][][][][][][][][][][][][][][][] 
    5.53   []
    5.54  
    5.55 -) [46] (./atccl_example2.txt
    5.56 +) (./atccl_example2.txt
    5.57  Overfull \hbox (24.27945pt too wide) in paragraph at lines 2--4
    5.58  [][][][][][][][][][][][][][][][][][][][][][][][] 
    5.59   []
    5.60  
    5.61 -
    5.62 +[46]
    5.63  Overfull \hbox (31.3294pt too wide) in paragraph at lines 5--6
    5.64  [][][][][][][][][][][][][][][][][][][][][] 
    5.65   []
    5.66 @@ -1608,7 +1608,7 @@
    5.67  
    5.68   []
    5.69  
    5.70 -<images/compile_process.pdf, id=1232, 514.43358pt x 628.14606pt>
    5.71 +<images/compile_process.pdf, id=1236, 514.43358pt x 628.14606pt>
    5.72  File: images/compile_process.pdf Graphic file (type pdf)
    5.73  
    5.74  <use images/compile_process.pdf>
    5.75 @@ -1616,12 +1616,15 @@
    5.76  
    5.77   []
    5.78  
    5.79 +
    5.80 +LaTeX Warning: `h' float specifier changed to `ht'.
    5.81 +
    5.82 +
    5.83 +Underfull \hbox (badness 10000) in paragraph at lines 141--143
    5.84 +
    5.85 + []
    5.86 +
    5.87  [47]
    5.88 -Underfull \hbox (badness 10000) in paragraph at lines 141--143
    5.89 -
    5.90 - []
    5.91 -
    5.92 -
    5.93  Underfull \hbox (badness 10000) in paragraph at lines 145--148
    5.94  
    5.95   []
    5.96 @@ -1651,10 +1654,6 @@
    5.97  File: images/virtual_machine_basic.pdf Graphic file (type pdf)
    5.98  
    5.99  <use images/virtual_machine_basic.pdf>
   5.100 -
   5.101 -LaTeX Warning: `h' float specifier changed to `ht'.
   5.102 -
   5.103 -
   5.104  Underfull \hbox (badness 10000) in paragraph at lines 184--189
   5.105  
   5.106   []
   5.107 @@ -1674,10 +1673,7 @@
   5.108  
   5.109   []
   5.110  
   5.111 -[50]
   5.112 -Underfull \vbox (badness 1502) has occurred while \output is active []
   5.113 -
   5.114 - [51 <./images/virtual_machine_basic.pdf>]
   5.115 +[50 <./images/virtual_machine_basic.pdf>] [51]
   5.116  Underfull \hbox (badness 10000) in paragraph at lines 191--197
   5.117  
   5.118   []
   5.119 @@ -1693,12 +1689,6 @@
   5.120   []
   5.121  
   5.122  
   5.123 -Overfull \hbox (2.34683pt too wide) in paragraph at lines 191--197
   5.124 -\OT1/lmr/m/n/12 Kom-ple-xit[]at der Feh-ler-fin-dung und Feh-ler-be-hand-lung a
   5.125 -n. Sol-len in ei-nem []Ubersetzungs-
   5.126 - []
   5.127 -
   5.128 -
   5.129  Underfull \hbox (badness 10000) in paragraph at lines 191--197
   5.130  
   5.131   []
   5.132 @@ -1732,7 +1722,7 @@
   5.133  LaTeX Font Info:    Font shape `OML/lmr/m/it' in size <12> not available
   5.134  (Font)              Font shape `OML/lmm/m/it' tried instead on input line 220.
   5.135   [54]
   5.136 -<images/pattern_evaluation.pdf, id=1428, 746.48698pt x 667.4024pt>
   5.137 +<images/pattern_evaluation.pdf, id=1431, 746.48698pt x 667.4024pt>
   5.138  File: images/pattern_evaluation.pdf Graphic file (type pdf)
   5.139  
   5.140  <use images/pattern_evaluation.pdf>
   5.141 @@ -1740,12 +1730,12 @@
   5.142  
   5.143   []
   5.144  
   5.145 +
   5.146 +Underfull \hbox (badness 10000) in paragraph at lines 290--293
   5.147 +
   5.148 + []
   5.149 +
   5.150  [55 <./images/pattern_evaluation.pdf>]
   5.151 -Underfull \hbox (badness 10000) in paragraph at lines 290--293
   5.152 -
   5.153 - []
   5.154 -
   5.155 -
   5.156  Underfull \hbox (badness 10000) in paragraph at lines 295--298
   5.157  
   5.158   []
   5.159 @@ -1762,10 +1752,7 @@
   5.160  
   5.161   []
   5.162  
   5.163 -
   5.164 -Underfull \vbox (badness 3803) has occurred while \output is active []
   5.165 -
   5.166 - [58]
   5.167 +[58]
   5.168  Underfull \hbox (badness 10000) in paragraph at lines 353--356
   5.169  
   5.170   []
   5.171 @@ -1775,19 +1762,19 @@
   5.172  
   5.173   []
   5.174  
   5.175 -[59]
   5.176 +
   5.177  Overfull \hbox (17.90411pt too wide) in paragraph at lines 360--362
   5.178  []\OT1/lmr/bx/n/12 Benutzeranfrage zur op-ti-ma-len Abflugzeiten- und Flug-fl[]
   5.179  achenbestimmung 
   5.180   []
   5.181  
   5.182 -
   5.183 +[59]
   5.184  Overfull \hbox (6.55212pt too wide) in paragraph at lines 374--375
   5.185  \OT1/lmr/m/n/12 Ein Notify-Objekt rea-li-siert die Re-ak-tio-nen auf Da-ten-sat
   5.186  z-trans-ak-tio-nen. M[]ogliche Trans-
   5.187   []
   5.188  
   5.189 -[60]
   5.190 +
   5.191  Underfull \hbox (badness 10000) in paragraph at lines 380--382
   5.192  
   5.193   []
   5.194 @@ -1798,7 +1785,7 @@
   5.195  ol-gen-de DMAP-Datens[]atze: 
   5.196   []
   5.197  
   5.198 -
   5.199 +[60]
   5.200  Overfull \hbox (9.27939pt too wide) in paragraph at lines 390--391
   5.201  \OT1/lmr/m/n/12 Die oben ge-nann-ten Da-tens[]atze bie-ten al-le In-for-ma-tio-
   5.202  nen, die ei-ne DFLOW-Verarbeitung
   5.203 @@ -2158,11 +2145,11 @@
   5.204  Here is how much of TeX's memory you used:
   5.205   13172 strings out of 495021
   5.206   186649 string characters out of 1181035
   5.207 - 329854 words of memory out of 3000000
   5.208 + 329858 words of memory out of 3000000
   5.209   15157 multiletter control sequences out of 15000+50000
   5.210   67653 words of font info for 68 fonts, out of 3000000 for 9000
   5.211   28 hyphenation exceptions out of 8191
   5.212 - 45i,11n,70p,1257b,2174s stack positions out of 5000i,500n,10000p,200000b,50000s
   5.213 + 45i,11n,70p,1252b,2174s stack positions out of 5000i,500n,10000p,200000b,50000s
   5.214  {/usr/share/texmf/fonts/enc/dvips/lm/lm-rmtt.enc}{/usr/share/texmf/fonts/enc/
   5.215  dvips/lm/lm-ts1.enc}{/usr/share/texmf/fonts/enc/dvips/lm/lm-mathit.enc}{/usr/sh
   5.216  are/texmf/fonts/enc/dvips/lm/lm-mathsy.enc}{/usr/share/texmf/fonts/enc/dvips/lm
   5.217 @@ -2179,7 +2166,7 @@
   5.218  usr/share/texmf/fonts/type1/public/lm/lmtk10.pfb></usr/share/texmf/fonts/type1/
   5.219  public/lm/lmtt12.pfb></usr/share/texmf/fonts/type1/public/lm/lmtti10.pfb></usr/
   5.220  share/texmf/fonts/type1/public/lm/lmtto10.pfb>
   5.221 -Output written on document.pdf (107 pages, 1865467 bytes).
   5.222 +Output written on document.pdf (107 pages, 1865716 bytes).
   5.223  PDF statistics:
   5.224   2505 PDF objects out of 2984 (max. 8388607)
   5.225   811 named destinations out of 1000 (max. 500000)
     6.1 --- a/book/src/document.lol	Fri Mar 25 15:57:06 2011 +0100
     6.2 +++ b/book/src/document.lol	Sat Mar 26 01:46:39 2011 +0100
     6.3 @@ -11,12 +11,12 @@
     6.4  \contentsline {lstlisting}{\numberline {5.6}ATCCL EBNF Datentypen}{41}{lstlisting.5.6}
     6.5  \contentsline {lstlisting}{\numberline {5.7}ATCCL EBNF Flugplaneigenschaften}{42}{lstlisting.5.7}
     6.6  \contentsline {lstlisting}{\numberline {5.8}ATCCL EBNF Operatoren}{43}{lstlisting.5.8}
     6.7 -\contentsline {lstlisting}{\numberline {5.9}ATCCL EBNF Flugplanmuster}{44}{lstlisting.5.9}
     6.8 +\contentsline {lstlisting}{\numberline {5.9}ATCCL EBNF Flugplanmuster}{43}{lstlisting.5.9}
     6.9  \contentsline {lstlisting}{\numberline {5.10}ATCCL EBNF Separationsregeln}{44}{lstlisting.5.10}
    6.10  \contentsline {lstlisting}{\numberline {5.11}ATCCL EBNF Flow Point}{45}{lstlisting.5.11}
    6.11  \contentsline {lstlisting}{\numberline {5.12}ATCCL EBNF Konfiguration}{45}{lstlisting.5.12}
    6.12 -\contentsline {lstlisting}{\numberline {5.13}ATCCL Einfaches Beispiel}{46}{lstlisting.5.13}
    6.13 -\contentsline {lstlisting}{\numberline {5.14}ATCCL Komplexes Beispiel}{47}{lstlisting.5.14}
    6.14 +\contentsline {lstlisting}{\numberline {5.13}ATCCL Einfaches Beispiel}{45}{lstlisting.5.13}
    6.15 +\contentsline {lstlisting}{\numberline {5.14}ATCCL Komplexes Beispiel}{46}{lstlisting.5.14}
    6.16  \contentsline {lstlisting}{\numberline {5.15}ATCCL Pattern-Beispiel}{53}{lstlisting.5.15}
    6.17  \addvspace {10\p@ }
    6.18  \contentsline {lstlisting}{\numberline {6.1}ATCCL \texttt {flex}-Konfiguration: Zeichenklassen}{69}{lstlisting.6.1}
     7.1 Binary file book/src/document.pdf has changed
     8.1 --- a/book/src/document.toc	Fri Mar 25 15:57:06 2011 +0100
     8.2 +++ b/book/src/document.toc	Sat Mar 26 01:46:39 2011 +0100
     8.3 @@ -65,30 +65,30 @@
     8.4  \contentsline {subsubsection}{Programm}{45}{section*.30}
     8.5  \contentsline {subsection}{\numberline {5.1.2}Beispiele}{45}{subsection.5.1.2}
     8.6  \contentsline {subsubsection}{Zielstellung}{45}{section*.31}
     8.7 -\contentsline {subsubsection}{Code}{46}{section*.32}
     8.8 +\contentsline {subsubsection}{Code}{45}{section*.32}
     8.9  \contentsline {subsubsection}{Bemerkungen}{46}{section*.33}
    8.10  \contentsline {subsubsection}{Zielstellung}{46}{section*.34}
    8.11 -\contentsline {subsubsection}{Code}{47}{section*.35}
    8.12 +\contentsline {subsubsection}{Code}{46}{section*.35}
    8.13  \contentsline {subsubsection}{Bemerkungen}{47}{section*.36}
    8.14  \contentsline {subsection}{\numberline {5.1.3}Compiler}{47}{subsection.5.1.3}
    8.15  \contentsline {subsubsection}{Scanner}{48}{section*.37}
    8.16 -\contentsline {subsubsection}{Parser}{49}{section*.38}
    8.17 +\contentsline {subsubsection}{Parser}{48}{section*.38}
    8.18  \contentsline {subsubsection}{Synthese}{49}{section*.39}
    8.19  \contentsline {subsection}{\numberline {5.1.4}Virtuelle Maschine}{50}{subsection.5.1.4}
    8.20 -\contentsline {subsubsection}{FlightPlan-Interface}{50}{section*.40}
    8.21 +\contentsline {subsubsection}{FlightPlan-Interface}{51}{section*.40}
    8.22  \contentsline {subsection}{\numberline {5.1.5}Compilerprototyp}{52}{subsection.5.1.5}
    8.23  \contentsline {subsection}{\numberline {5.1.6}Evaluation von Flugplanmustern}{53}{subsection.5.1.6}
    8.24  \contentsline {subsubsection}{Beispiel}{53}{section*.41}
    8.25  \contentsline {subsection}{\numberline {5.1.7}Optimierung der Abflugzeit}{55}{subsection.5.1.7}
    8.26  \contentsline {subsubsection}{Algorithmus}{56}{section*.42}
    8.27 -\contentsline {subsubsection}{Komplexit\IeC {\"a}t}{58}{section*.43}
    8.28 -\contentsline {subsubsection}{Alternative}{59}{section*.44}
    8.29 +\contentsline {subsubsection}{Komplexit\IeC {\"a}t}{57}{section*.43}
    8.30 +\contentsline {subsubsection}{Alternative}{58}{section*.44}
    8.31  \contentsline {subsubsection}{H\IeC {\"o}henstaffelung}{59}{section*.45}
    8.32 -\contentsline {section}{\numberline {5.2}DFLOW}{60}{section.5.2}
    8.33 +\contentsline {section}{\numberline {5.2}DFLOW}{59}{section.5.2}
    8.34  \contentsline {subsection}{\numberline {5.2.1}DMAP-Interaktion}{60}{subsection.5.2.1}
    8.35  \contentsline {subsubsection}{Map}{60}{section*.46}
    8.36 -\contentsline {subsubsection}{Notify}{61}{section*.47}
    8.37 -\contentsline {subsection}{\numberline {5.2.2}Verarbeitungslogik}{62}{subsection.5.2.2}
    8.38 +\contentsline {subsubsection}{Notify}{60}{section*.47}
    8.39 +\contentsline {subsection}{\numberline {5.2.2}Verarbeitungslogik}{61}{subsection.5.2.2}
    8.40  \contentsline {subsection}{\numberline {5.2.3}Protokollierung}{63}{subsection.5.2.3}
    8.41  \contentsline {chapter}{\numberline {6}Realisierung}{65}{chapter.6}
    8.42  \contentsline {section}{\numberline {6.1}Programmiersprache \& Hilfsbibliotheken}{65}{section.6.1}