Commits

Konstantinos Aravanis committed 3705a3a

Report A++

Comments (0)

Files changed (6)

report/appendix.tex

-\chapter{Τεχνικές Λεπτομέρειες \en picoPnP\el} \label{chap:appendix}
+\chapter{Τεχνικές Λεπτομέρειες του \en picoPnP\el} \label{chap:appendix}
 %\lettrine[lines=3]{Ο} {} \textsc{ι} 
 
 \section{\en Screenshots \el από την εφαρμογή του ελεγκτή}
  \label{fig:rename}
 \end{figure}
 
-\section{\en UML \el διαγράμματα βασικών κλάσεων}
+\section{\en UML \el διαγράμματα βασικών κλάσεων και πακέτων}
+Τόσο ο κώδικας του \en picoPnP \el που τρέχει στις συσκευές όσο και αυτός των ελεγκτών έχουν ορισμένα κοινά σημεία. Για παράδειγμα και οι δύο υλοποιούν από ένα Διαχειριστή Ανακάλυψης, οι μεν ελεγκτές για να ανακαλύπτουν τις συσκευές στο δίκτυο, ενώ οι ελεγκτές τις συσκευές. Άλλα κομμάτια υλοποιούνται μόνο από τους ελεγκτές ή τις συσκευές. Για παράδειγμα η γραφική διεπαφή όπως είναι λογικό περιέχεται μόνο στον ελεγκτή.
+
+\begin{figure}[ht!]
+ \centering
+ \includegraphics[scale=0.3]{./figures/A/UML/controller.png}
+ \caption{\en UML \el διάγραμμα πακέτων του \en picoPnP \el στον ελεγκτή.}
+ \label{fig:controller-picopnp-uml}
+\end{figure}
+
+Τα κοινά κομμάτια του κώδικα είναι ίδια και για τους δύο τύπους κόμβους του δικτύου (συσκευές - ελεγκτές). Όπως γίνεται αντιληπτό και από τα σχήματα \ref{fig:controller-picopnp-uml} και \ref{fig:device-picopnp-uml} αυτά τα κοινά κομμάτια είναι τα παρακάτω πακέτα:
+\begin{enumerate}
+ \item \en\ttfamily picopnp.com \rmfamily\el
+ 
+ Στο πακέτο αυτό υλοποιούνται όλες εκείνες οι κλάσεις που έχουν να κάνουν με την επικοινωνία στο \en picoPnP\el, δηλαδή όλα εκείνα τα πρωτόκολλα που παρουσιάστηκαν στις προηγούμενες σελίδες.
+ 
+ \begin{itemize}
+        \item \en\ttfamily picopnp.com.discovery\rmfamily\el
+        
+        Στο πακέτο αυτό περιέχονται όλες εκείνες οι κλάσεις που έχουν να κάνουν με τον \emph{Διαχειριστή Ανακάλυψης}.
+ 
+        \item \en\ttfamily picopnp.com.description\rmfamily\el
+        
+        Στο πακέτο αυτό υλοποιούνται όλες εκείνες οι κλάσεις που έχουν να κάνουν με τον \emph{Διαχειριστή Περιγραφής}.
+        
+        \item \en\ttfamily picopnp.com.association\rmfamily\el
+        
+        Στο πακέτο αυτό περιέχονται όλες εκείνες οι κλάσεις που έχουν να κάνουν με τον \emph{Διαχειριστή Συσχετίσεων}.
+ 
+        \item \en\ttfamily picopnp.com.event\rmfamily\el
+        
+        Στο πακέτο αυτό υλοποιούνται όλες εκείνες οι κλάσεις που έχουν να κάνουν με τον \emph{Διαχειριστή Γεγονότων}.
+ 
+        \item \en\ttfamily picopnp.com.log\rmfamily\el
+        
+        Στο πακέτο αυτό περιέχονται όλες εκείνες οι κλάσεις που έχουν να κάνουν με τον \emph{Διαχειριστή Καταγραφών}.
+ 
+        \item \en\ttfamily picopnp.com.util\rmfamily\el
+        
+        Στο πακέτο αυτό υλοποιούνται όλες εκείνες οι διεπαφές που στόχο έχουν την ευκολότερη ανάπτυξη του κώδικα σε όλους τους προηγούμενους Διαχειριστές.
+     
+ \end{itemize}
+
+ \item \en\ttfamily picopnp.description\rmfamily\el 
+ 
+ Υλοποίηση κλάσεων για την περιγραφή μίας συσκευής και μίας υπηρεσίας
+ 
+ \item \en\ttfamily picopnp.util\rmfamily\el 
+ 
+ Στο πακέτο αυτό περιέχονται ορισμένες ακόμα βοηθητικές κλάσεις και διεπαφές για την λειτουργία του πρωτοκόλλου
+
+\end{enumerate}
+
+
+\begin{figure}[H]
+ \centering
+ \includegraphics[scale=0.3]{./figures/A/UML/device.png}
+ \caption{\en UML \el διάγραμμα πακέτων του \en picoPnP \el στην συσκευή}
+ \label{fig:device-picopnp-uml}
+\end{figure}
+
+Όσον αφορά το κομμάτι του ελεγκτή αυτό αποτελείτε από τα εξής επιπλέον πακέτα:
+\begin{enumerate}
+ \item \en\ttfamily picopnp.SunSPOT\rmfamily\el 
+
+ Υλοποίηση τον \emph{Διαχειριστή των \en Sun SPOT\el}.
+ 
+       \begin{itemize}
+        \item \en\ttfamily picopnp.util\rmfamily\el 
+       
+       Στο πακέτο αυτό περιέχονται βοηθητικές κλάσεις για την υλοποίηση του \emph{Διαχειριστή των \en Sun SPOT\el}.
+       
+       \end{itemize}
+
+\item \en\ttfamily picopnp.gui\rmfamily\el
+
+Υλοποίηση της γραφικής διεπαφής και κατεπέκταση του ελεγκτή.
+
+       \begin{itemize}
+        \item \en\ttfamily picopnp.models\rmfamily\el 
+        
+        Υλοποιούνται τα μοντέλα εκείνα για την παρουσίαση των διαφόρων πινάκων και λιστών της γραφικής διεπαφής.
+       
+       \end{itemize}
+ 
+
+\end{enumerate}
+
+Τέλος στην συσκευή υλοποιούνται τα εξής επιπλέον πακέτα:
+\begin{enumerate}
+ \item \en\ttfamily picopnp.spot\rmfamily\el 
+
+ Υλοποίηση της συσκευής.
+ 
+       \begin{itemize}
+        \item \en\ttfamily picopnp.device\rmfamily\el 
+
+        Υλοποίηση όλων εκείνων των \en\ttfamily abstract \rmfamily\el κλάσεων για την δημιουργία συσκευών αισθητήρων και ενεργοποιητών.
+
+        \item \en\ttfamily picopnp.service\rmfamily\el 
+
+        Υλοποίηση των \en\ttfamily abstract \rmfamily\el κλάσεων που περιγράφουν μία υπηρεσία αίσθησης και μία υπηρεσία ενεργοποίησης.
+
+        \item \en\ttfamily picopnp.storage\rmfamily\el 
+
+        Στο πακέτο αυτό περιέχονται όλες εκείνες οι κλάσεις που έχουν να κάνουν με τον \emph{Διαχειριστή Αποθήκευσης} της συσκευής.
+
+        \item \en\ttfamily picopnp.applications\rmfamily\el 
+
+        Στο πακέτο αυτό υπάρχουν ορισμένες ενδεικτικές υλοποιήσεις συσκευών και υπηρεσιών.
+
+        \end{itemize}
+
+\end{enumerate}
+
+Παρακάτω παρουσιάζονται τα \en UML \el από ορισμένες από τις πιο σημαντικές κλάσεις του \en picoPnP\el. 
+\newpage
+
 %----------------------------------------------------------------------------------------
 \subsection{Διαχειριστές Ανακάλυψης και ``Παλμού Καρδιάς''}
