%TODO

\documentclass[a4paper,12pt]{report}
\usepackage{epsfig}
\usepackage{german}
\usepackage{graphics}

%\setlength{\topmargin}{3mm}
%\setlength{\textheight}{229mm}
%\setlength{\evensidemargin}{-3mm}
%\setlength{\oddsidemargin}{-3mm}
\setlength{\textwidth}{154mm}

\thispagestyle{empty}

\begin{document}
\vspace{8ex}

\centerline{\huge PR: Programmierpraktikum II (SS2000)}
\vspace{2ex}
\centerline{\huge \bf Visualization of}
\vspace{2ex}
\centerline{\huge \bf Artificial Neuronal Networks}

\vspace{7ex}
\centerline{\large Andreas Lackner}
\centerline{\large \it luke@cosy.sbg.ac.at}
\vspace{3ex}
\centerline{\large Marko Jestratijevic}
\centerline{\large \it mjestrat@cosy.sbg.ac.at}

\vspace{3ex} 
\centerline{\large \bf Version 2000-25-10}
\vspace{3ex}
\centerline{\large Gruppe 2}
\centerline{\large Zeit: Mittwoch 16.30 - 1700}
\centerline{\large Lehrveranstaltungsleiter: Schwaiger Roland}

%Inhaltsverzeichnis 

\newpage
\pagenumbering{roman}
\tableofcontents
\listoffigures
\newpage
\centerline{\large\bf ABSTRACT}

\vspace{5ex}
Das Programmpaket dient zum Betrachten und Ver"andern von Neuronalen Netzen, die im SNNS-Format gespeichert sind. Der NetExplorer "ubernimmt dabei die Aufgabe des Filebrowser, der ein einfaches Navigieren im Verzeichnisbaum erm"oglicht und vorhandene SNNS-Dateien als kleine Grafik darstellt (Thumbnails), und bei Bedarf das Programm NetViewer startet. Der NetViewer stellt das Neuronale Netz graphisch dar und erm"oglicht die einfache "Anderung der verschiedenen Darstellungsparameter wie Farben, Formen oder Positionen einzelner Elemente. Die "Anderungen k"onnen jederzeit gespeichert werden und als PostScript exportiert werden. 

%Das Programm durchsucht die Dateien im Computer.Dabei sucht es  die SNNS-Dateien.Wenn es die Dateien findet,hat der Anwender die M"oglichkeit die graphische Stellung des Netzes in der Datei zu sehen,so wie die Dateien zu er"offnen und zu bearbeiten.
\newpage

%Kurzbeschreibung



%Einleitung

