diff options
| author | Paul Buetow <paul@buetow.org> | 2008-06-21 16:56:51 +0000 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2008-06-21 16:56:51 +0000 |
| commit | d32b16ddb13f402573c53822d02d6e43f105fe71 (patch) | |
| tree | 1004754cfb9ce9de132531b4d32232b4de017067 /LaTeX | |
| parent | 1f936fd2d2ca7e132ce280c2c01858fed9e725c4 (diff) | |
wrote new stuff
Diffstat (limited to 'LaTeX')
| -rw-r--r-- | LaTeX/GLIEDERUNG.txt | 1 | ||||
| -rw-r--r-- | LaTeX/chapters/appendix-b.tex | 2 | ||||
| -rw-r--r-- | LaTeX/chapters/entwicklung.tex | 22 | ||||
| -rw-r--r-- | LaTeX/chapters/grundkomponenten.tex | 29 | ||||
| -rw-r--r-- | LaTeX/chapters/introduction.tex | 2 | ||||
| -rw-r--r-- | LaTeX/chapters/simulator.tex | 79 | ||||
| -rw-r--r-- | LaTeX/chapters/titlepage.tex | 10 | ||||
| -rw-r--r-- | LaTeX/diplomarbeit.pdf | bin | 82850 -> 143405 bytes | |||
| -rw-r--r-- | LaTeX/diplomarbeit.tex | 3 |
9 files changed, 146 insertions, 2 deletions
diff --git a/LaTeX/GLIEDERUNG.txt b/LaTeX/GLIEDERUNG.txt index 969816b..72649c3 100644 --- a/LaTeX/GLIEDERUNG.txt +++ b/LaTeX/GLIEDERUNG.txt @@ -3,7 +3,6 @@ Einleitung Ossmann Andre Herbst Florian Buetow - Blabla Motivation Was ist ein verteiltes System? Warum Simulation? Grundkomponenten von verteilten Systemen diff --git a/LaTeX/chapters/appendix-b.tex b/LaTeX/chapters/appendix-b.tex index 1bc8e84..73c7a12 100644 --- a/LaTeX/chapters/appendix-b.tex +++ b/LaTeX/chapters/appendix-b.tex @@ -1,5 +1,7 @@ \chapter{Akronyms}
\begin{acronym}
\acro{GUI}{Graphical User Interface}
+\acro{NID}{Nachrichten-Identifikationsnummer}
+\acro{PID}{Prozess-Identifikationsnummer}
\acro{VS}{Verteiltes System}
\end{acronym}
diff --git a/LaTeX/chapters/entwicklung.tex b/LaTeX/chapters/entwicklung.tex new file mode 100644 index 0000000..bf1e6d2 --- /dev/null +++ b/LaTeX/chapters/entwicklung.tex @@ -0,0 +1,22 @@ +\chapter{Die Implementierung}
+
+\section{Gliederung der Pakete}
+
+\section{Editoren}
+
+\section{Ereignisse}
+
+\subsection{Interne Ereignisse}
+
+\section{Protokolle}
+
+\subsection{Protokoll-API}
+
+\section{Serialisierung von Simulationen}
+
+\subsection{R\"{u}ckw\"{a}rtskompatibel}
+
+\section{Programmierrichtlinien}
+
+\section{Entwicklungsumgebung}
+
diff --git a/LaTeX/chapters/grundkomponenten.tex b/LaTeX/chapters/grundkomponenten.tex new file mode 100644 index 0000000..8ed1b40 --- /dev/null +++ b/LaTeX/chapters/grundkomponenten.tex @@ -0,0 +1,29 @@ +\chapter{Grundbegriffe}
+
+F\"{u}r das Verst\"{a}ndnis wie die Simulation von verteilten Systemen funktioniert, werden hier einige Grundbegriffe beschrieben.
+
+\section{Client/Server Modell}
+
+Der Simulator basiert auf dem Client/Server Prinzip. Bei jeder sinnvollen Simulation gibt es mindestens einen teilnehmenden Client und einen Server. Bei komplexen Simulationen k\"{o}nnen auch mehrere Clients und/oder Server mitwirken.
+
+\section{Prozesse und deren Rollen}
+
+Ein verteiltes System wird anhand von Prozessen simuliert. Jeder Prozess nimmt hierbei eine oder mehrere Rollen ein. Beispielsweise kann ein Prozess die Rolle eines Clients einnehmen und ein weiterer Prozess die Rolle eines Servers. Ein Prozess kann auch Client und Server gleichzeitig sein. Es ist auch m\"{o}glich, dass ein Prozess die Rollen mehrerer Server und Clients aufeinmal einnimmt. Ob das sinnvoll ist h\"{a}ngt vom Szenario ab. Um einen Prozess eindeutig zu kennzeichnen besitzt jeder Prozess eine eindeutige Prozess-Identifikationsnummer (PID).
+
+\section{Nachrichten}
+
+Damit das Client/Server Modell angewandt werden kann, m\"{u}ssen Nachrichten verschickt werden k\"{o}nnen. Eine Nachricht kann von einem Client- oder Serverprozess verschickt werden und kann beliebig viele Empf\"{a}nger haben. Um eine Nachricht eindeutig zu kennzeichnen besitzt jede Nachricht eine eindeutige Nachrichten-Identifikationsnummer (NID).
+
+\section{Lokale und globale Uhren}
+
+In einer Simulation gibt es \textbf{genau eine} globale Uhr. Sie stellt die aktuelle und \textbf{immer korrekte} Zeit dar. Eine globale Uhr geht nie falsch.
+
+Zudem besitzt jeder beteiligter Prozess eine eigene lokale Uhr. Sie stellt die aktuelle, jedoch nicht zwangsm\"{a}ßig global-korrekte, Zeit des jeweiligen Prozesses dar. Wenn die Prozesszeit nicht korrekt ist (nicht der globalen Zeit gleicht), dann wurde die Prozessuhr entweder im Laufe einer Simulation neugestellt oder sie besitzt eine Uhrabweichung. Eine Uhrabweichung gibt an, um wieviel eine Uhr falsch geht. Wenn eine lokale Uhr nicht neugesetzt wird und auch keine Uhrabweichung hat, dann gibt sie stets die korrekte globale Zeit wieder.
+
+\section{Ereignisse}
+
+Eine Simulation besteht aus der Hintereinanderausf\"{u}hrung von endlich vielen Ereignissen. Beispielsweise kann es ein Ereignis geben, welches einen Prozess eine Nachricht verschicken- oder selbst abst\"{u}rzen l\"{a}ßt. Jedes Ereignis tritt zu einem bestimmten Zeitpunkt ein. Wenn es zeitgleiche Ereignisse gibt, so werden sie ebenso hintereinander ausgef\"{u}hrt, behalten aber in der Simulation die selben Ausf\"{u}hrzeiten.
+
+\section{Protokolle}
+
+
diff --git a/LaTeX/chapters/introduction.tex b/LaTeX/chapters/introduction.tex index 93741ae..d5d4f17 100644 --- a/LaTeX/chapters/introduction.tex +++ b/LaTeX/chapters/introduction.tex @@ -1,5 +1,7 @@ \chapter{Einleitung} +\section{Was ist ein Verteiltes System?} + \section{Motivation} \label{sec:Motivation} diff --git a/LaTeX/chapters/simulator.tex b/LaTeX/chapters/simulator.tex new file mode 100644 index 0000000..cee3e20 --- /dev/null +++ b/LaTeX/chapters/simulator.tex @@ -0,0 +1,79 @@ +\chapter{Der Simulator}
+
+\section{Graphical User Interface (GUI)}
+
+\subsection{Toolbar}
+
+\subsection{Visualisierung}
+
+\subsubsection{Zeitachse}
+
+\subsubsection{Prozesse}
+
+\subsubsection{Nachrichten}
+
+\subsection{``Sidebar''}
+
+\subsubsection{Ereignisse}
+
+\subsubsection{Variablen}
+
+\subsection{Loggfenster}
+
+\subsection{Expertenmodus}
+
+\subsubsection{Lamport- und Vektorzeit}
+
+\subsubsection{Loggfilter}
+
+\subsubsection{Lokale und globale Ereignisse}
+
+\section{Ereignisse}
+
+\subsection{Prozessabsturz}
+
+\subsection{Prozesswiederbelebung}
+
+\subsection{Aktivierung und Deaktivierung von Protokollen}
+
+\subsection{Weitere Protokollereignisse}
+
+\section{Protokolle}
+
+\subsection{Beispiel (Dummy) Protokoll}
+
+\subsection{Das Ping-Pong Protokoll}
+
+\subsection{Das Broadcast-Sturm Protokoll}
+
+\subsection{Das Protokoll zur internen Synchronisierung in einem synchronen System}
+
+\subsection{Christians Methode zur externen Synchronisierung}
+
+\subsection{Berkeley Algorithmus zur internen Synchronisation}
+
+\subsection{Das Ein-Phasen Commit Protokoll}
+
+\subsection{Das Zwei-Phasen Commit Protokoll}
+
+\subsection{Der ungen\"{u}gende (Basic) Multicast}
+
+\subsection{Der zuverl\"{a}ssige (Reliable) Multicast}
+
+\section{Zeitformate}
+
+\subsection{``Normale Zeit''}
+
+\subsection{Die Logische Uhr von Lamport}
+
+\subsection{Die Vektor-Zeitstempel}
+
+\section{Einstellungen}
+
+\subsection{Simulationseinstellungen}
+
+\subsection{Prozesseinstellungen}
+
+\subsection{Protokolleinstellungen}
+
+
diff --git a/LaTeX/chapters/titlepage.tex b/LaTeX/chapters/titlepage.tex index 48b22f6..5b1aae7 100644 --- a/LaTeX/chapters/titlepage.tex +++ b/LaTeX/chapters/titlepage.tex @@ -67,7 +67,15 @@ \textbf{\LARGE Danksagung} \vspace*{1.5cm} -Vielen Dank! +Ohne die Hilfe bestimmter Personen w\"{a}re die Anfertigung dieser Diplomarbeit viel schwieriger gewesen. Daher m\"{o}chte ich mich bei den Folgenden bedanken: + +\begin{itemize} + \item Martin Oßmann f\"{u}r die Betreuung der Diplomarbeit + \item Andre Herbst, f\"{u}r das Testen des Simulators; durch seine Hilfe wurden viele M\"{a}ngel und Bugs aufgedeckt + \item Meinen Bruder Florian B\"{u}tow, f\"{u}r Tipps und Tricks rund um Java, f\"{u}r die Bereitstellung eines Buches sowie f\"{u}r das Testen des Simulators + \item Meine Eltern J\"{o}rn und Leslie B\"{u}tow, die mir das Studium erm\"{o}glichten und stets f\"{u}r alle Dinge ein offenes Ohr hatten +\end{itemize} + \tableofcontents diff --git a/LaTeX/diplomarbeit.pdf b/LaTeX/diplomarbeit.pdf Binary files differindex 81b3d66..65ae937 100644 --- a/LaTeX/diplomarbeit.pdf +++ b/LaTeX/diplomarbeit.pdf diff --git a/LaTeX/diplomarbeit.tex b/LaTeX/diplomarbeit.tex index 104b579..9844e26 100644 --- a/LaTeX/diplomarbeit.tex +++ b/LaTeX/diplomarbeit.tex @@ -34,6 +34,9 @@ \begin{document} \input{chapters/titlepage} \input{chapters/introduction} +\input{chapters/grundkomponenten} +\input{chapters/simulator} +\input{chapters/entwicklung} \input{chapters/conclusion} \appendix |