-\begin{figure}[ht!]
+\begin{figure}[h!]
  \centering
  \includegraphics[scale=0.55]{./figures/A/UML/Discovery-HeartbeatManager.png}
  \caption{\en UML \el διάγραμμα κλάσεων για τους Διαχειριστές Ανακάλυψης και ``Παλμού Καρδιάς''.}
  \label{fig:discovery-heartbeat-manager-uml}
 \end{figure}
 
-\begin{figure}[ht!]
+\begin{figure}[p]
  \centering
  \includegraphics[scale=0.45]{./figures/A/UML/DeviceDesc.png}
  \caption{\en UML \el διάγραμμα κλάσεων συσκευής.}
  \label{fig:device-description-uml}
 \end{figure}
+\newpage
 
 %----------------------------------------------------------------------------------------
 \subsection{Διαχειριστής Περιγραφών}
-\begin{figure}[ht!]
+\begin{figure}[h!]
  \centering
- \includegraphics[scale=0.6]{./figures/A/UML/DescriptionManager.png}
+ \includegraphics[scale=0.75]{./figures/A/UML/DescriptionManager.png}
  \caption{\en UML \el διάγραμμα κλάσεων για τον Διαχειριστή Περιγραφής.}
  \label{fig:description-manager-uml}
 \end{figure}
 
-\begin{figure}[ht!]
+\begin{figure}[p]
  \centering
- \includegraphics[scale=0.6]{./figures/A/UML/ServiceDesc.png}
+ \includegraphics[scale=0.7]{./figures/A/UML/ServiceDesc.png}
  \caption{\en UML \el διάγραμμα κλάσεων υπηρεσίας.}
  \label{fig:service-description-uml}
 \end{figure}
+\newpage
 
 %----------------------------------------------------------------------------------------
 \subsection{Διαχειριστής Συσχετίσεων}
-\begin{figure}[ht!]
+\begin{figure}[h!]
  \centering
