diff options
| author | Paul Buetow <paul@buetow.org> | 2008-08-13 22:44:42 +0000 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2008-08-13 22:44:42 +0000 |
| commit | b6465860231b9cffe78e8c97be2fc8b93081c8b0 (patch) | |
| tree | 47ddc4d26ad618a51f9d98608e445eff56465223 /LaTeX/chapters | |
| parent | 8026283bc06394c036d1b4b25a3239d05d399815 (diff) | |
foo
Diffstat (limited to 'LaTeX/chapters')
| -rw-r--r-- | LaTeX/chapters/implementierung.tex | 2 | ||||
| -rw-r--r-- | LaTeX/chapters/protokolle.tex | 47 | ||||
| -rw-r--r-- | LaTeX/chapters/simulator.tex | 58 |
3 files changed, 54 insertions, 53 deletions
diff --git a/LaTeX/chapters/implementierung.tex b/LaTeX/chapters/implementierung.tex index 3ce7c94..90fd713 100644 --- a/LaTeX/chapters/implementierung.tex +++ b/LaTeX/chapters/implementierung.tex @@ -280,7 +280,7 @@ In diesem Abschnitt wird auf die Implementierung der Protokolle und das Protokol \begin{figure}[h]
\centering
\includegraphics[width=12cm]{images/protocols}
- \caption{Die Pakete \textit{protocols} und \textit{protocols.*}}
+ \caption{Das Paket \textit{protocols.*}}
\label{fig:PackageProtocols}
\end{figure}
diff --git a/LaTeX/chapters/protokolle.tex b/LaTeX/chapters/protokolle.tex index 0fc8f7b..d214f42 100644 --- a/LaTeX/chapters/protokolle.tex +++ b/LaTeX/chapters/protokolle.tex @@ -86,6 +86,8 @@ Werden die Ereignisse wie in Tabelle \ref{tb:PingPongSturmTasks}. vorgegeben, so \caption{Programmierte Broadcast Ereignisse}
\label{tb:BroadcastSturmTasks}
\end{table}
+
+\newpage
\section{Das Broadcast Protokoll \small{\textit{(broadcast.dat)}}}
\begin{figure}[h]
@@ -149,7 +151,7 @@ Dieses Protokoll verwendet folgende zwei clientseitige Variablen, die in den Pro $t'_{min}$ und $t'_{max}$ sind die bei den Protokollberechnungen verwendeten Werte. Sie können sich allerdings von den tatsächlichen Nachrichtenübertragungszeiten $t_{min}$ und $t_{max}$ (s. Kap. 2.4.3.) unterscheiden. Somit lassen sich auch Szenarien simulieren, in denen das Protokoll falsch eingestellt wurde und wobei der Zeitsynchronisierung große Fehler auftreten können.
-
+\newpage
\section{Christians Methode zur externen Synchronisierung \small{\textit{(ext-vs-int-sync.dat)}}}
\begin{figure}[h]
@@ -565,6 +567,15 @@ In diesem Beispiel benötigt der Client bis zur erfolgreichen Auslieferung des zu \label{tb:ReliableMulticastTasks}
\end{table}
+\subsubsection{Protokollvariablen}
+
+Dieses Protokoll verwendet folgende serverseitige Variablen, die in den Prozesseinstellungen unter dem Punkt ``Reliable Multicast Server'' konfiguriert werden können:
+
+\begin{itemize}
+ \item \textbf{Zeit bis erneute Anfrage} \textit{(Long: timeout = 2500)}: Gibt die Anzahl von Millisekunden an, die gewartet werden sollen, bis der Muticast erneut verschickt wird.
+ \item \textbf{PIDs beteiligter Prozesse} \textit{(Integer[]: pids = [1,3])}: Dieser Vektor aus Integerwerten beinhaltet alle PIDs der Serverprozesse, die die Multicast-Nachricht erhalten sollen.
+\end{itemize}
+
\begin{table}
\centering
\fbox{
@@ -599,6 +610,17 @@ In diesem Beispiel benötigt der Client bis zur erfolgreichen Auslieferung des zu \hline
005952 & 1 & Nachricht erhalten; ID: 283; Protokoll: Reliable Multicast\\
\hline
+ \end{tabular}
+ }
+ \caption{Auszug aus dem Logfenster des Reliable-Multicast Beispiels}
+ \label{tb:ReliableMulticastLogs}
+\end{table}
+
+\begin{table}
+ \centering
+ \fbox{
+ \begin{tabular}{c|c|l}
+ \textbf{Zeit (ms)} & \textbf{PID} & \textbf{Lognachricht} \\
005952 & 1 & Nachricht versendet; ID: 284; Protokoll: Reliable Multicast\\
& & Integer: pid=1; Boolean: isAck=true\\
\hline
@@ -636,18 +658,6 @@ In diesem Beispiel benötigt der Client bis zur erfolgreichen Auslieferung des zu \hline
011213 & 1 & Nachricht versendet; ID: 289; Protokoll: Reliable Multicast\\
& & Integer: pid=1; Boolean: isAck=true\\
- \end{tabular}
- }
- \caption{Auszug aus dem Logfenster des Reliable-Multicast Beispiels}
- \label{tb:ReliableMulticastLogs}
-\end{table}
-
-\begin{table}
- \centering
- \fbox{
- \begin{tabular}{c|c|l}
- \textbf{Zeit (ms)} & \textbf{PID} & \textbf{Lognachricht} \\
- \hline
011213 & 1 & ACK erneut versendet\\
\hline
011813 & 2 & Nachricht erhalten; ID: 288; Protokoll: Reliable Multicast\\
@@ -665,16 +675,7 @@ In diesem Beispiel benötigt der Client bis zur erfolgreichen Auslieferung des zu \label{tb:ReliableMulticastLogs2}
\end{table}
-\subsubsection{Protokollvariablen}
-
-Dieses Protokoll verwendet folgende serverseitige Variablen, die in den Prozesseinstellungen unter dem Punkt ``Reliable Multicast Server'' konfiguriert werden können:
-
-\begin{itemize}
- \item \textbf{Zeit bis erneute Anfrage} \textit{(Long: timeout = 2500)}: Gibt die Anzahl von Millisekunden an, die gewartet werden sollen, bis der Muticast erneut verschickt wird.
- \item \textbf{PIDs beteiligter Prozesse} \textit{(Integer[]: pids = [1,3])}: Dieser Vektor aus Integerwerten beinhaltet alle PIDs der Serverprozesse, die die Multicast-Nachricht erhalten sollen.
-\end{itemize}
-
-
+\newpage
\section{Weitere Beispiele}
Bisher wurden alle verfügbaren Protokolle anhand von Beispielen aufgeführt. Mit dem Simulator lassen sich jedoch noch weitere Szenarien simulieren. Aus diesem Grund soll hier auf weitere Anwendungsbeispiele eingegangen werden.
diff --git a/LaTeX/chapters/simulator.tex b/LaTeX/chapters/simulator.tex index f4d74ba..b344c5e 100644 --- a/LaTeX/chapters/simulator.tex +++ b/LaTeX/chapters/simulator.tex @@ -144,6 +144,8 @@ In der Sidebar gibt es neben dem Ereignis-Tab einen weiteren Tab ``Variablen''. \subsubsection{Das Logfenster}
+Das Logfenster (s. Abb. \ref{fig:NeuErstellteSimulation}., unten) protokolliert in chronologischer Reihenfolge alle eingetroffenen Ereignisse. In Abbildung \ref{fig:Logfenster}. ist das Logfenster nach Erstellung der Demo-Simulation zu sehen, an welcher 3 Prozesse beteiligt sind. Am Anfang eines Logeintrages wird stets die globale Zeit in Millisekunden protokolliert. Bei jedem Prozess werden ebenso seine lokalen Zeiten sowie die Lamport- und die Vektor-Zeitstempel aufgeführt. Hinter den Zeitangaben werden weitere Angaben, wie beispielsweise welche Nachricht mit welchem Inhalt verschickt wurde und welchem Protokoll sie angehört, gemacht. Dies wird später noch anhand von Beispielen demonstriert.
+
\begin{figure}[h]
\centering
\fbox{\includegraphics[width=16.5cm]{images/ss-loggfenster}}
@@ -151,8 +153,6 @@ In der Sidebar gibt es neben dem Ereignis-Tab einen weiteren Tab ``Variablen''. \label{fig:Logfenster}
\end{figure}
-Das Logfenster (s. Abb. \ref{fig:NeuErstellteSimulation}., unten) protokolliert in chronologischer Reihenfolge alle eingetroffenen Ereignisse. In Abbildung \ref{fig:Logfenster}. ist das Logfenster nach Erstellung der Demo-Simulation zu sehen, an welcher 3 Prozesse beteiligt sind. Am Anfang eines Logeintrages wird stets die globale Zeit in Millisekunden protokolliert. Bei jedem Prozess werden ebenso seine lokalen Zeiten sowie die Lamport- und die Vektor-Zeitstempel aufgeführt. Hinter den Zeitangaben werden weitere Angaben, wie beispielsweise welche Nachricht mit welchem Inhalt verschickt wurde und welchem Protokoll sie angehört, gemacht. Dies wird später noch anhand von Beispielen demonstriert.
-
Mit dem Deaktivieren des Logging-Schalters lässt sich das Loggen von Nachrichten temporär ausstellen. Mit deaktiviertem Loggen werden keine neuen Nachrichten mehr ins Logfenster geschrieben. Nach Reaktivieren des Schalters werden alle ausgelassenen Nachrichten nachträglich in das Fenster geschrieben. Ein deaktiviertes Loggen kann zu verbessertem Leistungsverhalten des Simulators führen. Dieser Umstand ist der sehr langsamen Java-Implementierung der JTextArea-Klasse zu verdanken, die schnelle Updates nur sehr träge durchführt.
Über den Schalter ``Expertenmodus'' wird der Expertenmodus aktiviert, bzw. deaktiviert.
@@ -303,6 +303,33 @@ Im Folgenden werden alle in den Simulationseinstellungen verfügbaren Variablen b Alle weiteren Simulationeinstellungen unter ``Einstellungen für neue Prozesse'' sowie ``Nachrichteneinstellungen für neue Prozesse'' definieren das Verhalten des jedes neu erzeugten Prozesses.
+\begin{table}
+ \centering
+ \fbox{
+ \begin{tabular}{l|l}
+ \textbf{Schlüssel} & \textbf{Beschreibung}\\
+ \hline
+ \textit{col.background} & Hintergrundfarbe des Simulationsfensters\\
+ \textit{col.message.arrived} & Nachrichtenfarbe wenn sie ihr Ziel erreicht hat\\
+ \textit{col.message.lost} & Nachrichtenfarbe wenn sie verloren ging\\
+ \textit{col.message.sending} & Nachrichtenfarbe wenn sie noch unterwegs ist\\
+ \textbf{\textit{col.process.crashed}} & Prozessfarbe wenn er abgestürzt ist\\
+ \textbf{\textit{col.process.default}} & Prozessfarbe wenn die Simulation aktuell nicht läuft und \\
+ & der Prozess aktuell nicht abgestürzt ist \\
+ \textbf{\textit{col.process.highlight}} & Prozessfarbe wenn die Maus über seinem Balken liegt\\
+ \textit{col.process.line} & Farbe, in der die kleine ``Prozessfahne'' an der auch die \\
+ & lokale Prozesszeit angegeben wird, dargestellt wird\\
+ \textbf{\textit{col.process.running}} & Prozessfarbe wenn er nicht abgestürzt ist und die\\
+ & Simulation aktuell läuft\\
+ \textit{col.process.secondline} & Farbe der Sekunden-Zeitgitter\\
+ \textit{col.process.sepline} & Farbe der globalen Zeitachse\\
+ \textbf{\textit{col.process.stopped}} & Prozessfarbe wenn die Simulation pausiert wurde\\
+ \end{tabular}
+ }
+ \caption{Farbeinstellungen}
+ \label{tb:Farbeinstellungen}
+\end{table}
+
\subsection{Prozess- und Protokolleinstellungen}
Jeder Prozess besitzt folgende Variablen:
@@ -335,32 +362,5 @@ Im Prozesseditor lassen sich ebenfalls die Protokollvariablen editieren. Die Pro \subsection{Einstellungen im Expertenmodus}
-\begin{table}
- \centering
- \fbox{
- \begin{tabular}{l|l}
- \textbf{Schlüssel} & \textbf{Beschreibung}\\
- \hline
- \textit{col.background} & Hintergrundfarbe des Simulationsfensters\\
- \textit{col.message.arrived} & Nachrichtenfarbe wenn sie ihr Ziel erreicht hat\\
- \textit{col.message.lost} & Nachrichtenfarbe wenn sie verloren ging\\
- \textit{col.message.sending} & Nachrichtenfarbe wenn sie noch unterwegs ist\\
- \textbf{\textit{col.process.crashed}} & Prozessfarbe wenn er abgestürzt ist\\
- \textbf{\textit{col.process.default}} & Prozessfarbe wenn die Simulation aktuell nicht läuft und \\
- & der Prozess aktuell nicht abgestürzt ist \\
- \textbf{\textit{col.process.highlight}} & Prozessfarbe wenn die Maus über seinem Balken liegt\\
- \textit{col.process.line} & Farbe, in der die kleine ``Prozessfahne'' an der auch die \\
- & lokale Prozesszeit angegeben wird, dargestellt wird\\
- \textbf{\textit{col.process.running}} & Prozessfarbe wenn er nicht abgestürzt ist und die\\
- & Simulation aktuell läuft\\
- \textit{col.process.secondline} & Farbe der Sekunden-Zeitgitter\\
- \textit{col.process.sepline} & Farbe der globalen Zeitachse\\
- \textbf{\textit{col.process.stopped}} & Prozessfarbe wenn die Simulation pausiert wurde\\
- \end{tabular}
- }
- \caption{Farbeinstellungen}
- \label{tb:Farbeinstellungen}
-\end{table}
-
Im Expertenmodus lassen sich zusätzliche Variablen, wie Farbwerte und Fenstergrößen, editieren. Abbildung \ref{fig:SimulationseinstellungenExperten}. zeigt alle einstellbaren Farben. Die fett gedruckten Schlüssel in Tabelle \ref{tb:Farbeinstellungen}. sind mit Standardwerten für die neu zu erstellenden Prozesse belegt. Alle Werte sind in den Prozesseinstellungen des jeweiligen Prozesses individuell einstellbar.
|
