NSIS-ka
A free C++ implementation of NSIS protocols

Changeset 2323

Show
Ignore:
Timestamp:
11/15/06 10:11:30 (7 years ago)
Author:
stud-matfried
Message:

thesis: Improved the generic state machine diagram explanations.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • natfw-nslp/trunk/thesis/entwurf.tex

    r2316 r2323  
    506506 
    507507Vor der detaillierten Präsentation der Protokollautomaten noch einige 
    508 Anmerkungen zu deren Notation: 
     508Anmerkungen zu ihrer Notation in den Zustandsübergangsdiagrammen: 
    509509 
    510510Alle Automaten besitzen zumindest einen Anfangszustand (als IDLE bezeichnet) 
     
    522522Reaktionen darauf sind, neben dem Zustandsübergang, das Senden von Paketen, 
    523523das Starten von Zeitgebern oder das Verändern der NAT- bzw. 
    524 Firewallkonfiguration. 
     524Firewallkonfiguration. Die folgenden Notationen werden in den Diagrammen 
     525verwendet: 
     526 
     527\begin{itemize} 
     528  \item Von der lokalen Benutzeranwendung explizit ausgelöste 
     529        Ereignisse: Präfix \texttt{tg\_} 
     530  \item Ankommende Nachrichten: Präfix \texttt{rx\_} 
     531  \item Senden von Nachrichten: Präfix \texttt{tx\_} 
     532  \item Ablauf eines Timers: Suffix \texttt{\_TIMEOUT} 
     533  \item Starten eines Timers: \texttt{StartTimer(Name)} bzw. 
     534        \texttt{RestartTimer(Name)} 
     535  \item Anhalten eines Timers: \texttt{StopTimer(Name)} 
     536  \item Zähler: \texttt{counter(Name)} 
     537\end{itemize} 
     538 
     539Die \texttt{RestartTimer()}-Anweisung funktioniert wie \texttt{StartTimer()}, 
     540wobei allerdings ein bereits laufender Timer abgebrochen wird. 
    525541 
    526542Für einige Zustände sind Entry- und Exit-Operationen definiert. Diese werden 
     
    546562\label{ch:Entwurf:subsec:NI} 
    547563 
    548 Der NI-Protokollautomat (siehe Bild~\ref{img:ni_session}) wird explizit 
    549 durch den Benutzer gestartet. Seine Aufgabe ist es, eine Verbindung zum 
    550 gewünschten NR-Knoten aufzubauen und sie durch regelmäßiges Senden von 
    551 CREATE-Nachrichten am Leben zu erhalten, bis der Benutzer die Verbindung 
    552 wieder abbaut. 
     564Der Benutzer bzw. die Benutzeranwendung kann von einem NI-Knoten aus eine 
     565CREATE-Session initiieren. Dafür wird ein Objekt der Klasse 
     566\texttt{api\_create\_event} (eine Kapselung des Dienstprimitivs 
     567\texttt{tg\_CREATE}) in die Eingangswarteschlange gestellt, das dann die 
     568Ausführung des NI-Protokollauto"-maten auslöst. Die Aufgabe dieses Automaten 
     569(siehe Bild~\ref{img:ni_session}) ist es, eine Verbindung zum gewünschten 
     570NR-Knoten aufzubauen und sie durch regelmäßiges Senden von CREATE-Nachrichten 
     571am Leben zu erhalten, bis der Benutzer die Verbindung wieder abbaut. 
    553572 
    554573\begin{figure}[h]