- \includegraphics[scale=0.6]{./figures/A/UML/AssociationManager.png}
+ \includegraphics[scale=0.65]{./figures/A/UML/AssociationManager.png}
  \caption{\en UML \el διάγραμμα κλάσεων για τον Διαχειριστή Συσχετίσεων.}
  \label{fig:association-manager-uml}
 \end{figure}
 
-\begin{figure}[ht!]
+\begin{figure}[p]
  \centering
- \includegraphics[scale=0.6]{./figures/A/UML/Association.png}
+ \includegraphics[scale=0.7]{./figures/A/UML/Association.png}
  \caption{\en UML \el διάγραμμα κλάσης συσχέτισης.}
  \label{fig:association-uml}
 \end{figure}
+\newpage
 
 %----------------------------------------------------------------------------------------
 \subsection{Διαχειριστής Γεγονότων}
-\begin{figure}[ht!]
+\begin{figure}[h!]
  \centering
- \includegraphics[scale=0.6]{./figures/A/UML/EventManager.png}
+ \includegraphics[scale=0.59]{./figures/A/UML/EventManager.png}
  \caption{\en UML \el διάγραμμα κλάσεων για τον Διαχειριστή Γεγονότων.}
  \label{fig:event-manager-uml}
 \end{figure}
 
-\begin{figure}[ht!]
+\begin{figure}[H]
  \centering
- \includegraphics[scale=0.6]{./figures/A/UML/Event.png}
+ \includegraphics[scale=0.59]{./figures/A/UML/Event.png}
  \caption{\en UML \el διάγραμμα κλάσης γεγονότος.}
  \label{fig:event-uml}
 \end{figure}
+\newpage
 
 %----------------------------------------------------------------------------------------
 \subsection{Διαχειριστής Καταγραφών}
-\begin{figure}[ht!]
+\begin{figure}[h!]
  \centering
- \includegraphics[scale=0.57]{./figures/A/UML/LogManager.png}
+ \includegraphics[scale=0.59]{./figures/A/UML/LogManager.png}
  \caption{\en UML \el διάγραμμα κλάσεων για τον Διαχειριστή Καταγραφών.}
  \label{fig:log-manager-uml}
 \end{figure}
 
-\begin{figure}[ht!]
+\begin{figure}[p]
  \centering
- \includegraphics[scale=0.6]{./figures/A/UML/EventLog.png}
+ \includegraphics[scale=0.68]{./figures/A/UML/EventLog.png}
  \caption{\en UML \el διάγραμμα κλάσεων για την καταγραφή γεγονότος.}
  \label{fig:event-log-uml}
 \end{figure}
 
-\begin{figure}[ht!]
+\begin{figure}[p]
  \centering
- \includegraphics[scale=0.6]{./figures/A/UML/ComErrorLog.png}
+ \includegraphics[scale=0.65]{./figures/A/UML/ComErrorLog.png}
  \caption{\en UML \el διάγραμμα κλάσης καταγραφής σφάλματος επικοινωνίας.}
  \label{fig:com-error-log-uml}
 \end{figure}
 
-\begin{figure}[ht!]
+\begin{figure}[H]
  \centering
- \includegraphics[scale=0.6]{./figures/A/UML/BatteryLog.png}
+ \includegraphics[scale=0.75]{./figures/A/UML/BatteryLog.png}
  \caption{\en UML \el διάγραμμα κλάσης καταγραφής επιπέδου μπαταρίας.}
  \label{fig:battery-log-uml}
 \end{figure}
+\newpage
 
 %----------------------------------------------------------------------------------------
 \subsection{Διαχειριστής Αποθήκευσης}
-\begin{figure}[ht!]
+\begin{figure}[H]
  \centering
- \includegraphics[scale=0.6]{./figures/A/UML/StorageManager.png}
+ \includegraphics[scale=0.75]{./figures/A/UML/StorageManager.png}
  \caption{\en UML \el διάγραμμα κλάσεων για τον Διαχειριστή Αποθήκευσης.}
  \label{fig:storage-manager-uml}
 \end{figure}
+\newpage
 
 %----------------------------------------------------------------------------------------
 \subsection{Διαχειριστής των \en Sun SPOT \el}
-\begin{figure}[ht!]
+\begin{figure}[H]
  \centering
- \includegraphics[scale=0.5]{./figures/A/UML/SunSPOTManager_1.png}
+ \includegraphics[scale=0.55]{./figures/A/UML/SunSPOTManager_1.png}
  \caption{\en UML \el διάγραμμα κλάσεων για τον Διαχειριστή των \en Sun SPOT\el.}
  \label{fig:sun-spot-manager-uml}
-\end{figure}
+\end{figure}
+\newpage

report/figures/A/UML/controller.dia

Binary file added.

report/figures/A/UML/controller.png

Added
New image

report/figures/A/UML/device.dia

Binary file added.

report/figures/A/UML/device.png

Added
New image

report/thesis.pdf

Binary file modified.