# HG changeset patch # User Eugen Sawin # Date 1301348223 -7200 # Node ID 2283a18e186c94b6ef8cd05a8957a400c6fd7ebe # Parent a2a7b825f0200f8d61ad58b79287ba8129e89d96 Layout adjustments, new preface. diff -r a2a7b825f020 -r 2283a18e186c book/out/buchblock.pdf Binary file book/out/buchblock.pdf has changed diff -r a2a7b825f020 -r 2283a18e186c book/src/analysis.tex --- a/book/src/analysis.tex Mon Mar 28 21:39:52 2011 +0200 +++ b/book/src/analysis.tex Mon Mar 28 23:37:03 2011 +0200 @@ -31,7 +31,8 @@ Bei Überschreitung des Zeitlimits für die Antwort wird von einer Fehlfunktion der Komponente ausgegangen. Wird das Zeitlimit wiederholt in Folge überschritten, können Prozesse wie z.B. der Neustart der Komponente zur Wiederherstellung der Vitalität in die Wege geleitet werden. Die Wiederaufnahme der Funktionalität soll in jeden Fall möglich sein. \subsubsection{Redundanz} -Um eine erfolgreiche Migration der Aktivitäten von einem System auf ein Ersatzsystem zu gewährleisten, muss die Komponente dafür konzipiert sein. Die Komponente soll auf flüchtige Datenhaltung verzichten, um den Verlust bei einer Migration in Grenzen zu halten. Es soll auf externe Ressourcen wie z.B. File Handles verzichtet werden, da die Freigabe solcher Ressourcen systemabhängig ist und somit nicht garantiert werden kann.\\\\ +Um eine erfolgreiche Migration der Aktivitäten von einem System auf ein Ersatzsystem zu gewährleisten, muss die Komponente dafür konzipiert sein. Die Komponente soll auf flüchtige Datenhaltung verzichten, um den Verlust bei einer Migration in Grenzen zu halten. Es soll auf externe Ressourcen wie z.B. File Handles verzichtet werden, da die Freigabe solcher Ressourcen systemabhängig ist und somit nicht garantiert werden kann.\newpage + Sowohl das Reinitialisieren als auch die Migration eines Prozesses gibt folgende Richtlinien für die Entwicklung der Komponenten vor: \begin{itemize} \item Kein flüchtigen Daten @@ -101,7 +102,7 @@ \item \textbf{Transaktionsprotokollierung}\\ Alle Vorgänge der Abflugplanungskomponente sollen in persistenter Form protokolliert werden. Dies umfasst die Benutzereingaben und automatischen Wertsetzungen der Komponente. Die Protokolle sollen vollständig sein, um die Nachvollziehbarkeit aller Aktionen und Entscheidungen zu gewährleisten. \end{enumerate} - +\newpage \section{Sollkriterien} Die folgende Anforderung \emph{sollen} berücksichtigt werden: \begin{enumerate} @@ -117,7 +118,7 @@ \item \textbf{Robustheit}\\ Die Abflugplanungskomponente soll sich stets in einem validen Zustand befinden. Die Komponente soll Fehlbedienung, Auftritt von fehlerhaften Daten und Berechnungsfehler korrekt behandeln und eine Fortsetzung der Funktionalität garantieren. Die Komponente soll nach den Richtlinien von IEC 61508 zur Entwicklung von Software nach SIL 2 entwickelt werden, um eine Zertifizierung zu ermöglichen. \end{enumerate} - +\newpage \section{Abgrenzungskriterien} Die folgende Funktionalität soll \emph{nicht} realisiert werden: \begin{enumerate} @@ -132,7 +133,6 @@ \end{enumerate} \section{Dokumentation} -Alle ermittelten Anforderungen werden in der sog. System Requirements Specification festgehalten. Das SRS ist die Basis aller folgenden Entwicklungsschritte. Es dient später zur Testfallerzeugung, da hierbei alle Anforderungen mindestens einmal abgedeckt werden müssen. - +Alle ermittelten Anforderungen werden in der sog. System Requirements Specification festgehalten. Das SRS ist die Basis aller folgenden Entwicklungsschritte. Es dient später zur Testfallerzeugung, da hierbei alle Anforderungen mindestens einmal abgedeckt werden müssen.\\\\ Das SRS ist das Referenzdokument für die Abnahme vor Ort und muss deshalb auch vom Kunden abgenommen werden. Jede Änderung im System muss gegen die Anforderungen geprüft werden, gegebenenfalls müssen neue Anforderungen hinzugefügt werden oder alte angepasst, beides hat zur Folge, dass eine erneute Abnahme vom Kunden fällig wird.\\\\ Im SRS wird für jede Anforderung eine Identifikationsnummer allokiert, diese wird in den weiteren Phasen des Projekts referenziert. Nach \cite{iec_61508} bildet die Dokumentation die Basis der Nachvollziehbarkeit der Entscheidungsfindung und dadurch auch die Grundlage einer erfolgreichen Zertifizierung. diff -r a2a7b825f020 -r 2283a18e186c book/src/conclusion.tex --- a/book/src/conclusion.tex Mon Mar 28 21:39:52 2011 +0200 +++ b/book/src/conclusion.tex Mon Mar 28 23:37:03 2011 +0200 @@ -8,4 +8,4 @@ \section{Ausblick} Ein weiterer Ausbau des \emph{ATCCL-Frameworks} kann das Anwendungsgebiet der Sprache erweitern. Alle flugplanverarbeitenden Systeme können tendenziell vom Einsatz der Sprache profitieren. Durch das generische Konzept des Frameworks ist eine Erweiterung der Syntax und Semantik mit wenig Aufwand möglich, was eine schnelle Integration in zukünftige Projekte ermöglichen soll.\\\\ Die systematische Konfigurierbarkeit der \emph{DFLOW-Komponente} macht eine Erweiterung der Verarbeitungslogik möglich. Als Vervollständigung des Automatisierungskonzepts der Abflugregelung ist eine Integration mit einem Departure Manager, zur Abhandlung des Mikromanagements auf Flughafenebene, geeignet.\\\\ -Das Ziel dieser Systeme soll nicht die Vollautomatisierung des Flugverkehrs sein. Heutige Softwarelösungen sind geeignet für Problemstellungen mit großen, für Menschen unüber\-schaubaren Suchräumen -- jedoch nicht für Probleme mit vielen äußeren und dynamischen Faktoren. Der Mensch hat die notwendigen Eigenschaften, sich flexibel neuen und unerwarteten Situationen anzupassen. Erst die Kombination beider Vorteile erlaubt eine effiziente Abhandlung der Herausforderungen der modernen Flugsicherung. +Das Ziel dieser Systeme soll nicht die Vollautomatisierung des Flugverkehrs sein. Heutige Softwarelösungen sind geeignet für Problemstellungen mit großen, für Menschen unüber\-schaubaren Suchräumen -- jedoch nicht für Probleme mit vielen äußeren und dynamischen Faktoren. Der Mensch hat die notwendigen Eigenschaften, sich flexibel neuen und unerwarteten Situationen anzupassen. Erst die Kombination beider Vorteile erlaubt eine effiziente Bewältigung der Herausforderungen der modernen Flugsicherung. diff -r a2a7b825f020 -r 2283a18e186c book/src/design.tex --- a/book/src/design.tex Mon Mar 28 21:39:52 2011 +0200 +++ b/book/src/design.tex Mon Mar 28 23:37:03 2011 +0200 @@ -99,20 +99,20 @@ \subsubsection{Programm} Ein ATCCL-Programm ist eine Konfiguration, welche sich aus einer Reihe von Regeldefinitionen zusammensetzt.\\ \lstinputlisting[label=ATCCL EBNF Konfiguration,caption=ATCCL EBNF Konfiguration,language=TeX]{atccl_config.txt} - +\newpage \subsection{Beispiele} Anhand von repräsentativen Beispielen werden nun mögliche Einsätze der ATCCL vorgeführt. -\subsubsection{Zielstellung} +\subsubsection{Bsp. 1: Zielstellung} Es soll eine zeitliche Mindestseparationsbeschränkung von 5 Minuten an Wegpunkt \emph{COPPI} gesetzt werden. Die Beschränkung soll für alle Flüge gelten, die vom \emph{Dubai International Airport} starten und den Frankfurter Flughafen als Ziel haben. Der ICAO-Code für den Flughafen Frankfurt-Main ist \emph{EDDF} und für den Flughafen Dubai \emph{OMDB}. -\subsubsection{Code} +\subsubsection{Bsp. 1: Code} \lstinputlisting[label=ATCCL Einfaches Beispiel,caption=ATCCL Einfaches Beispiel,language=TeX]{atccl_example1.txt} -\subsubsection{Bemerkungen} +\subsubsection{Bsp. 1: Bemerkungen} Der obige Code definiert einen Flow Point mit dem Namen \emph{DBCoppiDF}. Die Beschränkung auf diesem Flow Point, ist eine zeitliche Separation auf dem Wegpunkt \emph{COPPI}, dies ist in dem Constraint \emph{Coppi5} definiert. Die Bestimmung der Flugpläne, die dem Flow Point \emph{DBCoppiDF} zugeordnet werden, wird durch das Pattern \emph{DBCoppiDF} realisiert. Wie man sieht, ist die Namensauflösung nicht global, sondern basiert auf den drei Regeldefinitionstypen. So ist die mehrfache Vergabe eines Namens für mehrere Pattern-Definitionen nicht zulässig. Die Definition eines Patterns und eines Constraints mit gleichem Namen ist dagegen erlaubt. -\subsubsection{Zielstellung} +\subsubsection{Bsp. 2: Zielstellung} Ein weiteres Beispiel soll eine komplexe Regel realisieren. Es sollen folgende zeitliche Mindestseparationsbeschränkungen in Abhängigkeit der Uhrzeit gewährleistet werden: \begin{enumerate} \item 0:00 bis 6:00 Uhr: 5 Minuten, freigeschaltete Flugflächen sind 300, 320, 340 @@ -121,10 +121,10 @@ \end{enumerate} Wie im ersten Beispiel gilt der Flow Point für alle Flüge, die von Dubai nach Frankfurt unterwegs sind. Die Separation soll dieses mal jedoch an dem Wegpunkt \emph{COPPI} oder \mbox{\emph{BALUS}} durchgeführt werden, abhängig davon welcher der beiden Wegpunkte in der jeweiligen Flugroute liegt. -\subsubsection{Code} +\subsubsection{Bsp. 2: Code} \lstinputlisting[label=ATCCL Komplexes Beispiel,caption=ATCCL Komplexes Beispiel,language=TeX]{atccl_example2.txt} -\subsubsection{Bemerkungen} +\subsubsection{Bsp. 2: Bemerkungen} Der Flow Point \emph{Example2} realisiert alle Anforderungen aus der Zielstellung. Es ist ersichtlich, dass für den Zeitraum von 22:01 Uhr bis 23:59 keine Separation definiert wird, in dieser Zeit gilt keine Beschränkung auf dem Flow Point. Liegen beide Wegpunkte in der Route, so wird lediglich auf einem Wegpunkt gestaffelt. Die Sprache macht keine Aussagen darüber, welcher Wegpunkt in so einem Fall gewählt wird.\\\\ Diese Beispiele sollen keine realistischen Gegebenheiten realisieren und dienen somit ausschließlich der Beschreibung der möglichen Anwendungen der Sprache. Im letzten Beispiel tritt durch die Wegpunkte eine Uneindeutigkeit für die Wegpunktwahl zur Staffelung auf, da die Wegpunkte \emph{BALUS} und \emph{COPPI} sich oft in einer Route befinden. Die Konfigurationen der realen Luftraumbeschränkungen sind im Gegensatz dazu eindeutig gewählt. @@ -297,8 +297,11 @@ 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. \subsubsection{Algorithmus} -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.\\\\ -Der folgende Pseudocode liefert eine Beschreibung des Algorithmus zur Bestimmung der konfliktfreien Flow Point-Zeit.\\ +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.\\\\ +Algorithmus 1 beschreibt die Bestimmung der konfliktfreien Flow Point-Zeit. \begin{algorithm} \floatname{algorithm}{Algorithmus} \caption{$resolve(separation, flowtime, flowtimes) \rightarrow flowtime$} @@ -318,7 +321,8 @@ \RETURN $t_a$ \end{algorithmic} \end{algorithm}\\ -Nach der Terminierung wird die erhaltene Flow Point-Zeit zurück propagiert, um daraus die optimale Abflugzeit zu erhalten. Der Algorithmus ist auf die eindeutige Zuweisung von maximal einem Flow Point pro Flugplan beschränkt. Sollen mehrere Flow Points pro Flugplan erlaubt sein, so gilt es den gleichen Algorithmus iterativ auf die Menge aller gemeinsamen Flow Points anzuwenden. Der folgende Pseudocode ist ein Vorschlag, wie der Algorithmus 1 erweitert werden kann, um mehrere Flow Points pro Flugplan zu erlauben. $atot$ steht für die optimierte Abflugzeit, $flightplan$ ist ein Objekt mit den Eigenschaften früheste Abflugzeit ($etot$) und den zugeordneten Flow Points ($flowpoints$). Das Flow Point-Objekt hält Informationen zu der Flow Point-Überflugzeit ($flowtime$) und der definierten Separation ($separation$). Die Beschreibung soll nur die Idee des tatsächlichen Algorithmus erfassen, zur Vereinfachung wurde u.a. auf die Berücksichtigung der Tageszeit und die Höhenstaffelung verzichtet.\\ +Nach der Terminierung wird die erhaltene Flow Point-Zeit zurück propagiert, um daraus die optimale Abflugzeit zu erhalten. Der Algorithmus ist auf die eindeutige Zuweisung von maximal einem Flow Point pro Flugplan beschränkt. Sollen mehrere Flow Points pro Flugplan erlaubt sein, so gilt es den gleichen Algorithmus iterativ auf die Menge aller gemeinsamen Flow Points anzuwenden.\\\\ +Algorithmus 2 ist ein Vorschlag, wie der Algorithmus 1 erweitert werden kann, um mehrere Flow Points pro Flugplan zu erlauben. $atot$ steht für die optimierte Abflugzeit, $flightplan$ ist ein Objekt mit den Eigenschaften früheste Abflugzeit ($etot$) und den zugeordneten Flow Points ($flowpoints$). Das Flow Point-Objekt hält Informationen zu der Flow Point-Überflugzeit ($flowtime$) und der definierten Separation ($separation$). Die Beschreibung soll nur die Idee des tatsächlichen Algorithmus erfassen, zur Vereinfachung wurde u.a. auf die Berücksichtigung der Tageszeit und die Höhenstaffelung verzichtet. \begin{algorithm} \floatname{algorithm}{Algorithmus} \caption{$multresolve(flightplan, flightplans) \rightarrow atot$} @@ -343,7 +347,7 @@ \subsubsection{Komplexität} 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. -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. +Ist dies der Fall -- also sind die optimalen Abflugzeiten am Anfang und Ende einer Iteration 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. \subsubsection{Alternative} 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)$.\\\\ diff -r a2a7b825f020 -r 2283a18e186c book/src/document.aux --- a/book/src/document.aux Mon Mar 28 21:39:52 2011 +0200 +++ b/book/src/document.aux Mon Mar 28 23:37:03 2011 +0200 @@ -33,11 +33,11 @@ \@writefile{lot}{\addvspace {10\p@ }} \@writefile{lol}{\addvspace {10\p@ }} \@writefile{loa}{\addvspace {10\p@ }} -\@writefile{toc}{\contentsline {section}{\numberline {2.1}Zielsetzung}{9}{section.2.1}} \@writefile{lof}{\contentsline {figure}{\numberline {\relax 2.1}{\ignorespaces Ursachen f\IeC {\"u}r Abflugversp\IeC {\"a}tungen in Europa. \emph {Quelle: \cite {moderne_flugsicherung}}}}{10}{figure.2.1}} \newlabel{fig:atfm_stats}{{\relax 2.1}{10}{Ursachen für Abflugverspätungen in Europa. \emph {Quelle: \cite {moderne_flugsicherung}}\relax }{figure.2.1}{}} +\@writefile{toc}{\contentsline {section}{\numberline {2.1}Zielsetzung}{10}{section.2.1}} \@writefile{toc}{\contentsline {section}{\numberline {2.2}Aufbau der Arbeit}{11}{section.2.2}} -\@writefile{toc}{\contentsline {section}{\numberline {2.3}Comsoft GmbH}{11}{section.2.3}} +\@writefile{toc}{\contentsline {section}{\numberline {2.3}Comsoft GmbH}{12}{section.2.3}} \citation{moderne_flugsicherung} \@writefile{toc}{\contentsline {chapter}{\numberline {3}Grundlagen}{13}{chapter.3}} \@writefile{lof}{\addvspace {10\p@ }} @@ -116,9 +116,9 @@ \newlabel{analysis:atccl:flow_restrictions}{{4.1.4}{31}{Flussdichtenregelungen\relax }{subsection.4.1.4}{}} \@writefile{toc}{\contentsline {section}{\numberline {4.2}Abflugplanungskomponente}{32}{section.4.2}} \@writefile{toc}{\contentsline {section}{\numberline {4.3}Musskriterien}{33}{section.4.3}} -\@writefile{toc}{\contentsline {section}{\numberline {4.4}Sollkriterien}{33}{section.4.4}} -\@writefile{toc}{\contentsline {section}{\numberline {4.5}Abgrenzungskriterien}{34}{section.4.5}} +\@writefile{toc}{\contentsline {section}{\numberline {4.4}Sollkriterien}{34}{section.4.4}} \citation{iec_61508} +\@writefile{toc}{\contentsline {section}{\numberline {4.5}Abgrenzungskriterien}{35}{section.4.5}} \@writefile{toc}{\contentsline {section}{\numberline {4.6}Dokumentation}{35}{section.4.6}} \citation{ebnf} \@writefile{toc}{\contentsline {chapter}{\numberline {5}Entwurf}{37}{chapter.5}} @@ -163,53 +163,53 @@ \@writefile{toc}{\contentsline {subsubsection}{Programm}{45}{section*.30}} \newlabel{ATCCL EBNF Konfiguration}{{5.12}{45}{ATCCL EBNF Konfiguration\relax }{lstlisting.5.12}{}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {5.12}ATCCL EBNF Konfiguration}{45}{lstlisting.5.12}} -\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.2}Beispiele}{45}{subsection.5.1.2}} -\@writefile{toc}{\contentsline {subsubsection}{Zielstellung}{45}{section*.31}} -\@writefile{toc}{\contentsline {subsubsection}{Code}{45}{section*.32}} -\newlabel{ATCCL Einfaches Beispiel}{{5.13}{45}{ATCCL Einfaches Beispiel\relax }{lstlisting.5.13}{}} -\@writefile{lol}{\contentsline {lstlisting}{\numberline {5.13}ATCCL Einfaches Beispiel}{45}{lstlisting.5.13}} -\@writefile{toc}{\contentsline {subsubsection}{Bemerkungen}{46}{section*.33}} -\@writefile{toc}{\contentsline {subsubsection}{Zielstellung}{46}{section*.34}} -\@writefile{toc}{\contentsline {subsubsection}{Code}{46}{section*.35}} -\newlabel{ATCCL Komplexes Beispiel}{{5.14}{46}{ATCCL Komplexes Beispiel\relax }{lstlisting.5.14}{}} -\@writefile{lol}{\contentsline {lstlisting}{\numberline {5.14}ATCCL Komplexes Beispiel}{46}{lstlisting.5.14}} -\@writefile{toc}{\contentsline {subsubsection}{Bemerkungen}{47}{section*.36}} -\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.3}Compiler}{47}{subsection.5.1.3}} +\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.2}Beispiele}{46}{subsection.5.1.2}} +\@writefile{toc}{\contentsline {subsubsection}{Bsp. 1: Zielstellung}{46}{section*.31}} +\@writefile{toc}{\contentsline {subsubsection}{Bsp. 1: Code}{46}{section*.32}} +\newlabel{ATCCL Einfaches Beispiel}{{5.13}{46}{ATCCL Einfaches Beispiel\relax }{lstlisting.5.13}{}} +\@writefile{lol}{\contentsline {lstlisting}{\numberline {5.13}ATCCL Einfaches Beispiel}{46}{lstlisting.5.13}} +\@writefile{toc}{\contentsline {subsubsection}{Bsp. 1: Bemerkungen}{46}{section*.33}} +\@writefile{toc}{\contentsline {subsubsection}{Bsp. 2: Zielstellung}{47}{section*.34}} +\@writefile{toc}{\contentsline {subsubsection}{Bsp. 2: Code}{47}{section*.35}} +\newlabel{ATCCL Komplexes Beispiel}{{5.14}{47}{ATCCL Komplexes Beispiel\relax }{lstlisting.5.14}{}} +\@writefile{lol}{\contentsline {lstlisting}{\numberline {5.14}ATCCL Komplexes Beispiel}{47}{lstlisting.5.14}} +\@writefile{toc}{\contentsline {subsubsection}{Bsp. 2: Bemerkungen}{47}{section*.36}} +\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.3}Compiler}{48}{subsection.5.1.3}} \@writefile{lof}{\contentsline {figure}{\numberline {\relax 5.1}{\ignorespaces Der \IeC {\"U}bersetzungsprozess}}{48}{figure.5.1}} \newlabel{fig:compile_process}{{\relax 5.1}{48}{Der Übersetzungsprozess\relax }{figure.5.1}{}} -\@writefile{toc}{\contentsline {subsubsection}{Scanner}{48}{section*.37}} -\@writefile{toc}{\contentsline {subsubsection}{Parser}{48}{section*.38}} \citation{design_patterns} +\@writefile{toc}{\contentsline {subsubsection}{Scanner}{49}{section*.37}} +\@writefile{toc}{\contentsline {subsubsection}{Parser}{49}{section*.38}} \@writefile{toc}{\contentsline {subsubsection}{Synthese}{49}{section*.39}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.1.4}Virtuelle Maschine}{50}{subsection.5.1.4}} -\@writefile{lof}{\contentsline {figure}{\numberline {\relax 5.2}{\ignorespaces ATCCL \texttt {VirtualMachine}}}{50}{figure.5.2}} -\newlabel{fig:virtual_machine_basic}{{\relax 5.2}{50}{ATCCL \texttt {VirtualMachine}\relax }{figure.5.2}{}} +\@writefile{lof}{\contentsline {figure}{\numberline {\relax 5.2}{\ignorespaces ATCCL \texttt {VirtualMachine}}}{51}{figure.5.2}} +\newlabel{fig:virtual_machine_basic}{{\relax 5.2}{51}{ATCCL \texttt {VirtualMachine}\relax }{figure.5.2}{}} \@writefile{toc}{\contentsline {subsubsection}{FlightPlan-Interface}{51}{section*.40}} \newlabel{design:flight_plan}{{5.1.4}{51}{FlightPlan-Interface\relax }{section*.40}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.1.5}Compilerprototyp}{52}{subsection.5.1.5}} -\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.6}Evaluation von Flugplanmustern}{53}{subsection.5.1.6}} -\newlabel{design:pattern_evaluation}{{5.1.6}{53}{Evaluation von Flugplanmustern\relax }{subsection.5.1.6}{}} -\@writefile{toc}{\contentsline {subsubsection}{Beispiel}{53}{section*.41}} -\newlabel{ATCCL Pattern-Beispiel}{{5.15}{53}{ATCCL Pattern-Beispiel\relax }{lstlisting.5.15}{}} -\@writefile{lol}{\contentsline {lstlisting}{\numberline {5.15}ATCCL Pattern-Beispiel}{53}{lstlisting.5.15}} -\@writefile{lof}{\contentsline {figure}{\numberline {\relax 5.3}{\ignorespaces ATCCL \texttt {Pattern}-Evaluation-Beispiel}}{55}{figure.5.3}} -\newlabel{fig:pattern_evaluation1}{{\relax 5.3}{55}{ATCCL \texttt {Pattern}-Evaluation-Beispiel\relax }{figure.5.3}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.6}Evaluation von Flugplanmustern}{54}{subsection.5.1.6}} +\newlabel{design:pattern_evaluation}{{5.1.6}{54}{Evaluation von Flugplanmustern\relax }{subsection.5.1.6}{}} +\@writefile{toc}{\contentsline {subsubsection}{Beispiel}{54}{section*.41}} +\newlabel{ATCCL Pattern-Beispiel}{{5.15}{54}{ATCCL Pattern-Beispiel\relax }{lstlisting.5.15}{}} +\@writefile{lol}{\contentsline {lstlisting}{\numberline {5.15}ATCCL Pattern-Beispiel}{54}{lstlisting.5.15}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.1.7}Optimierung der Abflugzeit}{55}{subsection.5.1.7}} \newlabel{design:atot_calculation}{{5.1.7}{55}{Optimierung der Abflugzeit\relax }{subsection.5.1.7}{}} -\@writefile{toc}{\contentsline {subsubsection}{Algorithmus}{56}{section*.42}} +\@writefile{lof}{\contentsline {figure}{\numberline {\relax 5.3}{\ignorespaces ATCCL \texttt {Pattern}-Evaluation-Beispiel}}{56}{figure.5.3}} +\newlabel{fig:pattern_evaluation1}{{\relax 5.3}{56}{ATCCL \texttt {Pattern}-Evaluation-Beispiel\relax }{figure.5.3}{}} +\@writefile{toc}{\contentsline {subsubsection}{Algorithmus}{57}{section*.42}} \@writefile{loa}{\contentsline {algorithm}{\numberline {1}{\ignorespaces $resolve(separation, flowtime, flowtimes) \rightarrow flowtime$}}{57}{algorithm.1}} -\@writefile{toc}{\contentsline {subsubsection}{Komplexit\IeC {\"a}t}{57}{section*.43}} \@writefile{loa}{\contentsline {algorithm}{\numberline {2}{\ignorespaces $multresolve(flightplan, flightplans) \rightarrow atot$}}{58}{algorithm.2}} -\@writefile{toc}{\contentsline {subsubsection}{Alternative}{58}{section*.44}} +\@writefile{toc}{\contentsline {subsubsection}{Komplexit\IeC {\"a}t}{58}{section*.43}} +\@writefile{toc}{\contentsline {subsubsection}{Alternative}{59}{section*.44}} \@writefile{toc}{\contentsline {subsubsection}{H\IeC {\"o}henstaffelung}{59}{section*.45}} -\@writefile{toc}{\contentsline {section}{\numberline {5.2}DFLOW}{59}{section.5.2}} +\@writefile{toc}{\contentsline {section}{\numberline {5.2}DFLOW}{60}{section.5.2}} +\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.1}DMAP-Interaktion}{60}{subsection.5.2.1}} \citation{design_patterns} -\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.1}DMAP-Interaktion}{60}{subsection.5.2.1}} -\@writefile{toc}{\contentsline {subsubsection}{Map}{60}{section*.46}} -\@writefile{toc}{\contentsline {subsubsection}{Notify}{60}{section*.47}} -\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.2}Verarbeitungslogik}{61}{subsection.5.2.2}} +\@writefile{toc}{\contentsline {subsubsection}{Map}{61}{section*.46}} +\@writefile{toc}{\contentsline {subsubsection}{Notify}{61}{section*.47}} +\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.2}Verarbeitungslogik}{62}{subsection.5.2.2}} \citation{flugleiter_dman} -\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.3}Protokollierung}{63}{subsection.5.2.3}} +\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.3}Protokollierung}{64}{subsection.5.2.3}} \citation{iec_61508} \citation{iec_61508} \citation{iec_61508} @@ -252,9 +252,9 @@ \@writefile{lol}{\contentsline {lstlisting}{\numberline {6.6}ATCCL \texttt {flex}-Konfiguration: \texttt {Constraint}-Token}{71}{lstlisting.6.6}} \newlabel{flex_config7}{{6.7}{71}{ATCCL \texttt {flex}-Konfiguration: Basisdatentypen\relax }{lstlisting.6.7}{}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {6.7}ATCCL \texttt {flex}-Konfiguration: Basisdatentypen}{71}{lstlisting.6.7}} -\newlabel{flex_config8}{{6.8}{71}{ATCCL \texttt {flex}-Konfiguration: IDs und Kommentare\relax }{lstlisting.6.8}{}} -\@writefile{lol}{\contentsline {lstlisting}{\numberline {6.8}ATCCL \texttt {flex}-Konfiguration: IDs und Kommentare}{71}{lstlisting.6.8}} \citation{design_patterns} +\newlabel{flex_config8}{{6.8}{72}{ATCCL \texttt {flex}-Konfiguration: IDs und Kommentare\relax }{lstlisting.6.8}{}} +\@writefile{lol}{\contentsline {lstlisting}{\numberline {6.8}ATCCL \texttt {flex}-Konfiguration: IDs und Kommentare}{72}{lstlisting.6.8}} \newlabel{flex_config9}{{6.9}{72}{ATCCL \texttt {flex}-Konfiguration: Fehlerbehandlung\relax }{lstlisting.6.9}{}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {6.9}ATCCL \texttt {flex}-Konfiguration: Fehlerbehandlung}{72}{lstlisting.6.9}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.4.2}\texttt {bison}-Konfiguration}{72}{subsection.6.4.2}} diff -r a2a7b825f020 -r 2283a18e186c book/src/document.lof --- a/book/src/document.lof Mon Mar 28 21:39:52 2011 +0200 +++ b/book/src/document.lof Mon Mar 28 23:37:03 2011 +0200 @@ -11,8 +11,8 @@ \addvspace {10\p@ } \addvspace {10\p@ } \contentsline {figure}{\numberline {\relax 5.1}{\ignorespaces Der \IeC {\"U}bersetzungsprozess}}{48}{figure.5.1} -\contentsline {figure}{\numberline {\relax 5.2}{\ignorespaces ATCCL \texttt {VirtualMachine}}}{50}{figure.5.2} -\contentsline {figure}{\numberline {\relax 5.3}{\ignorespaces ATCCL \texttt {Pattern}-Evaluation-Beispiel}}{55}{figure.5.3} +\contentsline {figure}{\numberline {\relax 5.2}{\ignorespaces ATCCL \texttt {VirtualMachine}}}{51}{figure.5.2} +\contentsline {figure}{\numberline {\relax 5.3}{\ignorespaces ATCCL \texttt {Pattern}-Evaluation-Beispiel}}{56}{figure.5.3} \addvspace {10\p@ } \contentsline {figure}{\numberline {\relax 6.1}{\ignorespaces \texttt {StackVector}}}{67}{figure.6.1} \contentsline {figure}{\numberline {\relax 6.2}{\ignorespaces DFLOW Window \& Flow Aid Window}}{74}{figure.6.2} diff -r a2a7b825f020 -r 2283a18e186c book/src/document.log --- a/book/src/document.log Mon Mar 28 21:39:52 2011 +0200 +++ b/book/src/document.log Mon Mar 28 23:37:03 2011 +0200 @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian) (format=pdflatex 2011.1.10) 28 MAR 2011 20:46 +This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian) (format=pdflatex 2011.1.10) 28 MAR 2011 23:36 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -1076,67 +1076,94 @@ [] +) (./intro.tex +Underfull \hbox (badness 10000) in paragraph at lines 13--1 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 13--1 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 13--1 + + [] + Underfull \vbox (badness 6641) has occurred while \output is active [] - [7 <./images/title_page.pdf>]) (./intro.tex -Overfull \hbox (1.20625pt too wide) in paragraph at lines 17--1 -[]\OT1/lmr/m/n/12 Herr Hilt hat mich bei der Ent-wick-lung und Ein-ar-bei-tung -in die PRISMA-Architektur - [] - -[8] + [7 <./images/title_page.pdf>] [8] Kapitel 2. - -Underfull \hbox (badness 10000) in paragraph at lines 6--15 - - [] - LaTeX Font Info: External font `lmex10' loaded for size -(Font) <10> on input line 16. +(Font) <10> on input line 14. LaTeX Font Info: External font `lmex10' loaded for size -(Font) <7> on input line 16. +(Font) <7> on input line 14. LaTeX Font Info: External font `lmex10' loaded for size -(Font) <5> on input line 16. +(Font) <5> on input line 14. File: images/atfm_stats.pdf Graphic file (type pdf) +Underfull \hbox (badness 10000) in paragraph at lines 2--21 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 2--21 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 2--21 + + [] + LaTeX Warning: `h' float specifier changed to `ht'. -[9 + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + [9 ] -Underfull \hbox (badness 10000) in paragraph at lines 29--32 +Underfull \hbox (badness 10000) in paragraph at lines 25--29 [] -Underfull \hbox (badness 10000) in paragraph at lines 34--39 +Underfull \hbox (badness 10000) in paragraph at lines 25--29 [] - -Underfull \hbox (badness 10000) in paragraph at lines 34--39 +[10 <./images/atfm_stats.pdf>] +Underfull \hbox (badness 10000) in paragraph at lines 31--36 [] -Underfull \hbox (badness 10000) in paragraph at lines 34--39 +Underfull \hbox (badness 10000) in paragraph at lines 31--36 [] +Underfull \hbox (badness 10000) in paragraph at lines 31--36 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 38--40 + + [] + + Underfull \vbox (badness 10000) has occurred while \output is active [] - [10 <./images/atfm_stats.pdf>] -Underfull \hbox (badness 10000) in paragraph at lines 41--43 - - [] - -[11]) (./research.tex [12] + [11]) +(./research.tex [12] Kapitel 3. Underfull \hbox (badness 10000) in paragraph at lines 3--5 @@ -1352,48 +1379,45 @@ in Fol-ge []uberschritten, k[]onnen [] - -Underfull \hbox (badness 10000) in paragraph at lines 34--36 +[29] [30] +Underfull \hbox (badness 10000) in paragraph at lines 65--67 [] -[29] [30] -Underfull \hbox (badness 10000) in paragraph at lines 64--66 +[31] +Underfull \hbox (badness 10000) in paragraph at lines 69--71 [] -[31] -Underfull \hbox (badness 10000) in paragraph at lines 68--70 - - [] - [32] -Overfull \hbox (2.5056pt too wide) in paragraph at lines 92--94 +Overfull \hbox (2.5056pt too wide) in paragraph at lines 93--95 \OT1/lmr/m/n/12 Die Ab-flug-pla-nungs-kom-po-nen-te soll an-hand von Flug-pland -a-ten die op-ti-ma-le Flug- [] -[33] -Overfull \hbox (23.27678pt too wide) in paragraph at lines 124--126 +[33] [34] +Overfull \hbox (23.27678pt too wide) in paragraph at lines 125--127 \OT1/lmr/m/n/12 zei-ten oder Start-bahn-be-le-gung bei der Be-stim-mung von Ab- flug-zei-ten \OT1/lmr/m/it/12 nicht \OT1/lmr/m/n/12 ber[]ucksich- [] -Overfull \hbox (5.87183pt too wide) in paragraph at lines 124--126 +Overfull \hbox (5.87183pt too wide) in paragraph at lines 125--127 \OT1/lmr/m/n/12 ti-gen. Die []ubermittelte fr[]uheste Ab-flug-zeit soll be-reit s die-se De-tails ber[]ucksichtigen [] -[34]) (./design.tex -Underfull \hbox (badness 10000) in paragraph at lines 137--1 +) (./design.tex +Underfull \hbox (badness 10000) in paragraph at lines 136--1 [] -[35] [36 - - -] + +Underfull \hbox (badness 10000) in paragraph at lines 136--1 + + [] + +[35] [36] Kapitel 5. Underfull \hbox (badness 10000) in paragraph at lines 2--4 @@ -1416,7 +1440,10 @@ [] -[37] (/usr/share/texmf-texlive/tex/latex/listings/lstlang1.sty +[37 + + +] (/usr/share/texmf-texlive/tex/latex/listings/lstlang1.sty File: lstlang1.sty 2004/09/05 1.3 listings language file ) (/usr/share/texmf-texlive/tex/latex/listings/lstlang2.sty @@ -1578,17 +1605,17 @@ [] -(./atccl_config.txt) (./atccl_example1.txt [45] +(./atccl_config.txt) [45] (./atccl_example1.txt Overfull \hbox (31.3294pt too wide) in paragraph at lines 8--9 [][][][][][][][][][][][][][][][][][][][][][][][][][][][] [] -) (./atccl_example2.txt +) [46] (./atccl_example2.txt Overfull \hbox (24.27945pt too wide) in paragraph at lines 2--4 [][][][][][][][][][][][][][][][][][][][][][][][] [] -[46] + Overfull \hbox (31.3294pt too wide) in paragraph at lines 5--6 [][][][][][][][][][][][][][][][][][][][][] [] @@ -1608,7 +1635,7 @@ [] - +[47] File: images/compile_process.pdf Graphic file (type pdf) @@ -1617,14 +1644,11 @@ [] -LaTeX Warning: `h' float specifier changed to `ht'. - - Underfull \hbox (badness 10000) in paragraph at lines 141--143 [] -[47] +[48 <./images/compile_process.pdf>] Underfull \hbox (badness 10000) in paragraph at lines 145--148 [] @@ -1634,7 +1658,7 @@ [] -[48 <./images/compile_process.pdf>] + Underfull \hbox (badness 10000) in paragraph at lines 150--153 [] @@ -1650,7 +1674,8 @@ [] -[49] +[49] [50] + File: images/virtual_machine_basic.pdf Graphic file (type pdf) @@ -1673,7 +1698,7 @@ [] -[50 <./images/virtual_machine_basic.pdf>] [51] +[51 <./images/virtual_machine_basic.pdf>] Underfull \hbox (badness 10000) in paragraph at lines 191--197 [] @@ -1698,7 +1723,7 @@ [] -[52] +[52] [53] Underfull \hbox (badness 10000) in paragraph at lines 210--211 [] @@ -1713,7 +1738,7 @@ [] -[53] +[54] LaTeX Font Info: Try loading font information for OML+lmr on input line 220. (/usr/share/texmf/tex/latex/lm/omllmr.fd @@ -1721,105 +1746,126 @@ ) LaTeX Font Info: Font shape `OML/lmr/m/it' in size <12> not available (Font) Font shape `OML/lmm/m/it' tried instead on input line 220. - [54] - + + File: images/pattern_evaluation.pdf Graphic file (type pdf) + +LaTeX Warning: `h' float specifier changed to `ht'. + + Underfull \hbox (badness 10000) in paragraph at lines 284--288 [] - +[55] Underfull \hbox (badness 10000) in paragraph at lines 290--293 [] -[55 <./images/pattern_evaluation.pdf>] + Underfull \hbox (badness 10000) in paragraph at lines 295--298 [] +[56 <./images/pattern_evaluation.pdf>] Package hyperref Info: bookmark level for unknown algorithm defaults to 0 on in -put line 304. - -Underfull \hbox (badness 10000) in paragraph at lines 300--342 +put line 307. + +Underfull \hbox (badness 10000) in paragraph at lines 302--346 [] -[56] [57] -Underfull \hbox (badness 10000) in paragraph at lines 349--351 - + +Overfull \hbox (1.5658pt too wide) in paragraph at lines 302--346 +\OT1/lmr/m/n/12 h[]alt den de-fi-nier-ten Min-dest-se-pa-ra-ti-ons-ab-stand. Al +-le Zei-ten sind fort-lau-fen-de nat[]urliche [] -[58] -Underfull \hbox (badness 10000) in paragraph at lines 353--356 + +Underfull \hbox (badness 10000) in paragraph at lines 302--346 [] -Underfull \hbox (badness 10000) in paragraph at lines 353--356 +Underfull \hbox (badness 10000) in paragraph at lines 302--346 [] - -Overfull \hbox (17.90411pt too wide) in paragraph at lines 360--362 +[57] [58] +Underfull \hbox (badness 10000) in paragraph at lines 353--355 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 357--360 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 357--360 + + [] + +[59] +Overfull \hbox (17.90411pt too wide) in paragraph at lines 364--366 []\OT1/lmr/bx/n/12 Benutzeranfrage zur op-ti-ma-len Abflugzeiten- und Flug-fl[] achenbestimmung [] -[59] -Overfull \hbox (6.55212pt too wide) in paragraph at lines 374--375 +[60] +Overfull \hbox (6.55212pt too wide) in paragraph at lines 378--379 \OT1/lmr/m/n/12 Ein Notify-Objekt rea-li-siert die Re-ak-tio-nen auf Da-ten-sat z-trans-ak-tio-nen. M[]ogliche Trans- [] -Underfull \hbox (badness 10000) in paragraph at lines 380--382 +Underfull \hbox (badness 10000) in paragraph at lines 384--386 [] -Overfull \hbox (5.48227pt too wide) in paragraph at lines 380--382 +Overfull \hbox (5.48227pt too wide) in paragraph at lines 384--386 \OT1/lmr/m/n/12 Das DFLOW braucht zur Rea-li-sie-rung der Lo-gik Zu-griff auf f ol-gen-de DMAP-Datens[]atze: [] -[60] -Overfull \hbox (9.27939pt too wide) in paragraph at lines 390--391 +[61] +Overfull \hbox (9.27939pt too wide) in paragraph at lines 394--395 \OT1/lmr/m/n/12 Die oben ge-nann-ten Da-tens[]atze bie-ten al-le In-for-ma-tio- nen, die ei-ne DFLOW-Verarbeitung [] -[61] -Overfull \hbox (0.27602pt too wide) in paragraph at lines 406--408 +[62] +Overfull \hbox (0.27602pt too wide) in paragraph at lines 410--412 \OT1/lmr/m/n/12 Sobald al-le Flow Points be-kannt sind, wer-den al-le Ein-tr[]a ge im DFLOW-Datensatz [] -Overfull \hbox (34.94946pt too wide) in paragraph at lines 406--408 +Overfull \hbox (34.94946pt too wide) in paragraph at lines 410--412 \OT1/lmr/m/n/12 ge-la-den, die den glei-chen Flow Points zu-ge-wie-sen sind. Be i Flow Point-[]Uberschneidungen [] -[62] -Overfull \hbox (9.24063pt too wide) in paragraph at lines 415--422 + +Overfull \hbox (9.24063pt too wide) in paragraph at lines 419--426 \OT1/lmr/m/n/12 f[]ur die Vi-sua-li-sie-rung der DFLOW-spezifischen Da-ten ist das DFLOW-Display zust[]andig. [] -Underfull \hbox (badness 10000) in paragraph at lines 415--422 +Underfull \hbox (badness 10000) in paragraph at lines 419--426 [] - -Underfull \hbox (badness 10000) in paragraph at lines 424--426 +[63] +Underfull \hbox (badness 10000) in paragraph at lines 428--430 [] -[63]) (./impl.tex [64] +) (./impl.tex [64] Kapitel 6. Underfull \hbox (badness 10000) in paragraph at lines 6--8 @@ -1911,12 +1957,7 @@ [] -(./flex_config7.txt) -Underfull \hbox (badness 10000) in paragraph at lines 99--100 - - [] - -(./flex_config8.txt) [71] +(./flex_config7.txt) [71] (./flex_config8.txt) Underfull \hbox (badness 10000) in paragraph at lines 101--102 [] @@ -1939,21 +1980,23 @@ [] [72] -Overfull \hbox (1.75441pt too wide) in paragraph at lines 121--122 +Overfull \hbox (2.13803pt too wide) in paragraph at lines 120--121 +[]\OT1/lmr/m/n/12 Sog. \OT1/lmr/m/it/12 No-ti-fier\OT1/lmr/m/n/12 -Klassen im-p +le-men-tie-ren das Ob-ser-ver Pat-tern f[]ur be-stimm-te Da-tens[]atze + [] + +[73] +Overfull \hbox (1.75441pt too wide) in paragraph at lines 123--124 \OT1/lmr/m/n/12 Der No-de Ma-na-ger ist f[]ur die Kon-trol-le der Vi-ta-lit[]at der ein-zel-nen PRISMA-Komponen- [] - -Underfull \vbox (badness 10000) has occurred while \output is active [] - - [73] File: images/dflow_displays_grey.png Graphic file (type png) [74 <./images/dflow_displays_grey.png>]) (./verification.tex -Underfull \hbox (badness 10000) in paragraph at lines 133--1 +Underfull \hbox (badness 10000) in paragraph at lines 137--1 [] @@ -2155,11 +2198,11 @@ Here is how much of TeX's memory you used: 13172 strings out of 495021 186649 string characters out of 1181035 - 329867 words of memory out of 3000000 + 329863 words of memory out of 3000000 15157 multiletter control sequences out of 15000+50000 67653 words of font info for 68 fonts, out of 3000000 for 9000 28 hyphenation exceptions out of 8191 - 45i,11n,70p,1252b,2174s stack positions out of 5000i,500n,10000p,200000b,50000s + 45i,11n,70p,877b,2174s stack positions out of 5000i,500n,10000p,200000b,50000s {/usr/share/texmf/fonts/enc/dvips/lm/lm-rmtt.enc}{/usr/share/texmf/fonts/enc/ dvips/lm/lm-ts1.enc}{/usr/share/texmf/fonts/enc/dvips/lm/lm-mathit.enc}{/usr/sh are/texmf/fonts/enc/dvips/lm/lm-mathsy.enc}{/usr/share/texmf/fonts/enc/dvips/lm @@ -2176,7 +2219,7 @@ usr/share/texmf/fonts/type1/public/lm/lmtk10.pfb> -Output written on document.pdf (107 pages, 1866298 bytes). +Output written on document.pdf (107 pages, 1867234 bytes). PDF statistics: 2505 PDF objects out of 2984 (max. 8388607) 811 named destinations out of 1000 (max. 500000) diff -r a2a7b825f020 -r 2283a18e186c book/src/document.lol --- a/book/src/document.lol Mon Mar 28 21:39:52 2011 +0200 +++ b/book/src/document.lol Mon Mar 28 23:37:03 2011 +0200 @@ -15,9 +15,9 @@ \contentsline {lstlisting}{\numberline {5.10}ATCCL EBNF Separationsregeln}{44}{lstlisting.5.10} \contentsline {lstlisting}{\numberline {5.11}ATCCL EBNF Flow Point}{45}{lstlisting.5.11} \contentsline {lstlisting}{\numberline {5.12}ATCCL EBNF Konfiguration}{45}{lstlisting.5.12} -\contentsline {lstlisting}{\numberline {5.13}ATCCL Einfaches Beispiel}{45}{lstlisting.5.13} -\contentsline {lstlisting}{\numberline {5.14}ATCCL Komplexes Beispiel}{46}{lstlisting.5.14} -\contentsline {lstlisting}{\numberline {5.15}ATCCL Pattern-Beispiel}{53}{lstlisting.5.15} +\contentsline {lstlisting}{\numberline {5.13}ATCCL Einfaches Beispiel}{46}{lstlisting.5.13} +\contentsline {lstlisting}{\numberline {5.14}ATCCL Komplexes Beispiel}{47}{lstlisting.5.14} +\contentsline {lstlisting}{\numberline {5.15}ATCCL Pattern-Beispiel}{54}{lstlisting.5.15} \addvspace {10\p@ } \contentsline {lstlisting}{\numberline {6.1}ATCCL \texttt {flex}-Konfiguration: Zeichenklassen}{69}{lstlisting.6.1} \contentsline {lstlisting}{\numberline {6.2}ATCCL \texttt {flex}-Konfiguration: Flugplaneigenschaften}{70}{lstlisting.6.2} @@ -26,7 +26,7 @@ \contentsline {lstlisting}{\numberline {6.5}ATCCL \texttt {flex}-Konfiguration: Operatoren}{70}{lstlisting.6.5} \contentsline {lstlisting}{\numberline {6.6}ATCCL \texttt {flex}-Konfiguration: \texttt {Constraint}-Token}{71}{lstlisting.6.6} \contentsline {lstlisting}{\numberline {6.7}ATCCL \texttt {flex}-Konfiguration: Basisdatentypen}{71}{lstlisting.6.7} -\contentsline {lstlisting}{\numberline {6.8}ATCCL \texttt {flex}-Konfiguration: IDs und Kommentare}{71}{lstlisting.6.8} +\contentsline {lstlisting}{\numberline {6.8}ATCCL \texttt {flex}-Konfiguration: IDs und Kommentare}{72}{lstlisting.6.8} \contentsline {lstlisting}{\numberline {6.9}ATCCL \texttt {flex}-Konfiguration: Fehlerbehandlung}{72}{lstlisting.6.9} \addvspace {10\p@ } \addvspace {10\p@ } diff -r a2a7b825f020 -r 2283a18e186c book/src/document.pdf Binary file book/src/document.pdf has changed diff -r a2a7b825f020 -r 2283a18e186c book/src/document.toc --- a/book/src/document.toc Mon Mar 28 21:39:52 2011 +0200 +++ b/book/src/document.toc Mon Mar 28 23:37:03 2011 +0200 @@ -2,9 +2,9 @@ \contentsline {chapter}{\numberline {1}Vorwort}{7}{chapter.1} \contentsline {section}{\numberline {1.1}Danksagungen}{8}{section.1.1} \contentsline {chapter}{\numberline {2}Einleitung}{9}{chapter.2} -\contentsline {section}{\numberline {2.1}Zielsetzung}{9}{section.2.1} +\contentsline {section}{\numberline {2.1}Zielsetzung}{10}{section.2.1} \contentsline {section}{\numberline {2.2}Aufbau der Arbeit}{11}{section.2.2} -\contentsline {section}{\numberline {2.3}Comsoft GmbH}{11}{section.2.3} +\contentsline {section}{\numberline {2.3}Comsoft GmbH}{12}{section.2.3} \contentsline {chapter}{\numberline {3}Grundlagen}{13}{chapter.3} \contentsline {section}{\numberline {3.1}Flugsicherung}{13}{section.3.1} \contentsline {subsection}{\numberline {3.1.1}Luftraumorganisation}{13}{subsection.3.1.1} @@ -46,8 +46,8 @@ \contentsline {subsection}{\numberline {4.1.4}Flussdichtenregelungen}{31}{subsection.4.1.4} \contentsline {section}{\numberline {4.2}Abflugplanungskomponente}{32}{section.4.2} \contentsline {section}{\numberline {4.3}Musskriterien}{33}{section.4.3} -\contentsline {section}{\numberline {4.4}Sollkriterien}{33}{section.4.4} -\contentsline {section}{\numberline {4.5}Abgrenzungskriterien}{34}{section.4.5} +\contentsline {section}{\numberline {4.4}Sollkriterien}{34}{section.4.4} +\contentsline {section}{\numberline {4.5}Abgrenzungskriterien}{35}{section.4.5} \contentsline {section}{\numberline {4.6}Dokumentation}{35}{section.4.6} \contentsline {chapter}{\numberline {5}Entwurf}{37}{chapter.5} \contentsline {section}{\numberline {5.1}ATCCL}{37}{section.5.1} @@ -63,33 +63,33 @@ \contentsline {subsubsection}{Operatoren}{43}{section*.28} \contentsline {subsubsection}{Regeldefinitionen}{43}{section*.29} \contentsline {subsubsection}{Programm}{45}{section*.30} -\contentsline {subsection}{\numberline {5.1.2}Beispiele}{45}{subsection.5.1.2} -\contentsline {subsubsection}{Zielstellung}{45}{section*.31} -\contentsline {subsubsection}{Code}{45}{section*.32} -\contentsline {subsubsection}{Bemerkungen}{46}{section*.33} -\contentsline {subsubsection}{Zielstellung}{46}{section*.34} -\contentsline {subsubsection}{Code}{46}{section*.35} -\contentsline {subsubsection}{Bemerkungen}{47}{section*.36} -\contentsline {subsection}{\numberline {5.1.3}Compiler}{47}{subsection.5.1.3} -\contentsline {subsubsection}{Scanner}{48}{section*.37} -\contentsline {subsubsection}{Parser}{48}{section*.38} +\contentsline {subsection}{\numberline {5.1.2}Beispiele}{46}{subsection.5.1.2} +\contentsline {subsubsection}{Bsp. 1: Zielstellung}{46}{section*.31} +\contentsline {subsubsection}{Bsp. 1: Code}{46}{section*.32} +\contentsline {subsubsection}{Bsp. 1: Bemerkungen}{46}{section*.33} +\contentsline {subsubsection}{Bsp. 2: Zielstellung}{47}{section*.34} +\contentsline {subsubsection}{Bsp. 2: Code}{47}{section*.35} +\contentsline {subsubsection}{Bsp. 2: Bemerkungen}{47}{section*.36} +\contentsline {subsection}{\numberline {5.1.3}Compiler}{48}{subsection.5.1.3} +\contentsline {subsubsection}{Scanner}{49}{section*.37} +\contentsline {subsubsection}{Parser}{49}{section*.38} \contentsline {subsubsection}{Synthese}{49}{section*.39} \contentsline {subsection}{\numberline {5.1.4}Virtuelle Maschine}{50}{subsection.5.1.4} \contentsline {subsubsection}{FlightPlan-Interface}{51}{section*.40} \contentsline {subsection}{\numberline {5.1.5}Compilerprototyp}{52}{subsection.5.1.5} -\contentsline {subsection}{\numberline {5.1.6}Evaluation von Flugplanmustern}{53}{subsection.5.1.6} -\contentsline {subsubsection}{Beispiel}{53}{section*.41} +\contentsline {subsection}{\numberline {5.1.6}Evaluation von Flugplanmustern}{54}{subsection.5.1.6} +\contentsline {subsubsection}{Beispiel}{54}{section*.41} \contentsline {subsection}{\numberline {5.1.7}Optimierung der Abflugzeit}{55}{subsection.5.1.7} -\contentsline {subsubsection}{Algorithmus}{56}{section*.42} -\contentsline {subsubsection}{Komplexit\IeC {\"a}t}{57}{section*.43} -\contentsline {subsubsection}{Alternative}{58}{section*.44} +\contentsline {subsubsection}{Algorithmus}{57}{section*.42} +\contentsline {subsubsection}{Komplexit\IeC {\"a}t}{58}{section*.43} +\contentsline {subsubsection}{Alternative}{59}{section*.44} \contentsline {subsubsection}{H\IeC {\"o}henstaffelung}{59}{section*.45} -\contentsline {section}{\numberline {5.2}DFLOW}{59}{section.5.2} +\contentsline {section}{\numberline {5.2}DFLOW}{60}{section.5.2} \contentsline {subsection}{\numberline {5.2.1}DMAP-Interaktion}{60}{subsection.5.2.1} -\contentsline {subsubsection}{Map}{60}{section*.46} -\contentsline {subsubsection}{Notify}{60}{section*.47} -\contentsline {subsection}{\numberline {5.2.2}Verarbeitungslogik}{61}{subsection.5.2.2} -\contentsline {subsection}{\numberline {5.2.3}Protokollierung}{63}{subsection.5.2.3} +\contentsline {subsubsection}{Map}{61}{section*.46} +\contentsline {subsubsection}{Notify}{61}{section*.47} +\contentsline {subsection}{\numberline {5.2.2}Verarbeitungslogik}{62}{subsection.5.2.2} +\contentsline {subsection}{\numberline {5.2.3}Protokollierung}{64}{subsection.5.2.3} \contentsline {chapter}{\numberline {6}Realisierung}{65}{chapter.6} \contentsline {section}{\numberline {6.1}Programmiersprache \& Hilfsbibliotheken}{65}{section.6.1} \contentsline {subsection}{\numberline {6.1.1}Compiler}{65}{subsection.6.1.1} diff -r a2a7b825f020 -r 2283a18e186c book/src/impl.tex --- a/book/src/impl.tex Mon Mar 28 21:39:52 2011 +0200 +++ b/book/src/impl.tex Mon Mar 28 23:37:03 2011 +0200 @@ -96,7 +96,7 @@ \lstinputlisting[label=flex_config6, caption=ATCCL \texttt{flex}-Konfiguration: \texttt{Constraint}-Token,language=TeX]{flex_config6.txt} Das yylval wird in der \texttt{bison}-Konfiguration als \texttt{union} von \texttt{integer, double} und \texttt{char*} deklariert. Dadurch wird eine typensichere Wertübertragung von Konstanten in die Syntaxanalyse ermöglicht.\\ \lstinputlisting[label=flex_config7, caption=ATCCL \texttt{flex}-Konfiguration: Basisdatentypen,language=TeX]{flex_config7.txt} -Zur zusätzlichen Unterstützung der nachfolgenden Analyse wird eine Regel für die Regeldefinitionsidentifikation gestellt und die Kommentare lokalisiert. Der Kommentarinhalt wird nicht übergeben sondern ignoriert. Die letzte Regel leitet alle Zeichen weiter, die bisher in keiner Regel aufgefangen wurde, wie z.B. die Klammern.\\ +Zur zusätzlichen Unterstützung der nachfolgenden Analyse wird eine Regel für die Regeldefinitionsidentifikation gestellt und die Kommentare lokalisiert. Der Kommentarinhalt wird nicht übergeben sondern ignoriert. Die letzte Regel leitet alle Zeichen weiter, die bisher in keiner Regel aufgefangen wurde, wie z.B. die Klammern.\newpage \lstinputlisting[label=flex_config8, caption=ATCCL \texttt{flex}-Konfiguration: IDs und Kommentare,language=TeX]{flex_config8.txt} Eine Besonderheit in der \texttt{flex}-Konfiguration stellt die letzte Zeile dar, die bei Zeilenende den Inhalt der Zeile in einem Puffer zwischenspeichert und einen Zeilenzähler inkrementiert. Diese Regel dient der Fehlerbehandlung. Durch das Puffern der Zeilen ist im Fehlerfall eine weitere Analyse möglich, außerdem kann man durch die Zeilenangabe den Fehler lokalisieren.\\ \lstinputlisting[label=flex_config9, caption=ATCCL \texttt{flex}-Konfiguration: Fehlerbehandlung,language=TeX]{flex_config9.txt} @@ -115,10 +115,14 @@ Zur Realisierung der DFLOW-Komponente konnte man auf den großen Funktionsumfang von PRISMA zugreifen. So war es nicht notwendig eigene Routinen zur Erstellung der Prognosen über die Überflugzeiten zu entwickeln, diese Funktion wurde bereits von \emph{CalcEstimates} bereitgestellt. FPATH übernimmt als FPDS-Komponente die Aktualisierung solcher Routentabellen samt prognostizierter Zeiten entsprechend dem realen Flugverlauf. Die Ergänzung der Flugroute unmittelbar nach dem Startvorgang wurde mit Hilfe von SID-Lookup-Tabellen realisiert, eine Erklärung zur Bedeutung der SIDs befindet sich in Abschnitt \ref{grundlagen:routensystem}. Die SID-Wegpunkte sind für jede Kombination von Flughafen, Startbahn und Routenverlauf festgelegt und statisch. \subsection{FDPS} -Die DFLOW-Komponente wurde in den FDPS integriert. Die Komponente ist eine flugplanverarbeitende Instanz und interagiert mit anderen Komponenten des FDPS oder auch den Displays durch das DMAP-Protokoll. Sog. \emph{Notifier}-Klassen implementieren das Observer Pattern für bestimmte Datensätze der DMAP-Datenbank. \emph{Storage}-Klassen bieten eine transparente Zugriffsschicht auf DMAP-Datensätze. Durch die beiden Klassentypen ist es möglich, Event-getrieben und dadurch effektiv auf der DMAP zu arbeiten und gleichzeitig jederzeit volle Zugriffsmöglichkeit mit Hilfe von transparenten Transaktionen auf alle notwendigen Datensätze zu haben. +Die DFLOW-Komponente wurde in den FDPS integriert. Die Komponente ist eine flugplanverarbeitende Instanz und interagiert mit anderen Komponenten des FDPS oder auch den Displays durch das DMAP-Protokoll. + +Sog. \emph{Notifier}-Klassen implementieren das Observer Pattern für bestimmte Datensätze der DMAP-Datenbank. \emph{Storage}-Klassen bieten eine transparente Zugriffsschicht auf DMAP-Datensätze. Durch die beiden Klassentypen ist es möglich, Event-getrieben und dadurch effektiv auf der DMAP zu arbeiten und gleichzeitig jederzeit volle Zugriffsmöglichkeit mit Hilfe von transparenten Transaktionen auf alle notwendigen Datensätze zu haben. \subsection{Node Manager} -Der Node Manager ist für die Kontrolle der Vitalität der einzelnen PRISMA-Komponen\-ten zuständig. Basierend auf dem Watchdog-Verfahren werden Prozesse aktiv angesprochen um die Reaktionszeiten zu messen. Ist die Vitalität des Systems durch eine Komponente gefährdet, so kann der Node Manager den Neustart oder die Deaktivierung der identifizierten Komponente mit Fehlfunktion veranlassen. Der Node Manager bietet für dessen Protokoll eine Klasse an, die eine voll automatisierte Lösung des Watchdog-Verfahrens auf Client-Seite darstellt. +Der Node Manager ist für die Kontrolle der Vitalität der einzelnen PRISMA-Komponen\-ten zuständig. Basierend auf dem Watchdog-Verfahren werden Prozesse aktiv angesprochen um die Reaktionszeiten zu messen. + +Ist die Vitalität des Systems durch eine Komponente gefährdet, so kann der Node Manager den Neustart oder die Deaktivierung der identifizierten Komponente mit Fehlfunktion veranlassen. Der Node Manager bietet für dessen Protokoll eine Klasse an, die eine voll automatisierte Lösung des Watchdog-Verfahrens auf Client-Seite darstellt. \subsection{AWP} Die AWP bietet eine Reihe strategischer Displays als integrierte Lösung an. Ein Planer hat u.a. die Aufgaben Flugpläne den Startern zuzuordnen, Prognosen über Verkehrsaufkommen zu analysieren und basierend darauf Entscheidungen zu treffen. diff -r a2a7b825f020 -r 2283a18e186c book/src/intro.tex --- a/book/src/intro.tex Mon Mar 28 21:39:52 2011 +0200 +++ b/book/src/intro.tex Mon Mar 28 23:37:03 2011 +0200 @@ -1,8 +1,7 @@ \chapter{Einleitung} Das Ziel der Flugsicherung ist es den Flugverkehr sicher und entsprechend internationalen und regionalen Richtlinien vom Startflughafen bis zur -sicheren Landung am Zielflughafen zu begleiten. - +sicheren Landung am Zielflughafen zu begleiten.\\\\ Die Sicherheit im Flugverkehr wird in erster Linie durch die Staffelung erreicht. Als Grundlage dazu bestehen in jedem Flugraum Wegpunkte, welche die Flugverkehrsrouten bilden. Der Verkehr wird auf diesen Routen zeitlich, vertikal und horizontal separiert. @@ -11,8 +10,7 @@ abhängen.\\\\ Oftmals werden an den Übergabewegpunkten von einem Fluginformationsgebiet in das angrenzende maximale Verkehrsflussdichten gesetzt. Diese gebietsübergreifenden Regelungen dienen dazu -den Regulierungsaufwand bei der Übernahme von Flügen in das kontrollierte Gebiet zu minimieren. - +den Regulierungsaufwand bei der Übernahme von Flügen in das kontrollierte Gebiet zu minimieren.\\\\ Bei der Bewältigung von Überkapazitäten werden u.a. die Luftfahrzeuge angewiesen bestimmte Flugmanöver auszuführen, diese sind z.B. \emph{Hold}\footnote{Ein Flugmanöver, wobei eine vollständige Ellipse geflogen wird} und \emph{Dog Tail}\footnote{Ein Flugmanöver, das vertikal betrachtet die Form eines "n" bildet}. Eine weitere Möglich"-keit ist die Anpassung der Fluggeschwindigkeit als Regulierungsmaßnahme. Der Nachteil solcher Eingriffe in den Flugverlauf sind die entstehende Mehrkosten für die Flugbetreiber und mögliche Wartezeiten und Verspätungen für die Passagiere. So sind laut \cite{moderne_flugsicherung} bis zu 23\% aller in Europa registrierten Verspätungen im Flugverkehr auf das Air Traffic Flow Management zurückzuführen, ein Indiz dafür, dass hier großes Optimierungspotential besteht (Abb. \ref{fig:atfm_stats}). \begin{figure}[h] @@ -23,10 +21,9 @@ \section{Zielsetzung} Um die Notwendigkeit der regulatorischen Maßnahmen zu reduzieren, sollen bei der Abflugplanung die Verkehrsflussregelungen berücksichtigt werden. Bereits vor Abflug sollen die Flugpläne der registrierten Starter analysiert und der Startzeitpunkt entsprechend des späteren Flugverlaufs gesetzt werden. - -Diese Funktion übernimmt die Abflugplanungskomponente. Die Komponente berechnet den optimalen Abflugzeitpunkt für individuelle Flüge, basierend auf den konfigurierbaren Regeln formuliert in einer Domänensprache. Anhand des Regelwerks werden die Flüge nach passenden Mustern sortiert und an den relevanten Wegpunkten gestaffelt. -Zur Modellierung der dynamischen Luftraumbeschränkungen wird eine domänen\-spezifische Sprache entwickelt. Sie bildet die Schnittstelle zwischen der Planungskomponente und dem Verkehrsflussmanagement. Die Sprache soll eine redundanzfreie Konfiguration der Flugplanmuster und Verkehrsflussbeschränkungen bieten, die der Planer selbst verwalten kann.\\\\ +Diese Funktion übernimmt die Abflugplanungskomponente. Die Komponente berechnet den optimalen Abflugzeitpunkt für individuelle Flüge, basierend auf den konfigurierbaren Regeln formuliert in einer Domänensprache. Anhand des Regelwerks werden die Flüge nach passenden Mustern sortiert und an den relevanten Wegpunkten gestaffelt.\\\\ +Zur Modellierung der dynamischen Luftraumbeschränkungen wird eine domänenspezi\-fische Sprache entwickelt. Sie bildet die Schnittstelle zwischen der Planungskomponente und dem Verkehrsflussmanagement. Die Sprache soll eine redundanzfreie Konfiguration der Flugplanmuster und Verkehrsflussbeschränkungen bieten, die der Planer selbst verwalten kann.\\\\ Das erste Ziel der Arbeit war es, eine Modellierungssprache für den Bereich des Verkehrsflussmanagements und der allgemeinen Flugsicherung zu erstellen. Als zweiter Teil der Arbeit galt es eine Abflugplanungskomponente zu entwickeln und in eine bereits bestehende Flugsicherungsarchitektur zu integrieren. Die Komponente soll die Domänensprache als Konfigurationssprache akzeptieren. Die Berechnungen der Abflugplanungskomponente basieren auf dem Modell der Luftraumbeschränkungen. @@ -39,6 +36,6 @@ \section{Comsoft GmbH} Die Comsoft GmbH ist ein mittelständisches Unternehmen mit Sitz in Karlsruhe. Als Systemhaus mit Beratungskompetenz hat sich Comsoft im Bereich Flugsicherung auf internationaler Ebene etabliert.\\\\ -Durch projektgetriebene Arbeitsweise bewahrt sich Comsoft die nötige Flexibilität um kundenorientierte Lösungen zu entwickeln. Als zertifiziertes Unternehmen mit über 20 Jahren Erfahrung im Flugsicherungssektor, entwickelt Comsoft hauptsächlich für das europäische und asiatische Ausland, oder wie im Falle der Abflugplanungskomponente für die Vereinigten Arabischen Emirate. +Durch projektgetriebene Arbeitsweise bewahrt sich Comsoft die nötige Flexibilität um kundenorientierte Lösungen zu entwickeln. Als zertifiziertes Unternehmen mit über 20 Jahren Erfahrung im Flugsicherungssektor entwickelt Comsoft hauptsächlich für das europäische und asiatische Ausland, oder wie im Falle der Abflugplanungskomponente für die Vereinigten Arabischen Emirate. diff -r a2a7b825f020 -r 2283a18e186c book/src/preface.tex --- a/book/src/preface.tex Mon Mar 28 21:39:52 2011 +0200 +++ b/book/src/preface.tex Mon Mar 28 23:37:03 2011 +0200 @@ -9,9 +9,8 @@ \caption[Luftverkehrsrouten]{Abstraktion der Luftverkehrsrouten ausgehend von den Vereinigten Arabischen Emiraten. \emph{Quelle (Weltkarte): Wikipedia}} \end{figure} -\section{Danksagungen} -Als Erstes danke ich Herrn Pitz, als Leiter der Abteilung Centre Solutions bei der Comsoft GmbH hat er mir die Arbeit an diesem Kundenprojekt ermöglicht. - -Ein besonderer Dank geht an meine beiden Betreuer, Prof. Dr. Mayer von der Hochschule Offenburg und Dr. Schulz von der Comsoft GmbH, für die tatkräftige Unterstützung bei der Einarbeitung in die Domäne Flugsicherung und bei organisatorischen und fachlichen Fragen. - -Herr Hilt hat mich bei der Entwicklung und Einarbeitung in die PRISMA-Architektur begleitet. Als Entwickler des DFLOW-Displays hat Herr Svojanovsky die Planungskomponente für den Benutzer zugänglich gemacht. Hiermit danke ich beiden, ebenso den Mitarbeitern des Testteams, welche die Komponenten auf ihre Zuverlässigkeit geprüft haben. +\section{Danksagungen} +Dieses Buch ist als Dokumentation einer Projektarbeit während meiner Tätigkeit bei der Comsoft GmbH entstanden. An dem Projekt waren einige Mitarbeiter der Comsoft GmbH und Prof. Dr. Mayer als Betreuer von der Hochschule Offenburg beteiligt.\\\\ +Als Erstes danke ich Herrn Pitz, als Leiter der Abteilung Centre Solutions hat er die Arbeit an diesem Kundenprojekt mit der GCAA ermöglicht. Die konstruktiven Erläuterungen der Verkehrsflussproblematik seitens der GCAA-Mitarbeiter waren für die Spezifikation der Modellierungssprache äußerst hilfreich.\\\\ +Ein besonderer Dank geht an Prof. Dr. Erwin Mayer von der Hochschule Offenburg und Dr. Stephan Schulz von der Comsoft GmbH, für die tatkräftige Unterstützung bei der Einarbeitung in die Domäne Flugsicherung und bei anderen fachlichen Fragen.\\\\ +Nils Hilt hat mich bei der Entwicklung der Abflugplanungskomponente und der Einarbeitung in die PRISMA-Architektur begleitet. Als Entwickler des DFLOW-Displays hat Wenzel Svojanovsky die Planungskomponente für den Benutzer zugänglich gemacht. Hiermit danke ich beiden, ebenso den Mitarbeitern des Testteams, welche die Komponenten auf ihre Zuverlässigkeit geprüft haben.