\chapter{Einleitung} 
\pagenumbering{arabic}
\section{Einf"uhrung zum Programm}
 Dieses Programm wurde mit der Absicht hergestellt, die graphische Arbeit mit Neuronalen Netzen zu erm"oglichen und zu erleichtern. Das Programm hat die M"oglichkeit die als SNNS-Dateien gespeicherten Daten einzulesen. Nach der Analyse k"onnen die Daten angezeigt und bearbeitet werden. Weiterhin kann man mit dem Programm den Verzeichnisbaum auf SNNS-Dateien durchsuchen. Der graphische Aufbau der Netze kann nach eigenen W"unschen und Bed"urfnissen  ge"andert und angepa"st werden. Alle ausgef"uhrten Ver"anderungen k"onnen gespeichert werden. Dem Benutzer sind auch alle anderen mit dem Neuronalen Netz zusammenh"angenden Daten verf"ugbar. In einer zweiten Ausbau-Stufe des Programmpakets soll die M"oglichkeit gegeben sein, auch diese Daten zu ver"andern und neue Knoten und Verbindungen in ein Netz einzuf"ugen. Damit w"urde das Programmpaket alle M"oglichkeiten bieten um Netze ohne der Hilfe des SNNS-Pakets aufzubauen.Das Programm besitzt verschiedene graphische Werkzeuge, welche dem Benutzer die Arbeit erleichtern und dar"uberhinaus die Darstellung der Netze versch"onern. Dabei denkt man an die M"oglichkeiten der Benutzung vieler Farben, die Ver"anderung des Knoten-Aussehens und dem Einf"ugen von Titeln und Notizen. Die graphische Darstellung wird, sofern daf"ur keine Datenfelder in der SNNS-Datei vorgesehen sind, in einem eigenen File abgelegt, weiters kann man die Daten als PostScript exportieren.
 
Es mu"s erw"ahnt werden, da"s f"ur die Realisation dieses Programms auch bestimmte Softwarepakete (GifEncoder, ImageEncoder ,IntHashtable ,PSGr) von anderen Autoren eingebunden wurden, welchen wir auf diesem Weg danken. Da anzunehmen ist, da"s diese Pakete zum Standard einer modernen Programmiersprache geh"oren, stehen sie nicht im Klassendiagramm.

W"ahrend der Arbeit und der Entwicklung dieses Programms wurden zus"atzliche M"oglichkeiten bemerkt, welche das Programm besser und die Arbeit damit benutzerfreundlicher machen w"urden. Diese Funktionen werden in der eventuellen zweiten Version dieses Programms eingearbeitet. Soweit zur Einleitung und zu den Eckdaten des Programms. Etwas mehr "uber Neuronale Netze und Details "uber das Aussehen und die M"oglichkeiten des Programms werden im n"achsten Kapiteln beschrieben.

\section{Kurze Beschreibung von ANNs}

 Der folgende Paragraph beschreibt das Modell f"ur Neuronale Netze,die vom SNNS-Paket generiert werden. Die Netz besteht aus Knoten (Units) und Verbindungen (Connections), die zwischen jeweils zwei Knoten liegen.
\begin{itemize}
 \item KNOTEN: Es gibt drei Typen von Knoten mit ihren verschiedenen Funktionen im Netz.Input-Units(die Units deren Aktivierung den Eingang ins Netz darstellen, Output-Units (deren Ausgang zu keiner anderen Unit verbunden ist) und die restlichen Units sind sogenannte verstecke (hidden) Units.Jedes Unit hat die folgende Attributen, die in einer Tabelle im der SNNS-Datei gespeichert wird:
  \begin{itemize}
    \item no: fortlaufende Nummer, um die Units zu unterscheiden (key)
    \item name: vom Benutzer frei w"ahlbarer Name, der der Unit zugewiesen wird
    \item io-type: Art der Unit (input / output / hidden usw.). Der Typ bestimmt die Funktion des Units im Netz.
    \item activation: Aktivierungs Wert der Unit
    \item a-act: enth"alt initial-activation Wert
    \item bias: bestimmt wo die activation function  den steilsten Aufstieg hat
    \item actFunc: activation function
    \item outFunc: output function 
    \item f-type: Funktions-Typen und Prototypen
    \item position: Die Koordinaten im Raum f"ur graphische Darstellung (X,Y,Z)
    \item subnet-no: Mit der Benutzung dieser variablen Struktur der Netze kann viel klarer dargestellt werden,als in einer2D-Pr"asentation m"oglich w"are
    \item frozen: Boolescher Wert der angibt ob activation und output ge"andert werden k"onnen w"ahrend der Simulation
  \end{itemize}
\item VERBINDUNGEN: eine Verbindung verbindet immer zwei Knoten:Source Unit und target Unit, dabei ist es m"oglich da"s die source und target Unit identisch sind.Jede Verbindung hat ein Gewicht, die die Wirkung der source Unit auf die target Unit auf folgende Weise definiert: Ist das Gewicht negativ, dann ist die Verbindung inhibitorisch, d.h. es vergr"o"sert die Wirkung auf die target Unit, wenn es positiv ist, dann hat es einen exzitatorischen Effekt,bzw. es vermindert die Wirkung. 
\end{itemize}
\begin{figure}[tbh]
\resizebox{\textwidth}{!}{
 \includegraphics*[height=3cm,width=9cm]{feedforwardexample.eps}
}
 \caption{Beispiel eines einfachen Feed-Forward Netzes}
\label{fig:feedEx}
\end{figure}

\section{Darstellungsm"oglichkeiten von Neuronalen Netzen}

K"unstliche Neuronale Netze (ANNs) bestehen aus Knoten und Verbindungen. Eine Verbindung hat einen Start- und einen Endknoten, die ident sein k"onnen. Damit ist die graphische Darstellung logisch festgelegt. Was jedoch nicht feststeht ist die topographische Lage der Knoten in ihrer Umgebung. Bei der Erstellung von ANNs mit Hilfe des SNNS-Pakets mu"s die Position eines Knotens im dreidimensionalen Raum vom Anwender eingegeben werden, um graphisches Arbeiten zu erm"oglichen.

In der Literatur haben sich verschiedene Darstellungsformen f"ur Netze durchgesetzt (zumindest in Bezug auf die Topographische Darstellung). Die graphische Darstellung eines Knotens ist meist als Quadrat oder Kreis angezeigt (bzw. W"urfel oder Kugel im dreidimensionalen Darstellungen). Eine Verbindung wird als Linie vom Start- zum Endknoten gezeichnet.
\section{Anforderungen an graphische Darstellungen}

Grunds"atzlich sollen Knoten so angeordnet werden, wie es den allgemeinen Standards der Literatur entspricht. In Abbildung~\ref{fig:feedEx} ist die typische Anordnung der Knoten eines Feed-Forward Netzes zu sehen. Dabei wird das Netz normalerweise in funktionell zusammen geh"orige Ebenen oder Gruppen gegliedert, wobei diese wiederum von links nach rechts bzw. von oben nach unten angeordnet werden. Bei der Anordnung der Knoten ist weiters zu beachten, da"s die Verbindungslinien keine Knoten schneiden, um die ``Lesbarkeit'' des Bildes nicht zu beeintr"achtigen. Texte, die Daten von Knoten beinhalten, m"ussen so plaziert werden, da"s klar erkennbar ist welcher Text zu welchem Knoten geh"ort. F"ur jeden Knoten und jede Verbindung k"onnen verschiedene Daten interessant sein (Lage,Gewicht,Nummer...), es sollte daher f"ur jeden Knoten einzeln einstellbar sein, welche Daten an welcher Stelle angezeigt werden.Die verschiedenen Daten "uber Knoten und Verbindungen wurden im Abschnitt 1.2 beschrieben. Werden zu viele Daten angezeigt leidet die Lesbarkeit, weiters ist es sowieso kaum m"oglich auf engstem Raum alle Daten darzustellen. Es mu"s also auch eine Weg gefunden werden, der es dem Anwender erm"oglicht schnell und effizient genau die Daten anzuzeigen, die gerade interessant sind.
Betreffend des Orts, an dem die Daten plaziert werden, sollte jeder seinen eigenen Vorlieben folgen k"onnen. Das bedeutet, das jedes Feld (in dem Daten oder Knoten dargestellt werden) beliebig verschiebbar sein soll. Da die Datenfelder in Bezug zu einem Knoten stehen, sollen die Datenfelder mitverschoben werden, wenn der Knoten verschoben wird. Diese Funktion kann unter Umst"anden st"oren, z.B. wenn der Anwender Datenfelder am Rand der Graphik anordnet, in solchen F"allen kann die Verschiebung der Datenfelder unterdr"uckt werden.


\chapter{Use Cases}
Im folgenden Kapitel sollen die verschieden Use-Cases beschrieben werden, wie sie in Abbildung~\ref{fig:useCase} auf Seite~\pageref{fig:useCase} dargestellt sind.


\section{Verzeichnis ausw"ahlen}

In einem Hauptfenster, das "ahnlich einem Filebrowser aufgebaut ist, w"ahlt der
 Anwender ein Verzeichnis aus einem Verzeichnisbaum durch Anklicken mit
 der Maustaste. Die SNNS Dateien haben die Endung .net und die Unterverzeichnisse des gew"ahlten Verzeichnisses werden in einem eigenen Teil des Hauptfensters aufgelistet. Zu jedem *.net-File wird ein Thumbnail erzeugt, das die Struktur des Netzes darstellt. Die Daten dazu werden aus dem *.net-File gelesen.
 
\section{Datei "offnen}

Durch Doppelklicken mit der linken Maustaste auf eines der Thumbnails wird eine Datei ge"offnet. Falls zur *.net Datei eine gleichnamige *.net.props-Datei existiert, wird auch dies ge"offnet. In *.net-props-File sind die Daten gespeichert, die sich auf die graphische Darstellung beziehen und nicht im SNNS-File abgespeichert werden k"onnen, wie zum Beispiel Farben, Form, Hintergundfarbe und "ahnliches. Falls diese Datei nicht im selben Verzeichnis existiert, wird eine solche Datei erzeugt. Die Daten beider Files werden sp"ater verwendet um eine entsprechende Darstellung zu erzeugen, die in einem eigenen Fenster dargestellt werden (Graphikfenster).

\section{Netz zeichnen}

Die in *.net -Files abgelegte topographische Anordnung der Units und Verbindungen eines Netzes wird verwendet um eine vereinfachte "Ubersichtsdarstellung des Netzes zu generieren, das als *.gif Datei abgelegt wird.
Die Darstellung im Graphikfenster h"angt aber auch von den Daten im *.net.props File ab. Um eine schnelle M"oglichkeit anzubieten die Darstellung zu "andern, wird beim Zeichnen der Units auch deren Aktivierungs-Zustand beachtet (s.a. Unit aktivieren)
 
%Die Daten zur Beschreibung einer Netzstruktur sind in *.net-Files abgelegt. Die
%Topographie des Netzes wird im *.gif File gespeichert.Gif-File wird kreiert w"ahrend des ersten Anrufs von diesen %Use-Case und man bekommt genau den gleichen Namen wie der entsprechende net-File.Wenn man n"achstes Mal %die Graphische Erstellung von irgendeinem Netz sehen m"ochte,werden die Daten aus einem schon existierendem %gif-File vorgezeigt. Alle anderen Daten,wie Farbtabellen, Position und Zuordnung der Datenfelder werden im *.net-%props-File gespeichert.Die graphische Darstellung der Knoten und Verbindungen unterscheidet sich je nach %Aktivierungszustand der einzelnen Knoten.

\section{Unit aktivieren}

Der Anwender aktiviert im Graphikfenster einen Knoten durch Anklicken mit der linken Maustaste. Das Anklicken eines bereits aktivierten Unit deaktiviert sie wieder. Der Aktivierungszustand wird im *.net-props gespeichert.
Weiters besteht die M"oglichkeit alle Knoten zu aktivieren oder den Aktivierungszustand aller Knoten umzukehren.

\section{Unit-Daten in extra Fenster darstellen}

Der Anwender "offnet im Graphikfenster einen Knoten durch Doppelklicken mit der
linken Maustaste. Dadurch "offnet sich ein extra Fenster, in dem s"amtliche zur
Verf"ugung stehenden Daten, die diesen Knoten betreffen, dargestellt werden.

\section{Datenfeld verschieben}

Alle Datenfelder (also Textfelder mit Namen, Aktivierungszustand usw.) k"onnen vom Anwender im Graphikfenster verschoben werden (Drag \& Drop). 

\section{Unit verschieben}

Verschiebt der Anwender einen Knoten (s.a. Datenfeld verschieben), so h"angt es von den eingestellten Eigenschaften des Knotens ab, ob die Datenfelder mitverschoben werden oder nicht (sticky-bit).

\section{Datei speichern}

Der Anwender kann die Daten durch Anw"ahlen eines Men"upunkts abspeichern. Dabei werden Koordinaten der Knoten und die Struktur des Netzes im *.net-File gespeichert. Alle weiteren Daten werden im *.net-props File gespeichert. Der Anwender wird nach dem Verzeichnis und Namen der Datei gefragt, unter der er das Netz abspeichern will und gewarnt, falls er bestehende  Dateien "uber-schreibt.

\section{Screenshot exportieren}

Die Darstellung des Netzes kann jederzeit auf *.PS Files exportiert werden, indem der Anwender einen entsprechenden Men"upunkt im Graphikfenster anw"ahlt. Das Speichern der Graphik erfolgt durch einen eigenen Export-Filter.Je nach Vorhandensein der entsprechenden Export-Filter k"onnen auch verschieden Datei-Typen erzeugt werden.


\chapter{NetExplorer}
\section{Beschreibung}

Die Java-Applikation NetExplorer umfa"st die Use-Cases ``Verzeichnis
ausw"ahlen'' und ``Datei "offnen''. Das Hauptfenster ist in drei Teile geteilt,
links wird ein Verzeichnisbaum gezeigt, rechts die im angew"ahlten Verzeichnis
vorhandenen SNNS-Netzdateien. In der Fu"szeile des Fensters werden zus"atzliche Daten, wie zum Beispiel der Fortschritt eines Ladevorgangs, angezeigt. Der Verzeichnisbaum hat als root das home-Verzeichnis des Anwenders.

\section{Implementierte Funktionen}
\begin{itemize}
	\item Verzeichnisbaum darstellen
        	\item Status-bar zeigen
	\item Thumbnails darstellen
	\item Aufruf des NetViewers als eigenen Thread.
	\item Status-Bar beim Thumbnails laden
	\item ToolTips bei Thumbnail-Namen
	\item Mit dem Auswahl eines SNNS-File in Verzeichnisbaum wird das entsprechende Thumbnail markiert 
\end{itemize}

\section{ToDo}
\begin{itemize}
	\item Icons im Verzeichnisbaum "andern.
	\item Verzeichnisbaum aktualisieren, wenn sich Verzeichnisse "andern.
	\item Startverzeichnis des Baums vom Anwender ver"anderbar machen.
	\item Drag \& Drop zwischen NetExplorer und NetViewer
\end{itemize}

\section{Class Diagrams}
\begin{figure}[h]
 \resizebox{\textwidth}{!}{
 \includegraphics{NE.eps}}
 \caption{Class Diagrams von NetExplorer}
\end{figure}

\chapter{NetViewer}
\section{Beschreibung}

Die Java-Applikation NetViewer umfa"st die restlichen Use-Cases.
Das Hauptfenster gliedert sich in zwei Teile, im oberen wird die graphische
Darstellung des Netzes gezeigt, im unteren werden verschieden Information als
Text gezeigt. 

F"ur die Darstellung des Netzes werden Properties verwendet, die f"ur jedes
Netz extra angelegt werden. Damit lassen sich Hintergrundfarbe, Knotenfarben, Rasterabstand
und -art einstellen. Durch Ausw"ahlen des Men"upunktes ``Properties'' im
Popup-Men"u des Graphikfensters lassen sich die Einstellungen ver"andern oder
auf den Standardwert zur"ucksetzen, wobei der Anwender die M"oglichkeit hat, selber einen Standardwert zu definieren.
Ein einfacher Klick auf einen Knoten "andert den Focus des Knotens. Focusierte Knoten sind an der Umrandung der Datenfelder erkennbar. Da sich auch mehrere Knoten gleichzeitig focusieren lassen, kann man diese Funktion verwenden um die Eigenschaften mehrerer Knoten gleichzeitig zu ver"andern.
Durch Doppelklicken auf einen Knoten "offnet der Anwender ein Popup-Men"u, in dem der Anwender mehrere Auswahlm"oglichkeiten hat:
\begin{itemize}
\item show prop dialog: "offnet das Fnster, in dem der Anwender die Graphischen Eigenschaften eines Knotens ver"andern kann.
\item show details: "Offnet ein Fenster mit detailierten Knotendaten. Diese Funktion ist noch nicht fertig ausgebaut.
\item copy properties: kopiert die Eigenschaften dieses Knotens und speichert sie im Properties-Dialog ab.
\item paste properties: "Andert die Eigenschaften des Knotens entsprechend der Einstellungen im Properties-Dialog
\item paste properties to all focused: "Andert die Eigenschaften aller focusiertend Knoten entsprechend der Einstellungen im Properties-Dialog. Dies Funktion entspricht der Taste ''apply'' im Properties-Dialog.
\item (de)activate: "Andert den Aktivierungs-Zustand des Knotens. Je nach Zustand "andert sich auch die Darstellung des Knotens entsprechend den Einstellungen im Properties-Dialog.
\end{itemize}



\section{Implementierte Funktionen}
\begin{itemize}
	\item Netz aus SNNS-File lesen und darstellen.
	\item Properties der Netzdarstellung "andern und speichern.
	\item Properties der Units "andern und speichern
	\item Properties von Units kopieren und einf"ugen
	\item Knoten-Daten darstellen abh"angig von Zustand.
	\item Knoten bzw. Datenfelder verschieben
	\item Knotenzustand "andern
	\item Speichern von Thumbnails
	\item Grafik auf *.PS Files exportieren
	\item Popup-Men"u f"ur Knoten:
		\begin{itemize}
			\item show prop dialog
			\item copy properties
			\item paste properties
			\item activate/deactivat
		\end{itemize}
	\item Properties-Dialog f"ur Knoten
		\begin{itemize}
			\item Darstellungsmodus der Datenfelder(immer sichtbar/nie sichtbar/sichtbar wenn aktiviert)
			\item Farben der Datenfelder(im aktivierten / nicht aktivierten Zustand)
			\item Form der Datenfelder (box/rounded box/circle/no outline)
		\end{itemize}
\end{itemize}
	
\section{Class Diagrams}
\begin{figure}[h]
\resizebox{\textwidth}{!}{
 \includegraphics{NetViewer1.eps}}
 \caption{Class Diagrams von NetViewer}
\end{figure}


\begin{figure}[h]
 \includegraphics[width=7.5cm,height=6.5cm]{NetPanel.eps}
 \caption{NetPanel}
\end{figure}

\begin{figure}[h]
 \includegraphics[width=10cm,height=11.5cm]{NetProperties_class.eps}
 \caption{NetProperties}
\end{figure}

\begin{figure}[h]
 \includegraphics[width=8.5cm,height=14cm]{Unit.eps}
 \caption{Unit}
\end{figure}

\begin{figure}[h]
 \includegraphics[width=9.5cm,height=11.2cm]{NetObject.eps}
 \caption{NetObject}
\end{figure}

\begin{figure}[h]
 \includegraphics[width=8.5cm,height=5cm]{Connection.eps}
 \caption{Connection}
\end{figure}

\begin{figure}[h]
 \includegraphics[width=13cm,height=19cm]{NV.eps}
 \caption{NetViewer}
\end{figure}

\begin{figure}[h]
 \includegraphics[width=6cm,height=5cm]{MyFileFilter.eps}
 \caption{MyFileFilter}
\end{figure}

\begin{figure}[h]
 \includegraphics[width=9.6cm,height=10cm]{DataField.eps}
 \caption{DataField}
\end{figure}

\begin{figure}[h]
 \includegraphics[width=13cm,height=19cm]{unitPropertiesJFrame.eps}
 \caption{UnitPropertiesJFrame}
\end{figure}


%Anhang
\appendix
\chapter{Diagramme}
\begin{figure}[h]
\resizebox{\textwidth}{!}{		
		\includegraphics{UC-diag.eps}	
}
\caption{Use-Case Diagramm}
\label{fig:useCase}
\end{figure}



\chapter{Protokolle}
\section{14.3.2000}

Teilnehmende Personen: Schwaiger Roland\newline
Lackner Andreas\newline
Jestratijevic Marko\newline

\noindent 
Protokollf"uhrer: Andreas Lackner\newline
Ort: B"uro Herr Schwaiger\newline
Zeit: 16.30 - 17.00\newline

\noindent Einf"uhrende Besprechung "uber das Projekt. 

\noindent Programmfunktionen:
\begin{itemize}
\item Darstellung von ANNs, die aus SNNS-Daten gelesen werden.
\item Manipulation der Darstellung am Bildschirm (mit der Maus).
\item Drucken und Speichern der Daten in das SNNS-File.
\end{itemize}

\noindent Das Praktikum soll unter Zuhilfenahme folgender Softwarepakete durchgef"uhrt werden:
\begin{itemize}
\item UML
f"ur den Entwurf und Design
\item Java
als Programmiersprache
\item \LaTeX
f"ur die Dokumentation des Projekts
\end{itemize}


\noindent Bis zur Besprechung am 21.3.2000 sollten folgende Daten gesichtet werden:
\begin{itemize}
\item Dokumentation UML
\item Beschreibung des SNNS Datenformats
\item Latex Kurzbeschreibung
\end{itemize}


\section{21.3.2000}

Teilnehmende Personen: Schwaiger Roland\newline
Lackner Andreas\newline
Jestratijevic Marko\newline

\noindent
Protokollf"uhrer: Andreas Lackner\newline
Ort: B"uro Herr Schwaiger\newline
Zeit: 16.30 - 17.00\newline

\noindent Grunds"atzliche Kl"arung der Ziele bei der Anwendung von UML\newline

\noindent Erste Fragestellungen:
\begin{itemize}
\item Welche Daten sind in SNNS-Files gespeichert, was stellen diese Daten dar?
\item Wie kann man ANNs graphisch darstellen?
\item Welche Netztypen gibt es?
\end{itemize}


\section{28.3.2000}

Teilnehmende Personen: Schwaiger Roland\newline
Lackner Andreas\newline
Jestratijevic Marko\newline

\noindent
Protokollf"uhrer: Andreas Lackner\newline
Ort: B"uro Herr Schwaiger\newline
Zeit: 16.30 - 17.00\newline

\noindent Aussehen der Protokolle/Dokumentation.\newline

\noindent Diskussion der bisher gefundenen Use Cases. Festlegung darauf, das das Programm in mehrere getrennt voneinander laufende Prozesse aufgegliedert wird. Damit soll auch ein Thread aus dem restlichen NetJEN-Paket unsere Threads aufrufen k"onnen (RMI, Remote Method Invocation).\newline

\noindent Diskussion des Entwurfs der graphischen Darstellung.\newline

\noindent UML-Anwendung bei:
\begin{itemize}
\item Use Cases
\item sequence diagram
\item colaboration diagram
\end{itemize}

\noindent Dazu soll ArgoUML verwendet werden. Ein Beispiel zur Anwendung von UML liegt als Artikel aus c't 1999, Heft 21, vor. ArgoUML ist auf den UNIX-Workstations im Rechner"ubungsraum installiert.\newline

\noindent Im Rechner"ubungsraum liegt eine Beschreibung in BNF der SNNS .net-Files auf.\newline

\section{11.4.2000}

Teilnehmende Personen: Schwaiger Roland\newline
Lackner Andreas\newline
Jestratijevic Marko\newline

\noindent
Protokollf"uhrer: Andreas Lackner\newline
Ort: B"uro Herr Schwaiger\newline
Zeit: 16.30 - 17.00\newline

\noindent Diskussion der Use Cases.

\noindent Diskussion der net.props-Files. Die Zus"atzlichen Daten, die zum vollst"andigen Abspeichern der Graphischen Darstellung ben"otigt werden, sollen in ein XML Dokument erzeugt werden. Die Unterlagen zur Einf"uhrung in den XML-Standard liegen als Kopie vor. 

\noindent Bis zum n"achsten Treffen soll eine Prototyp der GUI vorliegen (JAVA-Programm ohne Funktionalit"at). Die Klassendiagramme sollen in ArgoUML vorliegen.

\noindent N"achster Termin wegen Osterferien und Abwesenheiten erst am
2.5.2000, 16.30 Uhr.



\section{2.5.2000}

Teilnehmende Personen: Schwaiger Roland\newline
Lackner Andreas\newline
Jestratijevic Marko\newline

\noindent
Protokollf"uhrer: Andreas Lackner\newline
Ort: B"uro Herr Schwaiger\newline
Zeit: 16.30 - 17.00\newline

\noindent Vorstellung der GUI-Prototypen.

\noindent Bis zum n"achsten Treffen sollen die Prototypen der GUI mit
Funktionalit"at ausgestattet werden.

\noindent N"achster Termin am 24.5.2000, 16.30 Uhr.

\section{24.5.2000}

Teilnehmende Personen: Schwaiger Roland\newline
Lackner Andreas\newline
Jestratijevic Marko\newline

\noindent
Protokollf"uhrer: Andreas Lackner\newline
Ort: Workstation-Raum\newline
Zeit: 16.30 - 17.00\newline

\noindent Vorstellung und Diskussion der implementierten Funktionalit"at.

\noindent Noch zu implementieren:

\begin{itemize}
\item NetExplorer:
	\begin{itemize}
	\item Icons im Verzeichnisbaum "andern.
	\item Verzeichnisbaum aktualisieren, wenn sich Verzeichnisse "andern.
	\item Anordnung der Thumbnails verbessern.
	\item Startverzeichnis des Baums vom Anwender ver"anderbar machen.
	\item Aufruf des NetViewers als eigenen Thread. Wenn mehr als ein
NetViewer gestartet wird, gibt es Probleme.
	\item Drag \& Drop zwischen NetExplorer und NetViewer
	\item Statusbar in der untersten Zeile des Fenster	
	\item ToolTips bei zu langen Dateinamen
	\end{itemize}
\item NetViewer:
	\begin{itemize}
	\item Properties mit Namen des Netzes abspeichern, damit f"ur jedes
Netz verschiedene Properties m"oglich sind.
	\item Properties-Dialog f"ur Knoten
		\begin{itemize}
		\item Darstellungsmodus der Datenfelder
(ein/aus/sichtbar wenn aktiviert)
		\item Farben der einzelnen Datenfelder (f"ur
verschieden Zust"ande der Unit)
		\end{itemize}	 			
	 \item Popup-Men"u f"ur Knoten bzw. Verbindungen:
		\begin{itemize}
		\item properties
		\item activate/deactivat
		\item show data
		\item copy properties
		\item paste properties
		\end{itemize}
	\item Datenfelder des Knotens verschiebbar.
	\item Grafik exportieren
	\end{itemize}
\end{itemize}


\noindent N"achster Termin am 7.6.2000, 16.30 Uhr.

\chapter{Literatur}
\begin{itemize}
 \item Java 1.2 Laura Lemay,Rogers Cadenhead ,pages 649,kompijuter biblioteka Sams publishing
 \item java homepage (http://www.java.sun.com)
 \item http://www.acme.com/java/ 
 \item SNNS Manual
\end{itemize}


\chapter{Erweiterungsvorschl"age}
\begin{itemize}
\item NetViewer
	\begin{itemize}
	\item Graphische Darstellung
		\begin{itemize}
		\item Frei einf"ugbare Textfelder
		\item Zoom in/out 
		\item Automatische Ausrichtung nach Ebenen
		\item 3D-Darstellungen
		\end{itemize}
	\item Bearbeitung von Netzen
		\begin{itemize}
		\item Connections bearbeiten
		\item Funktionale Werte "anderen
		\item Units / Connections einf"ugen
		\item Units / Connections l"oschen
		\end{itemize}
	\item Datenaustausch
		\begin{itemize}
		\item Export auf SNNS-Format
		\item Import von SNNS-Dateien als Bestandteil eines bestehenden Netzes 
		\end{itemize}
	\end {itemize}
\item NetExplorer
	\begin{itemize}
	\item  Graphische Darstellung
		\begin{itemize}
		\item Ver"anderbare Thumbnailgr"o"se 
		\end{itemize}
	\end{itemize}
\end{itemize}	



\end{document}

