From: <le...@us...> - 2007-02-17 06:12:06
|
Revision: 346 http://svn.sourceforge.net/qcell/?rev=346&view=rev Author: lessm Date: 2007-02-16 22:12:03 -0800 (Fri, 16 Feb 2007) Log Message: ----------- Modified Paths: -------------- trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex trunk/qcell/doc/licenciate_thesis/chap6/chap6.tex Modified: trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex 2007-02-17 03:22:36 UTC (rev 345) +++ trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex 2007-02-17 06:12:03 UTC (rev 346) @@ -2,6 +2,8 @@ \label{chap:zsz} \section{Funkcje pakietu} \subsection {Podstawowe funkcje programu} +\subsubsection{Ograniczenia zestawu znak\xF3w stosowny w plikach opisu modelu} +Symulator daje mo\xBFliwo\x9C\xE6 definiowania plik\xF3w opisu w oparciu alfabet o mocy |A|=61. Ograniczenie wynika z ilo\x9Cci dost\xEApnych znak\xF3w ASCII(0-9, A-Z, a-z oraz '-'). \subsubsection {Wczytywanie opisu modelu z pliku} \label{subsec:wkp} Pakiet umo\xBFliwia wczytywanie plik\xF3w opisu modelu w formatach FQT, REAK, ZIFW, N, KI, LIF, LIFE. @@ -9,7 +11,7 @@ \subsubsection{Utrwalanie wynik\xF3w przetwarzania} Pakiet daje mo\xBFliwo\x9C\xE6 utrwalania efekt\xF3w eksperyment\xF3w w nast\xEApuj\xB9cych trybach: \begin{itemize} -\item zapis poszczeg\xF3lnych element\xF3w modelu do osobnych plik\xF3w (KI, N, FL), +\item zapis poszczeg\xF3lnych element\xF3w modelu do osobnych plik\xF3w (KI, N, FL), dost\xEApne formaty to: FQT, REAK, ZIFW, N, KI, \item zapis konfiguracji bie\xBF\xB9cej wraz z histori\xB9 przetwarzania do pojedynczego pliku, \item eksport konfiguracji do pliku LIF (obs\xB3ugiwanego przez programy: MCell, XLife i Life32). \end{itemize} @@ -69,8 +71,16 @@ \item trzy liczby (separowane spacj\xB9): liczba argument\xF3w, liczno\x9C\xE6 alfabetu wej\x9Cciowego oraz liczno\x9C\xE6 alfabetu wyj\x9Cciowego, \item zbiory sterowa\xF1 dla kolejnych warto\x9Cci funkcji (my\x9Clnik oznacza warto\x9C\xE6 nieokre\x9Clon\xB9). \end{itemize} + +\item REAK - Format pliku tekstowego do opisu \ac{FL}, zawiera w kolejnych wierszach: +\begin{itemize} +\item identyfikator literowy typu funkcji, tj REAK +\item dwie liczby (separowane spacj\xB9): liczba symboli alfabetu WE/WY, liczba argument\xF3w funkcji lokalnej, +\item kolejne wiersze reprezentuj\xB9 lista regu\xB3 elementarnych, tj. (n+1)-ek: $\sigma_{1}\sigma_{2}...\sigma_{n}\sigma_{n+1}\Leftrightarrow \lambda(\sigma_{1}\sigma_{2}...\sigma_{n})=\sigma_{n+1}$ \end{itemize} +\end{itemize} + \item s\xB9siedztwo \begin{itemize} \item N~--- Plik przeznaczony do specyfikowania uk\xB3adu s\xB9siedztwa, tj. kolejno\x9Cci i po\xB3o\xBFenia s\xB9siad\xF3w kom\xF3rki. W kolejnych wierszach zawiera: Modified: trunk/qcell/doc/licenciate_thesis/chap6/chap6.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap6/chap6.tex 2007-02-17 03:22:36 UTC (rev 345) +++ trunk/qcell/doc/licenciate_thesis/chap6/chap6.tex 2007-02-17 06:12:03 UTC (rev 346) @@ -1,3 +1,6 @@ +\usepackage{subfigure} + + \chapterauthor{Leszek Smentek}{Obs\xB3uga programu} \label{chap:iop} \section{Interfejs programu} @@ -266,36 +269,30 @@ Po za\xB3adowaniu wszystkich plik\xF3w niezb\xEAdnych do rozpocz\xEAcia eksperymentu uaktywnia si\xEA pasek narz\xEAdzi przedstawiony na rysunku \ref{fig:psdt0} i mo\xBFliwe jest wykonywanie kolejnych krok\xF3w eksperymentu. Alternatyw\xB9 dla \xB3adowania pliku KI jest skorzystanie z kreatora konfiguracji znajduj\xB9cego si\xEA w menu "File$\rightarrow$New" i r\xEAczna edycja stworzonej \ac{KP}. -\begin{figure}[!h] -\centering -\includegraphics[width=4cm]{chap6/iter1} -\caption {Przebieg symulacji dla t=0} -\label{fig:psdt0} +\begin{figure}[htbp] + \begin{center} + \mbox{ + \subfigure {\scalebox{0.5}{\includegraphics[width=14cm]{chap6/iter1}}} \quad + \subfigure {\scalebox{0.5}{\includegraphics[width=14cm]{chap6/iter2}}} + } + \caption{Przebieg symulacji dla t=0,1} + \label{fig:psdt01} + \end{center} \end{figure} -\begin{figure}[!h] -\centering -\includegraphics[width=4cm]{chap6/iter2} -\caption {Przebieg symulacji dla t=1} -\label{fig:psdt1} +\begin{figure}[htbp] + \begin{center} + \mbox{ + \subfigure {\scalebox{0.5}{\includegraphics[width=14cm]{chap6/iter3}}} \quad + \subfigure {\scalebox{0.5}{\includegraphics[width=14cm]{chap6/iter4}}} + } + \caption{Przebieg symulacji dla t=2,3} + \label{fig:psdt23} + \end{center} \end{figure} -\begin{figure}[!h] -\centering -\includegraphics[width=4cm]{chap6/iter3} -\caption {Przebieg symulacji dla t=2} -\label{fig:psdt2} -\end{figure} +Rysunki \ref{fig:psdt01} - \ref{fig:psdt23} przedstawiaj\xB9 kolejne kroki symulacji z u\xBFyciem \ac{KP} zawartej w pliku "basic3Dexperiment.KI". Na podstawie analizy przebiegu symulacji widoczny obiekt mo\xBFna zaklasyfikowa\xE6 jako ,,\xB3azik''. -\begin{figure}[!h] -\centering -\includegraphics[width=4cm]{chap6/iter4} -\caption {Przebieg symulacji dla t=3} -\label{fig:psdt3} -\end{figure} - -Rysunki \ref{fig:psdt0} - \ref{fig:psdt4} przedstawiaj\xB9 kolejne kroki symulacji z u\xBFyciem \ac{KP} zawartej w pliku "basic3Dexperiment.KI". Na podstawie analizy przebiegu symulacji widoczny obiekt mo\xBFna zaklasyfikowa\xE6 jako ,,\xB3azik''. - \subsection{Eksperyment dynamicznego dobierania modelu obliczeniowego} Poni\xBFszy przyk\xB3ad obrazuje spos\xF3b dynamicznego doboru modelu obliczeniowego. Zadaniem docelowym jest okre\x9Clenie modelu umo\xBFliwiaj\xB9cego obrazowanie kolizji sygna\xB3\xF3w w przestrzeni 1D. Zak\xB3adamy, \xBFe sygna\xB3y poruszaj\xB9 si\xEA z pr\xEAdko\x9Cci\xB9 $V=1$ w przeciwnych kierunkach oraz po kolizji pr\xEAdko\x9C\xE6 i kierunek sygna\xB3\xF3w ma pozosta\xE6 bez zmian. Do przedstawienia kolizji niezb\xEAdny jest alfabet o czterech symbolach oraz s\xB9siedztwo tr\xF3jelementowe. W poni\xBFszym przyk\xB3adzie u\xBFyto plik\xF3w: "dynamicmodelexample.FQT", "dynamicmodelexample.N". Do stworzenia \ac{KP} u\xBFyto kreatora \ac{KP}. @@ -350,4 +347,10 @@ Rysunek \ref{fig:wpak} przedstawia przebieg eksperymentu dla dobranego modelu. Widok poddany zosta\xB3 interpretacji z u\xBFyciem znak\xF3w graficznych w celu osi\xB9gni\xEAcia przejrzysto\x9Cci wynik\xF3w symulacji. +\subsection{Eksperyment z u\xBFyciem \ac{OL}} +\label{subsec:propobj} + +Do przedstawienia poni\xBFszego eksperymentu u\xBFyto plik\xF3w "propagation1d.FQT", "propagation1d.N", "propagation1d.KI" znajduj\xB9cych si\xEA w katalogu "examples". + + % vim:fencs=cp1250:fenc=cp1250 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <le...@us...> - 2007-02-17 08:09:19
|
Revision: 349 http://svn.sourceforge.net/qcell/?rev=349&view=rev Author: lessm Date: 2007-02-17 00:09:17 -0800 (Sat, 17 Feb 2007) Log Message: ----------- Modified Paths: -------------- trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex trunk/qcell/doc/licenciate_thesis/chap6/chap6.tex trunk/qcell/doc/licenciate_thesis/chap6/select2.png Modified: trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex 2007-02-17 07:01:25 UTC (rev 348) +++ trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex 2007-02-17 08:09:17 UTC (rev 349) @@ -331,21 +331,37 @@ \begin{table}[!p] \centering \caption{Por\xF3wnanie dost\xEApnych AK} -\begin{tabular}{p{5em}|p{5em}|p{5em}|p{5em}|p{5em}|p{5em}|p{5em}|p{5em}|p{5em}|p{5em}} -AK & Model LAK & Model DAK & Model TAK & Dynamika globalna & Wymiana danych pomi\xEAdzy pakietami & Graficzna reprezentacja symulacji & Tekstowa reprezentacja symulacji & Obserwator lokalny & Wspomaganie doboru modelu\\ +\begin{tabular}{p{5em}|p{5em}|p{5em}|p{5em}|p{5em}|p{5em}|p{5em}|p{5em}} +AK & Model LAK & Model DAK & Model TAK & Dynamika globalna & Wymiana danych pomi\xEAdzy pakietami & Obserwator lokalny & Wspomaganie doboru modelu\\ \hline -MCell & Tak & Tak & Nie & Nie & Tak & Tak & Nie & Nie & Nie\\ +MCell & Tak & Tak & Nie & Nie & Tak & Nie & Nie\\ \hline -DDLab & Tak & Tak & Nie & Tak & Nie & Tak & Nie & Nie & Nie\\ +DDLab & Tak & Tak & Nie & Tak & Nie & Nie & Nie\\ \hline -Life32 & Nie & Tak & Nie & Nie & Tak & Tak & Nie & Nie & Nie\\ +Life32 & Nie & Tak & Nie & Nie & Tak & Nie & Nie\\ \hline -CelLab & Nie & Tak & Nie & Nie & Nie & Tak & Nie & Nie & Nie\\ +CelLab & Nie & Tak & Nie & Nie & Nie& Nie & Nie\\ \hline -WinLife & Nie & Tak & Nie & Nie & Nie & Tak & Nie & Nie & Nie +WinLife & Nie & Tak & Nie & Nie & Nie & Nie & Nie\\ +\hline +\hline +AK & Skalowanie & siatka ON/OFF & historia kom\xF3rki & Graficzna reprezentacja symulacji & Tekstowa reprezentacja\\ +\hline + +MCell & Tak & Tak & Tak & Tak & Nie\\ +\hline +DDLab & Tak & Tak & Nie & Tak & Nie \\ +\hline +Life32 & Tak & Tak & Nie & Tak & Nie\\ +\hline +CelLab & Tak & Nie & Nie & Tak & Nie \\ +\hline +WinLife & Nie & Nie & Nie & Tak & Nie \\ + \end{tabular} \label{tab:} \end{table} + \end{landscape} % vim:fencs=cp1250:fenc=cp1250 Modified: trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex 2007-02-17 07:01:25 UTC (rev 348) +++ trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex 2007-02-17 08:09:17 UTC (rev 349) @@ -57,7 +57,7 @@ \item funkcja lokalna \begin{itemize} - \item FQT - Format pliku tekstowego do opisu \ac{FL}, zawieraj\xB9cego w kolejnych wierszach: + \item FQT - Format pliku tekstowego do opisu \ac{FL}\citep{siwy, sicw}, zawieraj\xB9cego w kolejnych wierszach: \begin{itemize} \item identyfikator literowy typu funkcji, tj FQT, \item trzy liczby (separowane spacj\xB9): liczba argument\xF3w, liczno\x9C\xE6 alfabetu wej\x9Cciowego oraz liczno\x9C\xE6 alfabetu wyj\x9Cciowego, @@ -65,14 +65,14 @@ \item kolejne sumy $s$ (dziesi\xEAtnie) i ci\xB9gi warto\x9Cci dla ustalonego $s$: $f(s,w_{max}) f(s,w_{max-1}) ... f(s,w_{min})$, gdzie $w_{max}$ oznacza maksymalny ci\xB9g wyraz\xF3w wolnych w porz\xB9dku leksykograficznym. \end{itemize} -\item ZIFW - zawiera w kolejnych wierszach: +\item ZIFW - zawiera w kolejnych wierszach\citep{siwy, sicw}: \begin{itemize} \item identyfikator literowy typu funkcji, tj ZIFW, \item trzy liczby (separowane spacj\xB9): liczba argument\xF3w, liczno\x9C\xE6 alfabetu wej\x9Cciowego oraz liczno\x9C\xE6 alfabetu wyj\x9Cciowego, \item zbiory sterowa\xF1 dla kolejnych warto\x9Cci funkcji (my\x9Clnik oznacza warto\x9C\xE6 nieokre\x9Clon\xB9). \end{itemize} -\item REAK - Format pliku tekstowego do opisu \ac{FL}, zawiera w kolejnych wierszach: +\item REAK - Format pliku tekstowego do opisu \ac{FL}\citep{siwy, sicw}, zawiera w kolejnych wierszach: \begin{itemize} \item identyfikator literowy typu funkcji, tj REAK \item dwie liczby (separowane spacj\xB9): liczba symboli alfabetu WE/WY, liczba argument\xF3w funkcji lokalnej, @@ -83,7 +83,7 @@ \item s\xB9siedztwo \begin{itemize} -\item N~--- Plik przeznaczony do specyfikowania uk\xB3adu s\xB9siedztwa, tj. kolejno\x9Cci i po\xB3o\xBFenia s\xB9siad\xF3w kom\xF3rki. W kolejnych wierszach zawiera: +\item N~--- Plik przeznaczony do specyfikowania uk\xB3adu s\xB9siedztwa\citep{siwy, sicw}, tj. kolejno\x9Cci i po\xB3o\xBFenia s\xB9siad\xF3w kom\xF3rki. W kolejnych wierszach zawiera: \begin{itemize} \item Litera i cyfra: N{1,2,3} - identyfiktor pliku z rozmiarem przestrzeni s\xB9siad\xF3w, \item do czterech liczb ca\xB3kowitych: $W K S n$ - okre\x9Clenie liczby wierszy, kolumn, \x9Ccian oraz s\xB9siad\xF3w, @@ -94,7 +94,7 @@ \item konfiguracja inicjalna \begin{itemize} -\item KI~--- Plik opisu konfiguracji inicjalnej. Poszczeg\xF3lne wiersze oddzielone s\xB9 znakami ko\xF1ca linii, \x9Cciany zaznaczone s\xB9 poprzez pust\xB9 lini\xEA w pliku. +\item KI~--- Plik opisu konfiguracji inicjalnej\citep{siwy, sicw}. Poszczeg\xF3lne wiersze oddzielone s\xB9 znakami ko\xF1ca linii, \x9Cciany zaznaczone s\xB9 poprzez pust\xB9 lini\xEA w pliku. \end{itemize} \end{itemize} Modified: trunk/qcell/doc/licenciate_thesis/chap6/chap6.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap6/chap6.tex 2007-02-17 07:01:25 UTC (rev 348) +++ trunk/qcell/doc/licenciate_thesis/chap6/chap6.tex 2007-02-17 08:09:17 UTC (rev 349) @@ -361,6 +361,22 @@ Do przedstawienia poni\xBFszego eksperymentu u\xBFyto plik\xF3w "propagation1d.FQT", "propagation1d.N", "propagation1d.KI" znajduj\xB9cych si\xEA w katalogu "examples". +\begin{figure}[!h] +\centering +\includegraphics[width=14cm]{chap6/og1d} +\caption {Symulator w trybie \ac{OG}} +\label{fig:og1d} +\end{figure} +W celu rozpocz\xEAci symulacji modelu \ac{LAK} z wybranym obserwatorem lokalnym nale\xBFy za\xB3adowa\xE6 pliki opisu modelu, a nast\xEApnie prze\xB3\xB9czy\xE6 tryb obserwatora na na lokalny. W przedstawionym przyk\xB3adzie \ac{OL} umiejscowiony zosta\xB3 w kolumnie siedem. +\begin{figure}[!h] +\centering +\includegraphics[width=14cm]{chap6/ol1d} +\caption {Symulator w trybie \ac{OL}} +\label{fig:ol1d} +\end{figure} + +Rysunek \ref{fig:og1d} przedstawia prace symulatora w trybie \ac{OG}. Na rysunku \ref{fig:ol1d} przedstawiono odpowiadaj\xB9cy przebieg symulacji w trybie \ac{OL}. + % vim:fencs=cp1250:fenc=cp1250 Modified: trunk/qcell/doc/licenciate_thesis/chap6/select2.png =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dhu...@us...> - 2007-01-02 16:29:39
|
Revision: 91 http://svn.sourceforge.net/qcell/?rev=91&view=rev Author: dhubleizh Date: 2007-01-02 08:29:31 -0800 (Tue, 02 Jan 2007) Log Message: ----------- - filename typo Modified Paths: -------------- trunk/qcell/doc/licenciate_thesis/thesis.tex Added Paths: ----------- trunk/qcell/doc/licenciate_thesis/titlepage.tex Removed Paths: ------------- trunk/qcell/doc/licenciate_thesis/titlebage.tex Modified: trunk/qcell/doc/licenciate_thesis/thesis.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/thesis.tex 2007-01-02 16:23:21 UTC (rev 90) +++ trunk/qcell/doc/licenciate_thesis/thesis.tex 2007-01-02 16:29:31 UTC (rev 91) @@ -45,7 +45,7 @@ %\linespread{2} \begin{document} -\include{titlebage.tex} +\include{titlepage.tex} % \xA3adne numerowanie stron wraz z nag\xB3\xF3wkami \pagestyle{headings} Deleted: trunk/qcell/doc/licenciate_thesis/titlebage.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/titlebage.tex 2007-01-02 16:23:21 UTC (rev 90) +++ trunk/qcell/doc/licenciate_thesis/titlebage.tex 2007-01-02 16:29:31 UTC (rev 91) @@ -1,38 +0,0 @@ -% Strona tytu\xB3owa z palca -\begin{titlepage} - % Anulujemy styl stron - \thispagestyle{empty} - - % Wszystko wycentrowane - \begin{center} - % Uczelnia - Politechnika Pozna\xF1ska\\ - Wydzia\xB3 Elektryczny\\ - kierunek informatyka (studia dzienne) - - \vspace{\stretch{3}} - - % Autorzy alfabetycznie - \begin{large} - Cezary Krzy\xBFanowski\\ - Leszek Smentek - \end{large} - - \vspace{\stretch{1}} - - % Tytu\xB3 - \begin{Huge} - ,,Wizualizacja przetwarzania w automacie kom\xF3rkowym z wybranym obserwatorem'' - \end{Huge} - \end{center} - - \vspace{\stretch{6}} - - % Promotorzy - % TODO: Wyjustowa\xE6 do prawej - \begin{description} - \item[Promotor:] dr~hab.~in\xBF.~Pawe\xB3 Siwak - \item[Recenzent:] - \end{description} -\end{titlepage} - Copied: trunk/qcell/doc/licenciate_thesis/titlepage.tex (from rev 90, trunk/qcell/doc/licenciate_thesis/titlebage.tex) =================================================================== --- trunk/qcell/doc/licenciate_thesis/titlepage.tex (rev 0) +++ trunk/qcell/doc/licenciate_thesis/titlepage.tex 2007-01-02 16:29:31 UTC (rev 91) @@ -0,0 +1,38 @@ +% Strona tytu\xB3owa z palca +\begin{titlepage} + % Anulujemy styl stron + \thispagestyle{empty} + + % Wszystko wycentrowane + \begin{center} + % Uczelnia + Politechnika Pozna\xF1ska\\ + Wydzia\xB3 Elektryczny\\ + kierunek informatyka (studia dzienne) + + \vspace{\stretch{3}} + + % Autorzy alfabetycznie + \begin{large} + Cezary Krzy\xBFanowski\\ + Leszek Smentek + \end{large} + + \vspace{\stretch{1}} + + % Tytu\xB3 + \begin{Huge} + ,,Wizualizacja przetwarzania w automacie kom\xF3rkowym z wybranym obserwatorem'' + \end{Huge} + \end{center} + + \vspace{\stretch{6}} + + % Promotorzy + % TODO: Wyjustowa\xE6 do prawej + \begin{description} + \item[Promotor:] dr~hab.~in\xBF.~Pawe\xB3 Siwak + \item[Recenzent:] + \end{description} +\end{titlepage} + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dhu...@us...> - 2007-01-14 14:19:30
|
Revision: 166 http://svn.sourceforge.net/qcell/?rev=166&view=rev Author: dhubleizh Date: 2007-01-14 06:19:26 -0800 (Sun, 14 Jan 2007) Log Message: ----------- - CMakeList.txt for generating Makefile with cmake (cross platform!) - DSZ added to acronyms - changes in thesis accroding to dr Siwak's suggestions Modified Paths: -------------- trunk/qcell/doc/licenciate_thesis/acronyms.gdf trunk/qcell/doc/licenciate_thesis/thesis.tex Added Paths: ----------- trunk/qcell/doc/licenciate_thesis/CMakeLists.txt Added: trunk/qcell/doc/licenciate_thesis/CMakeLists.txt =================================================================== --- trunk/qcell/doc/licenciate_thesis/CMakeLists.txt (rev 0) +++ trunk/qcell/doc/licenciate_thesis/CMakeLists.txt 2007-01-14 14:19:26 UTC (rev 166) @@ -0,0 +1,91 @@ +PROJECT(thesis) + +FIND_PACKAGE(LATEX REQUIRED) +FIND_PROGRAM(GLOSSTEX_COMPILER NAMES glosstex) +FIND_FILE(GLOSSTEX_IST NAMES glosstex.ist PATHS /usr/share/texmf/tex/latex/glosstex) +SET(LATEX_ARGS --interaction=batchmode --translate-file=il2-pl) + +ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/thesis.aux ${CMAKE_CURRENT_BINARY_DIR}/titlepage.tex.aux ${CMAKE_CURRENT_BINARY_DIR}/thesis.out ${CMAKE_CURRENT_BINARY_DIR}/thesis.toc ${CMAKE_CURRENT_BINARY_DIR}/thesis.pdf + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/thesis.tex ${CMAKE_CURRENT_SOURCE_DIR}/titlepage.tex + COMMAND ${PDFLATEX_COMPILER} + ARGS ${LATEX_ARGS} ${CMAKE_CURRENT_BINARY_DIR}/thesis + COMMENT "Latex (first pass)" + ) + +ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/thesis.gxs + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/thesis.aux ${CMAKE_CURRENT_SOURCE_DIR}/acronyms.gdf ${CMAKE_CURRENT_SOURCE_DIR}/thesis.gdf + COMMAND ${GLOSSTEX_COMPILER} + ARGS ${CMAKE_CURRENT_BINARY_DIR}/thesis ${CMAKE_CURRENT_SOURCE_DIR}/acronyms.gdf ${CMAKE_CURRENT_SOURCE_DIR}/thesis.gdf + COMMENT "Glosary" + ) + +ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/thesis.glx ${CMAKE_CURRENT_BINARY_DIR}/thesis.ilg + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/thesis.gxs + COMMAND ${MAKEINDEX_COMPILER} + ARGS ${CMAKE_CURRENT_BINARY_DIR}/thesis.gxs -o ${CMAKE_CURRENT_BINARY_DIR}/thesis.glx -s ${GLOSSTEX_IST} + COMMENT "Index ouf ot glossary" + ) + +ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/glosstex1 + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/thesis.glx + COMMAND ${PDFLATEX_COMPILER} + ARGS ${LATEX_ARGS} ${CMAKE_CURRENT_BINARY_DIR}/thesis + COMMENT "Latex (glosstex1 pass)" + ) + +ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/glosstex2 + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/glosstex1 + COMMAND ${PDFLATEX_COMPILER} + ARGS ${LATEX_ARGS} ${CMAKE_CURRENT_BINARY_DIR}/thesis + COMMENT "Latex (glosstex2 pass)" + ) + +ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/thesis.bbl ${CMAKE_CURRENT_BINARY_DIR}/thesis.blg + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/glosstex2 ${CMAKE_CURRENT_SOURCE_DIR}/thesis.bib + COMMAND ${BIBTEX_COMPILER} + ARGS -terse ${CMAKE_CURRENT_BINARY_DIR}/thesis + COMMENT "Bibtex" + ) + +ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/bibtex1 + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/thesis.bbl + COMMAND ${PDFLATEX_COMPILER} + ARGS ${LATEX_ARGS} ${CMAKE_CURRENT_BINARY_DIR}/thesis + COMMENT "Latex (bibtex1 pass)" + ) + +ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/bibtex2 + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/bibtex1 + COMMAND ${PDFLATEX_COMPILER} + ARGS ${LATEX_ARGS} ${CMAKE_CURRENT_BINARY_DIR}/thesis + COMMENT "Latex (bibtex2 pass)" + ) + +ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/bibtex3 + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/bibtex2 + COMMAND ${PDFLATEX_COMPILER} + ARGS ${LATEX_ARGS} ${CMAKE_CURRENT_BINARY_DIR}/thesis + COMMENT "Latex (bibtex3 pass)" + ) + +ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/bibtex4 + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/bibtex3 + COMMAND ${PDFLATEX_COMPILER} + ARGS ${LATEX_ARGS} ${CMAKE_CURRENT_BINARY_DIR}/thesis + COMMENT "Latex (bibtex4 pass)" + ) + +# Eventually trigger the whole process +ADD_CUSTOM_TARGET(LaTeXDocument ALL echo + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/bibtex4 + ) Modified: trunk/qcell/doc/licenciate_thesis/acronyms.gdf =================================================================== --- trunk/qcell/doc/licenciate_thesis/acronyms.gdf 2007-01-14 14:18:29 UTC (rev 165) +++ trunk/qcell/doc/licenciate_thesis/acronyms.gdf 2007-01-14 14:19:26 UTC (rev 166) @@ -1,6 +1,13 @@ @entry{AK, AK, Automat Kom\xF3rkowy} + +@entry{DSZ, DSZ, Dyskretne systemy z\xB3o\xBFone} + @entry{EPS, EPS, Encapsulated PostScript} format plik\xF3w, b\xEAd\xB1cy podzbiorem j\xEAzyka PostScript, kt\xF3rego g\xB3\xF3wnym przeznaczeniem jest przechowywanie pojedynczych stron zawieraj\xB1cych grafik\xEA komputerow\xB1 w postaci umo\xBFliwiaj\xB1cej osadzanie ich w innych dokumentach.\citep{plwiki} + @entry{GUI, GUI, Graphical User Interface} cz\xEAsto nazywany te\xBF \xB6rodowiskiem graficznym --- og\xF3lne okre\xB6lenie sposobu prezentacji informacji przez komputer oraz interakcji z u\xBFytkownikiem, polegaj\xB1cego na rysowaniu i obs\xB3ugiwaniu widget\xF3w.\citep{plwiki} + @entry{IDE, IDE, Integrated Development Environment} zintegrowane \xB6rodowisko programistyczne --- jest to aplikacja lub zesp\xF3\xB3 aplikacji (\xB6rodowisko) s\xB3u\xBF\xB1cych do tworzenia, modyfikowania, testowania i konserwacji oprogramowania.\citep{plwiki} + @entry{NP, NP, Nondeterministic Polynomia} Problem NP (nieokre\xB6lony wielomianowo) to problem decyzyjny, dla kt\xF3rego rozwi\xB1zanie mo\xBFna zweryfikowa\xE6 w czasie wielomianowym. R\xF3wnowa\xBFna definicja m\xF3wi, \xBFe problem jest w klasie NP, je\xB6li mo\xBFe by\xE6 rozwi\xB1zany w wielomianowym czasie na niedeterministycznej maszynie Turinga.\citep{plwiki} -@entry{SVG, SVG, Scalable Vector Graphics} uniwersalny format dwuwymiarowej, statycznej i animowanej grafiki wektorowej, nieobwarowany licencjami i patentami, stworzony w 1999 roku przez W3C z my\xB6l\xB1 o zastosowaniu go na stronach WWW. U\xBFywany r\xF3wnie\xBF jako niezale\xBFny od platformy systemowej format grafiki. SVG nale\xBFy do rodziny XML, wi\xEAc mo\xBFe by\xE6 integrowany z innymi j\xEAzykami, jak na przyk\xB3ad XHTML.\citep{plwiki} + +@entry{SVG, SVG, Scalable Vector Graphics} uniwersalny format dwuwymiarowej, statycznej i animowanej grafiki wektorowej, nieobwarowany licencjami i patentami, stworzony w 1999 roku przez W3C z my\xB6l\xB1 o zastosowaniu go na stronach WWW. U\xBFywany r\xF3wnie\xBF jako niezale\xBFny od platformy systemowej format grafiki. SVG nale\xBFy do rodziny XML, wi\xEAc mo\xBFe by\xE6 integrowany z innymi j\xEAzykami, jak na przyk\xB3ad XHTML.\citep{plwiki} Modified: trunk/qcell/doc/licenciate_thesis/thesis.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/thesis.tex 2007-01-14 14:18:29 UTC (rev 165) +++ trunk/qcell/doc/licenciate_thesis/thesis.tex 2007-01-14 14:19:26 UTC (rev 166) @@ -4,12 +4,9 @@ % % TODO: % - Rozbi\xE6 rozdzia\xB3y na osobne pliki (u\xB3atwi r\xF3wnoczesn\xB1 prac\xEA) -% - Zrobi\xE6 stron\xEA tytu\xB3ow\xB1 (omin\xB1\xE6 problem numerowania stron i hypertex-a % - Pozbiera\xE6 do kupy bibliografi\xEA % - Okre\xB6li\xE6 format drukowania bibliografii % -%&glosstex thesis thesis.gdf -%&makeindex thesis.gxs -o thesis.glx -s /usr/share/texmf/tex/latex/glosstex/glosstex.ist % Typ rekomendowany na prac\xEA PhD \documentclass[12pt,a4paper]{report} @@ -45,7 +42,7 @@ %\linespread{2} \begin{document} -\include{titlepage.tex} +%\input{titlepage.tex} % \xA3adne numerowanie stron wraz z nag\xB3\xF3wkami \pagestyle{headings} @@ -55,63 +52,35 @@ %Jedziemy z koksem \chapter{Wprowadzenie} +\section{Cel, zakres pracy} +[ HUH? Czy punkt 'Zadania szczeg\xF3\xB3owe nie b\xEAdzie przedstawia\xB3 w\xB3a\xB6nie tego? ] \section{Uzasadnienie tematu} -Dowiedzenie akuratno\xB6ci obranego tematu sprowadza si\xEA w~tym przypadku do zastanowienia si\xEA nad natur\xB1 samych automat\xF3w kom\xF3rkowych, ich przydatno\xB6ci w~realnych, in\xBFynierskich zastosowaniach, oraz do przedstawienia sensu wizualizowania eksperyment\xF3w przeprowadzonych na tych\xBFe automatach. - -% TODO: ukonkretni\xE6 m\xF3wi si\xEA -M\xF3wi si\xEA, \xBFe wszystkie \xB3atwe wynalazki zosta\xB3y ju\xBF dawno odnalezione i~opatentowane. Osza\xB3amiaj\xB1ca wi\xEAkszo\xB6\xE6 problem\xF3w i~pyta\xF1, jakie zadaje sobie ludzko\xB6\xE6 w~ostatnich latach, zawiera si\xEA w~klasie problem\xF3w \ac{NP}, co czyni je tym samym niezwykle wymagaj\xB1cymi obliczeniowo. Mimo i\xBF prawo Moore'a -% TODO: tutaj mo\xBFna by doda\xE6 odpowiedni cytat! -ca\xB3y czas pozostaje w~mocy, mo\xBFliwo\xB6ci technologiczne prowadzenia oblicze\xF1 nie pozwalaj\xB1 na efektywne rozwi\xB1zywanie problem\xF3w silnie nieliniowych, czy te\xBF mocno wyk\xB3adniczych. W~tej sytuacji zasadnym wydaje si\xEA poszukiwanie alternatywnych metod rozwi\xB1zywania problem\xF3w, kt\xF3re pozwol\xB1 przekroczy\xE6 granic\xEA metod wyczerpuj\xB1cego przeszukiwania zbioru rozwi\xB1za\xF1. Oczywistym krokiem jest ograniczanie przestrzeni poszukiwa\xF1, ale niesie to za sob\xB1 znaczne ograniczenia. Opr\xF3cz potencjalnej mo\xBFliwo\xB6ci b\xB3\xEAdu przy zaw\xEA\xBFaniu przestrzeni warto\xB6ci pomijamy pewn\xB1, skrajnie ma\xB3\xB1, aczkolwiek realn\xB1, grup\xEA rozwi\xB1za\xF1 znajduj\xB1cych si\xEA poza estymowanymi granicami. - -Inn\xB1 sposobem prze\xB3amania technicznych mo\xBFliwo\xB6ci obliczeniowych jest korzystanie z~metod niedeterministycznych, kt\xF3re z~pewnym prawdopodobie\xF1stwem pozwalaj\xB1 na odnalezienie rozwi\xB1zania problemu. Jest to jednak swoisty rodzaj loterii, kt\xF3ra mimo znanej i~opisanej metodologii, pozwalaj\xB1cej estymowa\xE6 ryzyko i~przewidywa\xE6 wyniki, ca\xB3y czas zawiera pierwiastek losowo\xB6ci. - -Automaty kom\xF3rkowe pozwalaj\xB1 w~inny spos\xF3b podej\xB6\xE6 do rozwi\xB1zywania problem\xF3w obliczeniowych. Przyjmuj\xB1c pewien poziom generalizacji, odrzucamy dog\xB3\xEAbn\xB1 dociekliwo\xB6\xE6 przyczyn wyst\xEApowania zjawiska, na korzy\xB6\xE6 poprawnego i~niezmiernie szybkiego wykrywania i~reagowania na zaistnia\xB3e czynniki. Jak ka\xBFde rozwi\xB1zanie in\xBFynierskie, metody kom\xF3rkowego przetwarzania informacji cechuj\xB1 si\xEA pewnymi zaletami kosztem pewnych wad. Jednak\xBFe to ich zalety ponad wadami sprawiaj\xB1, i\xBF nadaj\xB1 si\xEA one idealnie do system\xF3w czasu rzeczywistego -% TODO: tu te\xBF warto si\xEA powo\xB3a\xE6 na co\xB6 -gdzie ograniczenia nie pozwalaj\xB1 na dog\xB3\xEAbne analizy sytuacyjne, a~jedynie natychmiastowe kroki maj\xB1ce na celu zapobieganie eskalacji zjawiska. - -Z~drugiej strony dyskretno\xB6\xE6 \ac{AK} zdaje si\xEA by\xE6 idealn\xB1 cech\xB1 do bada\xF1 zjawisk z~natury \xB6ci\xB6le dyskretnych, jak oddzia\xB3ywa\xF1 mi\xEAdzyatomowych, wzajemnego wp\xB3ywu niepodzielnych element\xF3w dowolnej konstrukcji~--- niezale\xBFnie, czy to b\xEAd\xB1 ceg\xB3y budynku, czy w\xB3\xF3kna tkaniny. Badanie tych cech otaczaj\xB1cego nas wszech\xB6wiata wydaje si\xEA by\xE6 w~obecnych czasach szczeg\xF3lnie znacz\xB1ce, gdy z~jednej strony teorie skali makro, z~drugiej fizyka skali mikro(fizyka kwantowa) szukaj\xB1 wsp\xF3lnego mianownika w~postaci Teorii Wielkiej Unifikacji. -% TODO: \xBCr\xF3d\xB3a - -Pozostaje do om\xF3wienia jedynie kwestia wizualizacji oblicze\xF1, kt\xF3ra zdaje si\xEA by\xE6 oczywista~--- aby wynie\xB6\xE6 teoretyczne obliczenia i~osi\xB1gni\xEAcia naukowe zza kulis naukowych laboratori\xF3w i~uczelnianych sal do \xB6wiata zastosowa\xF1 praktycznych, \xB6wiata in\xBFynierskiego, \xB6wiata biznesu, potrzeba aplikacji \ac{AK}~--- wizualizacji~--- szczeg\xF3lnie tr\xF3jwymiarowych, pozwalaj\xB1cych przedstawi\xE6 realne konstrukcje i~byty w~spos\xF3b w\xB3a\xB6ciwy dla u\xBFytkownika ko\xF1cowego. Moc obliczeniowa dzisiejszych jednostek graficznych pozwala realizowa\xE6 najbardziej wymy\xB6lne metody prezentacji eksperyment\xF3w, b\xEAd\xB1ce z~pewno\xB6ci\xB1 daleko poza zasi\xEAgiem pierwotnych tw\xF3rc\xF3w teorii AK. - -\section{Motywacje} -Motywacj\xB1 do obrania takiego brzmienia tematu by\xB3a ch\xEA\xE6 wykazania si\xEA specyficznymi umiej\xEAtno\xB6ciami, g\xB3\xF3wnie programistycznymi i~projektanckimi. Pisz\xB1cy te prac\xEA dostrzegaj\xB1 potencja\xB3 drzemi\xB1cy w~dziedzinie, a~zarazem licz\xB1 na udokumentowanie znajomo\xB6ci zagadnie\xF1 potrzebnych do stworzenia projektu. - -Kompetencje kt\xF3rych pisz\xB1cy pragn\xEAli by dowie\xB6\xE6 to m. in.: \begin{itemize} - \item zaawansowana znajomo\xB6\xE6 j\xEAzyka C++ - \item umiej\xEAtno\xB6\xE6 pisania aplikacji wieloplatformowych - \item praca z~szeregiem narz\xEAdzi kolaboracyjnych: - \begin{itemize} - \item repozytorium \gls{SVN} - \item dokumentowanie kodu w~standardzie \gls{doxygen}a - \item \gls{bugtracker} - \item \gls{ticket tracking} - \item zestaw oprogramowania kolaboracyjnego udost\xEApniany przez \gls{SourceForge} - \end{itemize} - \item projektowanie rozszerzalnych i~skalowalnych system\xF3w - \item umiej\xEAtne stosowanie i~\xB3\xB1czenie technologii, jak XML - \item optymalizacja proces\xF3w obliczeniowych - \item projektowanie u\xBFytecznych i~przejrzystych interfejs\xF3w graficznych (\ac{GUI}) - \item zaawansowanie wykorzystanie bibliotek \gls{OpenGL} do cel\xF3w wizualizacyjnych - \item projektowanie i~optymalizacja niekonwencjonalnych rozproszonych \xB6rodowisk obliczeniowych - \item in\xBFynieria protoko\xB3\xF3w sieciowych + \item Klasyczne metody obliczeniowe + \item potrzeba tworzenia symulator\xF3w + \item \ac{AK} jako model \ac{DSZ} + \item Ograniczenie dotychczasowych symulator\xF3w - obserwator lokalny \end{itemize} \section{Zadania szczeg\xF3\xB3owe} -\begin{itemize} -\item Przegl\xB1d mo\xBFliwo\xB6ci znanych symulator\xF3w AK -\item Opracowanie programu symulacji pracy modelu AK (do 3d); dobieranie modelu, danych i technik wizualizacji dla r\xF3\xBFnych obserwator\xF3w -\item Opracowanie i wdro\xBFenie \xB6rodk\xF3w intensyfikacji eksperyment\xF3w -\item Opracowanie i wdro\xBFenie \xB6rodk\xF3w dokumentowania eksperyment\xF3w -\end{itemize} \chapter{Zakres problematyki} -% TODO: Czy rozwija\xE6 skr\xF3t w~tytule albo w~spisie tre\xB6ci? -\section{Przegl\xB1d mo\xBFliwo\xB6ci znanych \acs{AK}} -\chapter{Koncepcja rozwi\xB1zania} - +\section{Cechy idealnego symulatora przetwarza\xF1 kom\xF3rkowych} +\begin{itemize} + \item Wspieranie w~edycji danych pocz\xB1tkowych + \item Ustawienia domy\xB6lne + \item Podgl\xB1d element\xF3w sk\xB3adowych eksperymentu + \begin{itemize} + \item Model + \begin{itemize} + \item s\xB1siedztwo + \item funkcja lokalna + \end{itemize} + \item dane + \end{itemize} +\end{itemize} +\chapter{Za\xB3o\xBFenia szczeg\xF3\xB3owe} \chapter{Implementacja} \section{Stosowane narz\xEAdzia} @@ -128,17 +97,15 @@ \begin{description} \item [AcrobatReader] Interpreter plik\xF3w pdf.\\\url{http://www.adobe.com/products/acrobat/readstep2.html}. \item [aspell] Wolnodost\xEApny program do sprawdzania pisowni i gramatyki wraz ze s\xB3ownikami w wielu j\xEAzykach.\\\url{http://aspell.sourceforge.net/} + \item [cmake] Wieloplatformowy generator skrypt\xF3w budowania.\\\url{http://www.cmake.org/} \item [Evince] Interpreter plik\xF3w pdf w \xB6rodowisku \gls{GNOME} na platformie Linux.\\\url{http://www.gnome.org/projects/evince/} \item [GIMP] Program do tworzenia grafiki rastrowej i przekszta\xB3cania obraz\xF3w do formatu \ac{EPS} wykorzystywanego w \TeX{}ie.\\\url{http://www.gimp.org/} \item [Inkspace] Program do tworzenia grafiki wektorowej, g\xB3\xF3wnie w formacie \ac{SVG}.\\\url{http://www.inkscape.org/} - \item [\TeX{}] \xA6rodowisko wieloplatformowego sk\xB3adania tekstu, wraz z zainstalowanym systemem makr \LaTeXe{}.\\\url{http://www.tug.org/} + \item [TeTex] Implementacja j\xEAzyka sk\xB3adania tekstu \TeX{}, wraz z zainstalowanym systemem makr \LaTeXe{}.\\\url{http://www.tug.org/tetex/} \end{description} -\section{Projekt} -\section{Plan test\xF3w} - -\chapter{Wyniki} - +\chapter{Testy} +\chapter{Instrukcja obs\xB3ugi pakietu} \chapter{Zako\xF1czenie} @@ -150,7 +117,7 @@ % indeksy i spisy \printglosstex(acr) -\printglosstex(glo) +%\printglosstex(glo) \end{document} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dhu...@us...> - 2007-01-15 01:21:51
|
Revision: 169 http://svn.sourceforge.net/qcell/?rev=169&view=rev Author: dhubleizh Date: 2007-01-14 08:21:30 -0800 (Sun, 14 Jan 2007) Log Message: ----------- - Test chapter Modified Paths: -------------- trunk/qcell/doc/licenciate_thesis/CMakeLists.txt trunk/qcell/doc/licenciate_thesis/thesis.tex Modified: trunk/qcell/doc/licenciate_thesis/CMakeLists.txt =================================================================== --- trunk/qcell/doc/licenciate_thesis/CMakeLists.txt 2007-01-14 16:11:11 UTC (rev 168) +++ trunk/qcell/doc/licenciate_thesis/CMakeLists.txt 2007-01-14 16:21:30 UTC (rev 169) @@ -86,6 +86,6 @@ ) # Eventually trigger the whole process -ADD_CUSTOM_TARGET(LaTeXDocument ALL echo +ADD_CUSTOM_TARGET(pdf ALL echo DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/bibtex4 ) Modified: trunk/qcell/doc/licenciate_thesis/thesis.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/thesis.tex 2007-01-14 16:11:11 UTC (rev 168) +++ trunk/qcell/doc/licenciate_thesis/thesis.tex 2007-01-14 16:21:30 UTC (rev 169) @@ -53,7 +53,7 @@ %Jedziemy z koksem \chapter{Wprowadzenie} \section{Cel, zakres pracy} -[ HUH? Czy punkt 'Zadania szczeg\xF3\xB3owe nie b\xEAdzie przedstawia\xB3 w\xB3a\xB6nie tego? ] +[ HUH? Czy punkt ,,Zadania szczeg\xF3\xB3owe'' nie b\xEAdzie przedstawia\xB3 w\xB3a\xB6nie tego? ] \section{Uzasadnienie tematu} \begin{itemize} \item Klasyczne metody obliczeniowe @@ -149,8 +149,37 @@ \item [TeTex] Implementacja j\xEAzyka sk\xB3adania tekstu \TeX{}, wraz z zainstalowanym systemem makr \LaTeXe{}.\\\url{http://www.tug.org/tetex/} \end{description} +\section{Ograniczenia pakietu} + \chapter{Testy} +\section{Danych} +\subsection{Tworzenie} +\subsection{Modyfikacja} +\subsection{Utrwalanie} + +\section{Usability} +Na to chyba nie ma dobrego t\xB3umaczenia :/ + +Chodzi tutaj o~pobawienie si\xEA obracaniem, rzutowaniem, zoomowaniem, interpretowaniem i~innymi ficzerami wp\xB3ywaj\xB1cymi na realn\xB1 u\xBFyteczno\xB6\xE6 pakietu, a~nie daj\xB1cymi si\xEA zmierzy\xE6, jak wydajno\xB6\xE6, czy warunki brzegowe. + +\section{Poprawno\xB6ci oblicze\xF1} +\subsection{?? W\xB3a\xB6ciwe eksperymenty??} +Nie wiem, jak te sekcj\xEA nazwa\xE6\ldots Nie wiem te\xBF, jakby obiektywnie dobra\xE6 takie \xB6rodowiska 1-3d, kt\xF3re by wystestowa\xB3y mo\xBFliwie najwi\xEAksz\xB1 mo\xBFliw\xB1 kombinacj\xEA sytuacji, kt\xF3re mog\xB1 si\xEA pojawi\xE6 podczas eksperyment\xF3w. + +Czy znane s\xB1 jakie\xB6 takie funkcje \ac{AK}, kt\xF3re pozwoli\xB3yby na wyczerpanie ca\xB3ego przedzia\xB3u alfabetu wej\xB6ciowego i~wyj\xB6ciowego na zadanej wielko\xB6ci KI ? +\subsection{Warunki brzegowe} +W~rozumieniu wyszukiwania mniej 'typowych' warto\xB6ci r\xF3\xBFnych p\xF3l, sprawdzania dziele\xF1 przez zero, poprawno\xB6ci 'przekr\xEAcania licznik\xF3w', jak np. warunki Torusowe etc\ldots +\section{Wydajno\xB6ciowe} +W~zale\xBFno\xB6ci od pozosta\xB3ego czasu, przeprowadz\xEA i~udokumentuj\xEA tutaj jaki\xB6 'typowy' eksperyment (co to znaczy typowy?) 1-3d, jak si\xEA uda to na dw\xF3ch maszynach i~mo\xBFe na Linux + Windows. + +Spr\xF3buj\xEA ekstrapolowa\xE6 te wyniki i~oszacowa\xE6 minimalne wymagania. +\subsection{1D} +\subsection{2D} +\subsection{3D} + \chapter{Instrukcja obs\xB3ugi pakietu} +IMHO nie ma sensu tworzenia rozdzia\xB3u ,,Pokaz mo\xBFliwo\xB6ci pakietu'', gdy\xBF 'mo\xBFliwo\xB6ci programu' zostan\xB1 zademonstrowane (zrzutami ekranu) w~tym rozdziale - ka\xBFda funkcjonalno\xB6\xE6 z~osobna. +\section{Typowy przebieg eksperymentu [Quickstart? Jak to nazwa\xE6?]} \chapter{Zako\xF1czenie} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dhu...@us...> - 2007-01-15 06:58:37
|
Revision: 173 http://svn.sourceforge.net/qcell/?rev=173&view=rev Author: dhubleizh Date: 2007-01-14 22:58:34 -0800 (Sun, 14 Jan 2007) Log Message: ----------- - moved content to chapter 3 - typos and spellchecking - titlepage is back! Modified Paths: -------------- trunk/qcell/doc/licenciate_thesis/acronyms.gdf trunk/qcell/doc/licenciate_thesis/thesis.tex Modified: trunk/qcell/doc/licenciate_thesis/acronyms.gdf =================================================================== --- trunk/qcell/doc/licenciate_thesis/acronyms.gdf 2007-01-15 06:32:33 UTC (rev 172) +++ trunk/qcell/doc/licenciate_thesis/acronyms.gdf 2007-01-15 06:58:34 UTC (rev 173) @@ -1,13 +1,8 @@ @entry{AK, AK, Automat Kom\xF3rkowy} - @entry{DSZ, DSZ, Dyskretne systemy z\xB3o\xBFone} - @entry{EPS, EPS, Encapsulated PostScript} format plik\xF3w, b\xEAd\xB1cy podzbiorem j\xEAzyka PostScript, kt\xF3rego g\xB3\xF3wnym przeznaczeniem jest przechowywanie pojedynczych stron zawieraj\xB1cych grafik\xEA komputerow\xB1 w postaci umo\xBFliwiaj\xB1cej osadzanie ich w innych dokumentach.\citep{plwiki} - +@entry{FQT, FQT, Funkcja kwazi-totalistyczna} @entry{GUI, GUI, Graphical User Interface} cz\xEAsto nazywany te\xBF \xB6rodowiskiem graficznym --- og\xF3lne okre\xB6lenie sposobu prezentacji informacji przez komputer oraz interakcji z u\xBFytkownikiem, polegaj\xB1cego na rysowaniu i obs\xB3ugiwaniu widget\xF3w.\citep{plwiki} - @entry{IDE, IDE, Integrated Development Environment} zintegrowane \xB6rodowisko programistyczne --- jest to aplikacja lub zesp\xF3\xB3 aplikacji (\xB6rodowisko) s\xB3u\xBF\xB1cych do tworzenia, modyfikowania, testowania i konserwacji oprogramowania.\citep{plwiki} - @entry{NP, NP, Nondeterministic Polynomia} Problem NP (nieokre\xB6lony wielomianowo) to problem decyzyjny, dla kt\xF3rego rozwi\xB1zanie mo\xBFna zweryfikowa\xE6 w czasie wielomianowym. R\xF3wnowa\xBFna definicja m\xF3wi, \xBFe problem jest w klasie NP, je\xB6li mo\xBFe by\xE6 rozwi\xB1zany w wielomianowym czasie na niedeterministycznej maszynie Turinga.\citep{plwiki} - @entry{SVG, SVG, Scalable Vector Graphics} uniwersalny format dwuwymiarowej, statycznej i animowanej grafiki wektorowej, nieobwarowany licencjami i patentami, stworzony w 1999 roku przez W3C z my\xB6l\xB1 o zastosowaniu go na stronach WWW. U\xBFywany r\xF3wnie\xBF jako niezale\xBFny od platformy systemowej format grafiki. SVG nale\xBFy do rodziny XML, wi\xEAc mo\xBFe by\xE6 integrowany z innymi j\xEAzykami, jak na przyk\xB3ad XHTML.\citep{plwiki} Modified: trunk/qcell/doc/licenciate_thesis/thesis.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/thesis.tex 2007-01-15 06:32:33 UTC (rev 172) +++ trunk/qcell/doc/licenciate_thesis/thesis.tex 2007-01-15 06:58:34 UTC (rev 173) @@ -42,7 +42,7 @@ %\linespread{2} \begin{document} -%\input{titlepage.tex} +\input{titlepage.tex} % \xA3adne numerowanie stron wraz z nag\xB3\xF3wkami \pagestyle{headings} @@ -62,57 +62,7 @@ \item Ograniczenie dotychczasowych symulator\xF3w - obserwator lokalny \end{itemize} -%\section{Zadania szczeg\xF3\xB3owe} -\chapter{Zadania szczeg\xF3\xB3owe} - \section{Og\xF3lne wyposa\xBFenie funkcjonalne pakietu} - \section{Dobieranie modelu klasycznego} - \section{Dobieranie modelu sieciowego} - \section{item Formaty FL} - \section{Integralno\x9C\xE6 modelu} - \section{Dob\xF3r danych pocz\xB9tkowych} - \begin{itemize} - \item \x8Fr\xF3d\xB3a - \item Tworzenie danych - \begin{itemize} - \item Modyfikowanie ustawie\xF1 domy\x9Clnych - \end{itemize} - \item Wizualna modyfikacja danych - \end{itemize} - \section{Wizualizacja} - \begin{itemize} - \item Znakowa - \item Graficzna - \begin{itemize} - \item Obroty, Przybli\xBFenia, Przekroje - \item Interpretacja - \end{itemize} - \item Obrazy dla obserwator\xF3w lokalnych - \begin{itemize} - \item Sta\xB3ych - \item Ruchomych - \end{itemize} - \item Zmiany obserwatora - \item Skalowane obrazy po czasie - \end{itemize} - \section{Prowadzenie eksperyment\xF3w} - \begin{itemize} - \item Eksperymenty przetwarzania - \begin{itemize} - \item Praca krokowa - \item Ci\xB9g\xB3a (zatrzymanie, wznowienie) - \item Poruszanie si\xEA do przodu i wstecz - \item \xA3apanie zdarze\xF1 - \end{itemize} - \item Eksperymenty szukania element\xF3w modelu - \item Eksperymenty szukania danych - \item Zapisywanie wynik\xF3w eksperymentu - \begin{itemize} - \item Do pliku - \item avi - \end{itemize} - \item Wznawianie eksperyment\xF3w - \end{itemize} - +\section{Zadania szczeg\xF3\xB3owe} \chapter{Zakres problematyki} \section{Cechy idealnego symulatora przetwarza\xF1 kom\xF3rkowych} @@ -175,6 +125,60 @@ \item DD Lab \end{itemize} \chapter{Za\xB3o\xBFenia szczeg\xF3\xB3owe} + \section{Og\xF3lne wyposa\xBFenie funkcjonalne pakietu} + \section{Dobieranie modelu klasycznego} + \section{Dobieranie modelu sieciowego} + Tego to wspiera\xE6 nie b\xEAdziemy? + \section{Formaty FL} + Hm, ale tu b\xEAdzie tylko \ac{FQT} i~ew. mo\xBFliwo\xB6\xE6 dopisania czego\xB6, ale na jeden \ac{FQT} to jest strasznie rozchuchane. + \section{Integralno\xB6\xE6 modelu} + Dopasowywanie s\xB1siedztwa do siatek. + + Czy jest jaka\xB6 mo\xBFliwo\xB6\xE6/potrzeba dopasowywania funkcji? (wydaje si\xEA trudne na pierwszy rzut\ldots pomy\xB6lenia) + \section{Dob\xF3r danych pocz\xB1tkowych} + \begin{itemize} + \item \xACr\xF3d\xB3a + \item Tworzenie danych + \begin{itemize} + \item Modyfikowanie ustawie\xF1 domy\xB6lnych + \end{itemize} + \item Wizualna modyfikacja danych + \end{itemize} + \section{Wizualizacja} + \begin{itemize} + \item Znakowa + \item Graficzna + \begin{itemize} + \item Obroty, Przybli\xBFenia, Przekroje + \item Interpretacja + \end{itemize} + \item Obrazy dla obserwator\xF3w lokalnych + \begin{itemize} + \item Sta\xB3ych + \item Ruchomych + \end{itemize} + \item Zmiany obserwatora + \item Skalowane obrazy po czasie + \end{itemize} + \section{Prowadzenie eksperyment\xF3w} + \begin{itemize} + \item Eksperymenty przetwarzania + \begin{itemize} + \item Praca krokowa + \item Ci\xB1g\xB3a (zatrzymanie, wznowienie) + \item Poruszanie si\xEA do przodu i wstecz + \item \xA3apanie zdarze\xF1 + \end{itemize} + \item Eksperymenty szukania element\xF3w modelu [Na pewno zd\xB1\xBFymy to zaimplementowa\xE6 Leszek?] + \item Eksperymenty szukania danych [To te\xBF zd\xB1\xBFymy?] + \item Zapisywanie wynik\xF3w eksperymentu + \begin{itemize} + \item Do pliku + \item avi [na pewno avi? Ja m\xF3wi\xB3em np. o~gifach\ldots] + \end{itemize} + \item Wznawianie eksperyment\xF3w + \end{itemize} + \chapter{Implementacja} \section{Stosowane narz\xEAdzia} @@ -183,9 +187,9 @@ \item [autotools] GNU Build System --- Zestaw narz\xEAdzi stworzonych przez projekt GNU\footnote{\url{http://www.gnu.org/}} , kt\xF3re pomagaj\xB1 w budowaniu pakiet\xF3w w wielu systemach UNIXopodobnych. Jest cz\xEA\xB6ci\xB1 GNU Toolchain.\citep{plwiki}\\\url{http://sources.redhat.com/autobook/} \item[gcc] Wieloplatformowy zestaw kompilator\xF3w. W szczeg\xF3lno\xB6ci u\xBFywany by\xB3 kompilator j\xEAzyka C++~--- gcc-c++ w wersji 4.2.\\\url{http://gcc.gnu.org/} \item[gdb] Wieloplatformowy \gls{debugger} w wersji 6.6.\\\url{http://www.gnu.org/software/gdb/} + \item[Microsoft Visual Studio .Net 2003] Narz\xEAdzie do edycji i kompilacji program\xF3w w \xB6rodowisku Microsoft Windows. G\xB3\xF3wnie u\xBFyto kompilatora j\xEAzyka C++.\\\url{http://msdn.microsoft.com/vstudio/previous/2003/} \item[Qt] Zestaw bibliotek firmy Trolltech\textsuperscript{\textregistered} do wieloplatformowego tworzenia oprogramowania, w szczeg\xF3lno\xB6ci do tworzenia \ac{GUI} o natywnym, dla danej platformy, wygl\xB1dzie. Biblioteki te zawieraj\xB1 szerok\xB1 gam\xEA klas og\xF3lnego zastosowania, oraz w\xB3asny system kompilacji. U\xBFyto wersji 4.2.\\\url{http://www.trolltech.com/products/qt/} \item[Vim] Niezwykle rozszerzalny, wieloplatformowy edytor tekstu (i nie tylko) z szerok\xB1 gam\xB1 wtyczek do pracy z niemal\xBFe dowolnym typem plik\xF3w. Stanowi\xB3 na zmian\xEA \ac{IDE}, \gls{debugger} oraz program do sk\xB3adu tekstu. Pisz\xB1cy te s\xB3owa pozwoli sobie w tym miejscu na drobn\xB1 reklam\xEA, gdy\xBF przekonany jest, i\xBF interfejs vim-a, b\xEAd\xB1cy powodem wielu nieprzespanych nocy pocz\xB1tkuj\xB1cych u\xBFytkownik\xF3w, przy odrobinie wprawy i nauki pozwoli\xB3 zaoszcz\xEAdzi\xE6 godziny pracy. U\xBFyto wersji 7.0.\\\url{http://www.vim.org/} - \item[Microsoft Visual Studio .Net 2003] Narz\xEAdie do edycji i kompilacji program\xF3w w srodowisku Microsoft Windows. G\xB3\xF3wnie urzyto kompilatora j\xEAzyka c++. \\\url{http://msdn.microsoft.com/vstudio/previous/2003/} \end{description} \subsection{Przy pisaniu pracy} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dhu...@us...> - 2007-01-17 17:41:50
|
Revision: 184 http://svn.sourceforge.net/qcell/?rev=184&view=rev Author: dhubleizh Date: 2007-01-17 09:41:32 -0800 (Wed, 17 Jan 2007) Log Message: ----------- - texLive and tetex described Modified Paths: -------------- trunk/qcell/doc/licenciate_thesis/acronyms.gdf trunk/qcell/doc/licenciate_thesis/thesis.tex Modified: trunk/qcell/doc/licenciate_thesis/acronyms.gdf =================================================================== --- trunk/qcell/doc/licenciate_thesis/acronyms.gdf 2007-01-17 15:48:30 UTC (rev 183) +++ trunk/qcell/doc/licenciate_thesis/acronyms.gdf 2007-01-17 17:41:32 UTC (rev 184) @@ -3,6 +3,8 @@ @entry{EPS, EPS, Encapsulated PostScript} format plik\xF3w, b\xEAd\xB1cy podzbiorem j\xEAzyka PostScript, kt\xF3rego g\xB3\xF3wnym przeznaczeniem jest przechowywanie pojedynczych stron zawieraj\xB1cych grafik\xEA komputerow\xB1 w postaci umo\xBFliwiaj\xB1cej osadzanie ich w innych dokumentach.\citep{plwiki} @entry{FQT, FQT, Funkcja kwazi-totalistyczna} @entry{GUI, GUI, Graphical User Interface} cz\xEAsto nazywany te\xBF \xB6rodowiskiem graficznym --- og\xF3lne okre\xB6lenie sposobu prezentacji informacji przez komputer oraz interakcji z u\xBFytkownikiem, polegaj\xB1cego na rysowaniu i obs\xB3ugiwaniu widget\xF3w.\citep{plwiki} +@entry{GUST, GUST, Grupa U\xBFytkownik\xF3w System \TeX{}} polski oddzia\xB3 \ac{TUG}-a. @entry{IDE, IDE, Integrated Development Environment} zintegrowane \xB6rodowisko programistyczne --- jest to aplikacja lub zesp\xF3\xB3 aplikacji (\xB6rodowisko) s\xB3u\xBF\xB1cych do tworzenia, modyfikowania, testowania i konserwacji oprogramowania.\citep{plwiki} @entry{NP, NP, Nondeterministic Polynomia} Problem NP (nieokre\xB6lony wielomianowo) to problem decyzyjny, dla kt\xF3rego rozwi\xB1zanie mo\xBFna zweryfikowa\xE6 w czasie wielomianowym. R\xF3wnowa\xBFna definicja m\xF3wi, \xBFe problem jest w klasie NP, je\xB6li mo\xBFe by\xE6 rozwi\xB1zany w wielomianowym czasie na niedeterministycznej maszynie Turinga.\citep{plwiki} @entry{SVG, SVG, Scalable Vector Graphics} uniwersalny format dwuwymiarowej, statycznej i animowanej grafiki wektorowej, nieobwarowany licencjami i patentami, stworzony w 1999 roku przez W3C z my\xB6l\xB1 o zastosowaniu go na stronach WWW. U\xBFywany r\xF3wnie\xBF jako niezale\xBFny od platformy systemowej format grafiki. SVG nale\xBFy do rodziny XML, wi\xEAc mo\xBFe by\xE6 integrowany z innymi j\xEAzykami, jak na przyk\xB3ad XHTML.\citep{plwiki} +@entry{TUG, TUG, \TeX{} User Group} grupy u\xBFytkownik\xF3w systemu \TeX{} \url{http://www.tug.org/}. Opr\xF3cz centralnej grupy mi\xEAdzynarodowej tworzone s\xB1 r\xF3wnie\xBF odzia\xB3y krajowe. Polskim oddzia\xB3em jest \ac{GUST} Modified: trunk/qcell/doc/licenciate_thesis/thesis.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/thesis.tex 2007-01-17 15:48:30 UTC (rev 183) +++ trunk/qcell/doc/licenciate_thesis/thesis.tex 2007-01-17 17:41:32 UTC (rev 184) @@ -189,7 +189,7 @@ \item[gdb] Wieloplatformowy \gls{debugger} w wersji 6.6.\\\url{http://www.gnu.org/software/gdb/} \item[Microsoft Visual Studio .Net 2003] Narz\xEAdzie do edycji i kompilacji program\xF3w w \xB6rodowisku Microsoft Windows. G\xB3\xF3wnie u\xBFyto kompilatora j\xEAzyka C++.\\\url{http://msdn.microsoft.com/vstudio/previous/2003/} \item[Qt] Zestaw bibliotek firmy Trolltech\textsuperscript{\textregistered} do wieloplatformowego tworzenia oprogramowania, w szczeg\xF3lno\xB6ci do tworzenia \ac{GUI} o natywnym, dla danej platformy, wygl\xB1dzie. Biblioteki te zawieraj\xB1 szerok\xB1 gam\xEA klas og\xF3lnego zastosowania, oraz w\xB3asny system kompilacji. U\xBFyto wersji 4.2.\\\url{http://www.trolltech.com/products/qt/} - \item[Vim] Niezwykle rozszerzalny, wieloplatformowy edytor tekstu (i nie tylko) z szerok\xB1 gam\xB1 wtyczek do pracy z niemal\xBFe dowolnym typem plik\xF3w. Stanowi\xB3 na zmian\xEA \ac{IDE}, \gls{debugger} oraz program do sk\xB3adu tekstu. Pisz\xB1cy te s\xB3owa pozwoli sobie w tym miejscu na drobn\xB1 reklam\xEA, gdy\xBF przekonany jest, i\xBF interfejs vim-a, b\xEAd\xB1cy powodem wielu nieprzespanych nocy pocz\xB1tkuj\xB1cych u\xBFytkownik\xF3w, przy odrobinie wprawy i nauki pozwoli\xB3 zaoszcz\xEAdzi\xE6 godziny pracy. U\xBFyto wersji 7.0.\\\url{http://www.vim.org/} + \item[Vim] Niezwykle rozszerzalny, wieloplatformowy edytor tekstu (i nie tylko) z szerok\xB1 gam\xB1 wtyczek do pracy z niemal\xBFe dowolnym typem plik\xF3w. Stanowi\xB3 na zmian\xEA \ac{IDE}, \gls{debugger} oraz program do sk\xB3adu tekstu. U\xBFyto wersji 7.0.\\\url{http://www.vim.org/} \end{description} \subsection{Przy pisaniu pracy} @@ -200,7 +200,8 @@ \item [Evince] Interpreter plik\xF3w pdf w \xB6rodowisku \gls{GNOME} na platformie Linux.\\\url{http://www.gnome.org/projects/evince/} \item [GIMP] Program do tworzenia grafiki rastrowej i przekszta\xB3cania obraz\xF3w do formatu \ac{EPS} wykorzystywanego w \TeX{}ie.\\\url{http://www.gimp.org/} \item [Inkspace] Program do tworzenia grafiki wektorowej, g\xB3\xF3wnie w formacie \ac{SVG}.\\\url{http://www.inkscape.org/} - \item [TeTex] Implementacja j\xEAzyka sk\xB3adania tekstu \TeX{}, wraz z zainstalowanym systemem makr \LaTeXe{}.\\\url{http://www.tug.org/tetex/} + \item [TeTex] Implementacja j\xEAzyka sk\xB3adania tekstu \TeX{} na platformach UNIX-owych, wraz z zainstalowanym systemem makr \LaTeXe{}.\\\url{http://www.tug.org/tetex/} + \item [TexLive 2005] Kompletne \xB6rodowisko \TeX{}-a tworzone przez \ac{TUG}. \end{description} \section{Ograniczenia pakietu} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dhu...@us...> - 2007-01-17 20:18:27
|
Revision: 190 http://svn.sourceforge.net/qcell/?rev=190&view=rev Author: dhubleizh Date: 2007-01-17 12:18:20 -0800 (Wed, 17 Jan 2007) Log Message: ----------- - short compiling log - second reader added - tried to write the purpouse of this thesis Modified Paths: -------------- trunk/qcell/doc/licenciate_thesis/CMakeLists.txt trunk/qcell/doc/licenciate_thesis/thesis.tex trunk/qcell/doc/licenciate_thesis/titlepage.tex Modified: trunk/qcell/doc/licenciate_thesis/CMakeLists.txt =================================================================== --- trunk/qcell/doc/licenciate_thesis/CMakeLists.txt 2007-01-17 18:55:26 UTC (rev 189) +++ trunk/qcell/doc/licenciate_thesis/CMakeLists.txt 2007-01-17 20:18:20 UTC (rev 190) @@ -3,7 +3,7 @@ FIND_PACKAGE(LATEX REQUIRED) FIND_PROGRAM(GLOSSTEX_COMPILER NAMES glosstex) FIND_FILE(GLOSSTEX_IST NAMES glosstex.ist PATHS /usr/share/texmf/tex/latex/glosstex) -SET(LATEX_ARGS --interaction=nonstopmode --translate-file=il2-pl) +SET(LATEX_ARGS --interaction=batchmode --translate-file=il2-pl) ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/thesis.aux ${CMAKE_CURRENT_BINARY_DIR}/titlepage.tex.aux ${CMAKE_CURRENT_BINARY_DIR}/thesis.out ${CMAKE_CURRENT_BINARY_DIR}/thesis.toc ${CMAKE_CURRENT_BINARY_DIR}/thesis.pdf Modified: trunk/qcell/doc/licenciate_thesis/thesis.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/thesis.tex 2007-01-17 18:55:26 UTC (rev 189) +++ trunk/qcell/doc/licenciate_thesis/thesis.tex 2007-01-17 20:18:20 UTC (rev 190) @@ -57,7 +57,9 @@ %Jedziemy z koksem \chapter{Wprowadzenie} \section{Cel i~zakres pracy} -Celem niniejszej pracy jest +Celem niniejszego opracowania jest stworzenie \xB6rodowiska do efektywnego przeprowadzania symulacji jedno-, dwu- oraz tr\xF3jwymiarowych automat\xF3w kom\xF3rkowych. + +W~zakres pracy wchodzi synteza funkcjonalno\xB6ci zapewniaj\xB1cych szerok\xB1 gam\xEA mo\xBFliwo\xB6ci prowadzenia eksperyment\xF3w z~\ac{AK}, oparta o~krytyczn\xB1 analiz\xEA istniej\xB1cych rozwi\xB1za\xF1. Na podstawie uzyskanych wynik\xF3w %napiszemy program - jak to uj\xB1\xE6? \section{Uzasadnienie tematu} \begin{itemize} \item Klasyczne metody obliczeniowe @@ -265,7 +267,7 @@ \subsection{Menu g\xB3owne} \label{sec:} Zawiera podstawowe komendy umo\xBFliwiaj\xB1ce wczytanie konfiguracji eksperymentu, funkcj lokalnej, pliku sasiedztwa oraz konfiguracji inicjalnej eksperymentu. -\includegraphics{1d} +\includegraphics{1d.png} \subsection{Opcje symulacji} \label{sec:} Modified: trunk/qcell/doc/licenciate_thesis/titlepage.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/titlepage.tex 2007-01-17 18:55:26 UTC (rev 189) +++ trunk/qcell/doc/licenciate_thesis/titlepage.tex 2007-01-17 20:18:20 UTC (rev 190) @@ -31,8 +31,8 @@ % Promotorzy % TODO: Wyjustowa\xE6 do prawej \begin{description} - \item[Promotor:] dr~hab.~in\xBF.~Pawe\xB3 Siwak - \item[Recenzent:] + \item[Promotor:] dr~in\xBF.~Pawe\xB3 Siwak + \item[Recenzent:] dr~in\xBF.~Tomasz Bilski \end{description} \end{titlepage} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <le...@us...> - 2007-01-17 20:44:23
|
Revision: 192 http://svn.sourceforge.net/qcell/?rev=192&view=rev Author: lessm Date: 2007-01-17 12:44:17 -0800 (Wed, 17 Jan 2007) Log Message: ----------- - pictures Added Paths: ----------- trunk/qcell/doc/licenciate_thesis/pictures/ trunk/qcell/doc/licenciate_thesis/symbols.png Added: trunk/qcell/doc/licenciate_thesis/symbols.png =================================================================== (Binary files differ) Property changes on: trunk/qcell/doc/licenciate_thesis/symbols.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dhu...@us...> - 2007-01-18 19:57:19
|
Revision: 197 http://svn.sourceforge.net/qcell/?rev=197&view=rev Author: dhubleizh Date: 2007-01-18 11:57:15 -0800 (Thu, 18 Jan 2007) Log Message: ----------- - some typos Modified Paths: -------------- trunk/qcell/doc/licenciate_thesis/thesis.gdf trunk/qcell/doc/licenciate_thesis/thesis.tex Modified: trunk/qcell/doc/licenciate_thesis/thesis.gdf =================================================================== --- trunk/qcell/doc/licenciate_thesis/thesis.gdf 2007-01-18 19:02:57 UTC (rev 196) +++ trunk/qcell/doc/licenciate_thesis/thesis.gdf 2007-01-18 19:57:15 UTC (rev 197) @@ -7,6 +7,6 @@ @entry{Serializacja, Serializacja} w programowaniu komputer\xF3w proces przekszta\xB3cania obiekt\xF3w, tj. instancji okre\x9Clonych klas, do postaci szeregowej, czyli w strumie\xF1 bajt\xF3w, z zachowaniem aktualnego stanu obiektu. Serializowany obiekt mo\xBFe zosta\xE6 utrwalony w pliku dyskowym, przes\xB3any do innego procesu lub innego komputera poprzez sie\xE6. Procesem odwrotnym do serializacji jest deserializacja. Proces ten polega na odczytaniu wcze\x9Cniej zapisanego strumienia danych i odtworzeniu na tej podstawie obiektu klasy wraz z jego stanem bezpo\x9Crednio sprzed serializacji.\citep{plwiki} @entry{SourceForge, SourceForge\textsuperscript{\textregistered}} darmowy system zarz\xB9dzania i kontroli projekt\xF3w Open Source, skomercjalizowany r\xF3wnie\xBF do closed-source license. Projekty udost\xEApniane s\xB9 w wersjach dla r\xF3\xBFnych system\xF3w operacyjnych, najcz\xEA\x9Cciej jednak dla Linuksa i Windowsa.\citep{plwiki}\\\url{http://sourceforge.net} @entry{SVN, SVN, Subversion} (znany r\xF3wnie\xBF jako SVN) jest zaawansowanym systemem kontroli wersji, kt\xF3ry powsta\xB3 w celu zast\xB9pienia CVS. Funkcjonalnie jest z nim zgodny w wi\xEAkszo\x9Cci przypadk\xF3w, z kompatybilno\x9Cci zrezygnowano tylko tam, gdzie by\xB3o to niezb\xEAdne.\citep{plwiki}\\\url{http://subversion.tigris.org/} -@entry{ticket tracking, ticket tracking} (pol. \x9Cledzenie bilet\xF3w) to spos\xF3b zarz\xB9dzania systemem odpowiadania na masowe zapytania wysy\xB3ane dowoln\xB9 drog\xB9, stanowi\xB9cy zasadnicz\xB9 cz\xEA?\xE6 systemu obs\xB3ugi klient\xF3w wielu firm i organizacji. Nazwa ta oznacza r\xF3wnie\xBF oprogramowanie obs\xB3uguj\xB9ce ten system. Ticket tracking jest szczeg\xF3lnie rozpowszechnione przy odpowiadaniu na zapytania kierowane drog\xB9 e-mailow\xB9.\citep{plwiki} +@entry{ticket tracking, ticket tracking} (pol. \x9Cledzenie bilet\xF3w) to spos\xF3b zarz\xB9dzania systemem odpowiadania na masowe zapytania wysy\xB3ane dowoln\xB9 drog\xB9, stanowi\xB9cy zasadnicz\xB9 cz\xEA\x9C\xE6 systemu obs\xB3ugi klient\xF3w wielu firm i organizacji. Nazwa ta oznacza r\xF3wnie\xBF oprogramowanie obs\xB3uguj\xB9ce ten system. Ticket tracking jest szczeg\xF3lnie rozpowszechnione przy odpowiadaniu na zapytania kierowane drog\xB9 e-mailow\xB9.\citep{plwiki} % vim:fencs=cp1250:fenc=cp1250 Modified: trunk/qcell/doc/licenciate_thesis/thesis.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/thesis.tex 2007-01-18 19:02:57 UTC (rev 196) +++ trunk/qcell/doc/licenciate_thesis/thesis.tex 2007-01-18 19:57:15 UTC (rev 197) @@ -32,10 +32,15 @@ \glxheading{glo}{\chapter{\glossaryname}} \glxheading{acr}{\chapter{\listacronymname}} +% Skorowidz +%\usepackage{makeindex} + % Po polsku \usepackage{polski} \usepackage[cp1250]{inputenc} +\makeindex + % Korzystamy z bajer\xF3w pdf'a, jak kolorowe linki \pdfcompresslevel=9 @@ -57,6 +62,7 @@ %Jedziemy z koksem \chapter{Wprowadzenie} \section{Cel i~zakres pracy} +\index{wst\xEAp} Celem niniejszego opracowania jest stworzenie \x9Crodowiska do efektywnego przeprowadzania symulacji jedno-, dwu- oraz tr\xF3jwymiarowych automat\xF3w kom\xF3rkowych. W~zakres pracy wchodzi synteza funkcjonalno\x9Cci zapewniaj\xB9cych szerok\xB9 gam\xEA mo\xBFliwo\x9Cci prowadzenia eksperyment\xF3w z~\ac{AK}, oparta o~krytyczn\xB9 analiz\xEA istniej\xB9cych rozwi\xB9za\xF1. Na podstawie uzyskanych wynik\xF3w %napiszemy program - jak to uj\xB9\xE6? @@ -274,8 +280,7 @@ \subsection{Menu g\xB3\xF3wne} \label{sec:} -Zawiera podstawowe komendy umo\xBFliwiaj\x9Ace wczytanie konfiguracji eksperymentu, funkcji lokalnej, pliku s\xB9siedztwa oraz konfiguracji inicjalnej eksperymentu. -%\includegraphics{1d} +Zawiera podstawowe komendy umo\xBFliwiaj\xB9ce wczytanie konfiguracji eksperymentu, funkcji lokalnej, pliku s\xB9siedztwa oraz konfiguracji inicjalnej eksperymentu. \subsection{Opcje symulacji} \label{sec:} @@ -394,6 +399,8 @@ \printglosstex(acr) \printglosstex(glo) +%\printindex + \end{document} % vim:fencs=cp1250:fenc=cp1250 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dhu...@us...> - 2007-01-22 19:34:48
|
Revision: 231 http://svn.sourceforge.net/qcell/?rev=231&view=rev Author: dhubleizh Date: 2007-01-22 11:34:42 -0800 (Mon, 22 Jan 2007) Log Message: ----------- - Limitations section added - general typos and ortography Modified Paths: -------------- trunk/qcell/doc/licenciate_thesis/acronyms.gdf trunk/qcell/doc/licenciate_thesis/thesis.gdf trunk/qcell/doc/licenciate_thesis/thesis.tex Modified: trunk/qcell/doc/licenciate_thesis/acronyms.gdf =================================================================== --- trunk/qcell/doc/licenciate_thesis/acronyms.gdf 2007-01-22 17:38:02 UTC (rev 230) +++ trunk/qcell/doc/licenciate_thesis/acronyms.gdf 2007-01-22 19:34:42 UTC (rev 231) @@ -8,6 +8,5 @@ @entry{NP, NP, Nondeterministic Polynomia} Problem NP (nieokre\x9Clony wielomianowo) to problem decyzyjny, dla kt\xF3rego rozwi\xB9zanie mo\xBFna zweryfikowa\xE6 w czasie wielomianowym. R\xF3wnowa\xBFna definicja m\xF3wi, \xBFe problem jest w klasie NP, je\xBFeli mo\xBFe by\xE6 rozwi\xB9zany w wielomianowym czasie na niedeterministycznej maszynie Turinga.\citep{plwiki} @entry{SVG, SVG, Scalable Vector Graphics} uniwersalny format dwuwymiarowej, statycznej i animowanej grafiki wektorowej, nieobwarowany licencjami i patentami, stworzony w 1999 roku przez W3C z my\x9Cl\xB9 o zastosowaniu go na stronach WWW. U\xBFywany r\xF3wnie\xBF jako niezale\xBFny od platformy systemowej format grafiki. SVG nale\xBFy do rodziny XML, wi\xEAc mo\xBFe by\xE6 integrowany z innymi j\xEAzykami, jak na przyk\xB3ad XHTML.\citep{plwiki} @entry{TUG, TUG, \TeX{} User Group} grupy u\xBFytkownik\xF3w systemu \TeX{}. Opr\xF3cz centralnej grupy mi\xEAdzynarodowej tworzone s\xB9 r\xF3wnie\xBF odzia\xB3y krajowe. Polskim oddzia\xB3em jest \ac{GUST}\\\url{http://www.tug.org/} -@entry{FL, FL, Funkcja Lokalna} % vim:fencs=cp1250:fenc=cp1250 Modified: trunk/qcell/doc/licenciate_thesis/thesis.gdf =================================================================== --- trunk/qcell/doc/licenciate_thesis/thesis.gdf 2007-01-22 17:38:02 UTC (rev 230) +++ trunk/qcell/doc/licenciate_thesis/thesis.gdf 2007-01-22 19:34:42 UTC (rev 231) @@ -8,5 +8,9 @@ @entry{SourceForge, SourceForge\textsuperscript{\textregistered}} darmowy system zarz\xB9dzania i kontroli projekt\xF3w Open Source, skomercjalizowany r\xF3wnie\xBF do closed-source license. Projekty udost\xEApniane s\xB9 w wersjach dla r\xF3\xBFnych system\xF3w operacyjnych, najcz\xEA\x9Cciej jednak dla Linuksa i Windowsa.\citep{plwiki}\\\url{http://sourceforge.net} @entry{SVN, SVN, Subversion} (znany r\xF3wnie\xBF jako SVN) jest zaawansowanym systemem kontroli wersji, kt\xF3ry powsta\xB3 w celu zast\xB9pienia CVS. Funkcjonalnie jest z nim zgodny w wi\xEAkszo\x9Cci przypadk\xF3w, z kompatybilno\x9Cci zrezygnowano tylko tam, gdzie by\xB3o to niezb\xEAdne.\citep{plwiki}\\\url{http://subversion.tigris.org/} @entry{ticket tracking, ticket tracking} (pol. \x9Cledzenie bilet\xF3w) to spos\xF3b zarz\xB9dzania systemem odpowiadania na masowe zapytania wysy\xB3ane dowoln\xB9 drog\xB9, stanowi\xB9cy zasadnicz\xB9 cz\xEA\x9C\xE6 systemu obs\xB3ugi klient\xF3w wielu firm i organizacji. Nazwa ta oznacza r\xF3wnie\xBF oprogramowanie obs\xB3uguj\xB9ce ten system. Ticket tracking jest szczeg\xF3lnie rozpowszechnione przy odpowiadaniu na zapytania kierowane drog\xB9 e-mailow\xB9.\citep{plwiki} +@entry{N, N, Neighbourhood} Cz\xEA\x9C\xE6 modelu \ac{AK}. Odpowiada za okre\x9Clenie po\xB3o\xBFenia i kolejno\x9Cci argument\xF3w branych pod uwag\xEA przy obliczeniu kolejnej warto\x9Cci kom\xF3rki. +@entry{FL, FL, Funkcja Lokalna} \label{gls:test}Mechanizm obliczeniowy maj\xB9cy na celu wyznaczy\xE6 kolejn\xB9 warto\x9C\xE6 kom\xF3rki na podstawie argument\xF3w wyznaczonych na podstawie s\xB9siedztwa.\glxref*{N}. +@entry{KB, KB, Konfiguracja Bie\xBF\xB9ca} Termin okre\x9Claj\xB9cy wzajemny rozk\xB3ad kom\xF3rek oraz ich warto\x9Cci po ostatniej iteracji. +@entry{KP, KP, Konfiguracja Pocz\xB9tkowa} Termin okre\x9Claj\xB9cy wzajemny rozk\xB3ad kom\xF3rek oraz ich warto\x9Cci inicjuj\xB9cy \ac{AK}, czyli przed pierwsz\xB9 iteracj\xB9. % vim:fencs=cp1250:fenc=cp1250 Modified: trunk/qcell/doc/licenciate_thesis/thesis.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/thesis.tex 2007-01-22 17:38:02 UTC (rev 230) +++ trunk/qcell/doc/licenciate_thesis/thesis.tex 2007-01-22 19:34:42 UTC (rev 231) @@ -23,6 +23,10 @@ % Dzi\xEAki temu odniesienie w~spisie wskazywa\xE6 b\xEAdzie w~odpowiednie miejsce \def\bibpreamble{\addcontentsline{toc}{chapter}{\bibname}} +% Na razie wy\xB3\xB9czam, dop\xF3ki nie wymy\x9Cl\xEA, jak poradzi\xE6 sobie ze stron\xB9 tytu\xB3ow\xB9 +\usepackage{nameref} +\usepackage[colorlinks,hyperindex,plainpages=false]{hyperref} + % Skr\xF3ty i terminy u\xBFywane \usepackage[footnote,refpage]{glosstex} % T\xB3umaczymy na polski glosstexa @@ -44,15 +48,15 @@ % Korzystamy z bajer\xF3w pdf'a, jak kolorowe linki \pdfcompresslevel=9 -% Na razie wy\xB3\xB9czam, dop\xF3ki nie wymy\x9Cl\xEA, jak poradzi\xE6 sobie ze stron\xB9 tytu\xB3ow\xB9 -\usepackage[colorlinks,hyperindex,plainpages=false]{hyperref} - % Wykomentowa\xE6 te linijk\xEA w~ko\xF1cowej pracy. 1.5 odst\xEAp mi\xEAdzy linijkami do korekty! %\linespread{2} \begin{document} \input{titlepage.tex} +\newcommand{\maxint}{2,147,483,647} +\newcommand{\maxchar}{60} +\newcommand{\maxworld}{9,903,520,300,447,984,150,353,281,023} % \xA3adne numerowanie stron wraz z nag\xB3\xF3wkami \pagestyle{headings} @@ -62,10 +66,9 @@ %Jedziemy z koksem \chapter{Wprowadzenie} \section{Cel i~zakres pracy} -\index{wst\xEAp} Celem niniejszego opracowania jest stworzenie \x9Crodowiska do efektywnego przeprowadzania symulacji jedno-, dwu- oraz tr\xF3jwymiarowych automat\xF3w kom\xF3rkowych. -W~zakres pracy wchodzi synteza funkcjonalno\x9Cci zapewniaj\xB9cych szerok\xB9 gam\xEA mo\xBFliwo\x9Cci prowadzenia eksperyment\xF3w z~\ac{AK}, oparta o~krytyczn\xB9 analiz\xEA istniej\xB9cych rozwi\xB9za\xF1. Na podstawie uzyskanych wynik\xF3w %napiszemy program - jak to uj\xB9\xE6? +W~zakres pracy wchodzi synteza funkcjonalno\x9Cci zapewniaj\xB9cych szerok\xB9 gam\xEA mo\xBFliwo\x9Cci prowadzenia eksperyment\xF3w z~\ac{AK}, oparta o~krytyczn\xB9 analiz\xEA istniej\xB9cych rozwi\xB9za\xF1. Na podstawie uzyskanych wynik\xF3w stworzona zostanie implementacja \x9Crodowiska z~wybranymi cechami stworzonej wcze\x9Cniej listy. \section{Uzasadnienie tematu} \begin{itemize} \item Klasyczne metody obliczeniowe @@ -76,12 +79,16 @@ \section{Zadania szczeg\xF3\xB3owe} \subsection{Cezary Krzy\xBFanowski} -\begin{itemize} - \item Wymagania dla symulator\xF3w \ac{AK} - \item Program symulacji modelu \ac{AK} 3d - interfejs i~\x9Crodki doboru modelu - \item Opracowanie i~wdro\xBFenie \x9Crodk\xF3w intensyfikacji eksperyment\xF3w - \item Testy programu -\end{itemize} +\subsubsection{Wymagania dla symulator\xF3w \acs{AK}} +Zadanie polega na stworzeniu listy funkcjonalno\x9Cci, jakie powinien posiada\xE6 pe\xB3nowarto\x9Cciowy pakiet do przeprowadzania eksperyment\xF3w na wielowymiarowych \ac{AK}. Lista zostanie stworzona na podstawie analizy istniej\xB9cych rozwi\xB9za\xF1 oraz zaproponowanych nowych funkcjonalno\x9Cci. +\subsubsection{Program symulacji modelu \ac{AK} 3d - interfejs i~\x9Crodki doboru modelu} +Jest to implementacyjna cz\xEA\x9C\xE6 pracy. Polega na stworzeniu \ac{GUI} pozwalaj\xB9cego w~mo\xBFliwie prosty i~czytelny spos\xF3b operowa\xE6 na \ac{AK}. + +Dodatkowo do zadania nale\xBFy zaimplementowanie metod doboru modelu (\gls{N} i~\gls{FL}), rozumianych jako sposoby wczytywania predefiniowanych element\xF3w modelu oraz wspomaganie przy tworzeniu i~utrwalaniu nowych. +\subsubsection{Opracowanie i~wdro\xBFenie \x9Crodk\xF3w intensyfikacji eksperyment\xF3w} +Przez intensyfikacj\xEA eksperyment\xF3w rozumie si\xEA dodatkowe narz\xEAdzia i~tryby wspomagaj\xB9ce zmiany na bie\xBF\xB9co w~modelu b\xB9d\x9F danych celem uzyskania \xBF\xB9danej \gls{KB}. +\subsubsection{Testy programu} +Przeprowadzone zostan\xB9 dwie fazy test\xF3w. W~pierwszej fazie pakiet przetestowany zostanie pod wzgl\xEAdem poprawno\x9Cci prowadzonych oblicze\xF1 oraz zgodno\x9Cci z~ustalon\xB9 wcze\x9Cniej list\xB9 funkcjonalno\x9Cci. W~drugiej fazie pakiet zostanie poddany testom wydajno\x9Cciowym oraz subiektywnym testom ergonomii u\xBFytkowania. \subsection{Leszek Smentek} \begin{itemize} \item Symulator modelu \ac{AK}; \x9Crodki doboru danych @@ -91,7 +98,7 @@ \chapter{Zakres problematyki} -\section{Cechy idealnego symulatora przetwarza\xF1 kom\xF3rkowych} +\section{Synteza optymalnej funkcjonalno\x9Cci symulatora przetwarza\xF1 kom\xF3rkowych} \begin{itemize} \item Wspieranie w~edycji danych pocz\xB9tkowych \item Ustawienia domy\x9Clne @@ -145,7 +152,7 @@ \end{itemize} \item \gls{Serializacja} i~deserializacja - zachowanie ca\xB3o\x9Cci dokumentu i~p\xF3\x9Fniejsze wznowienie. \end{itemize} -\section{Przegl\xB9d mo\xBFliwo\x9Cci znanych \ac{AK} [tabelka Leszku?]} +\section{Przegl\xB9d mo\xBFliwo\x9Cci znanych automat\xF3w kom\xF3rkowych [tabelka Leszku?]} \begin{itemize} \item Mcell \item DD Lab @@ -215,7 +222,7 @@ \item[gdb] Wieloplatformowy \gls{debugger} w wersji 6.6.\\\url{http://www.gnu.org/software/gdb/} \item[Microsoft Visual Studio .Net 2003] Narz\xEAdzie do edycji i kompilacji program\xF3w w \x9Crodowisku Microsoft Windows. G\xB3\xF3wnie u\xBFyto kompilatora j\xEAzyka C++.\\\url{http://msdn.microsoft.com/vstudio/previous/2003/} \item[Qt] Zestaw bibliotek firmy Trolltech\textsuperscript{\textregistered} do wieloplatformowego tworzenia oprogramowania, w szczeg\xF3lno\x9Cci do tworzenia \ac{GUI} o natywnym, dla danej platformy, wygl\xB9dzie. Biblioteki te zawieraj\xB9 szerok\xB9 gam\xEA klas og\xF3lnego zastosowania, oraz w\xB3asny system kompilacji. U\xBFyto wersji 4.2.\\\url{http://www.trolltech.com/products/qt/} - \item[Vim] Niezwykle rozszerzalny, wieloplatformowy edytor tekstu (i nie tylko) z szerok\x9A gam\x9A wtyczek do pracy z niemal\xBFe dowolnym typem plik\xF3w. Stanowi\xB3 na zmian\xEA \ac{IDE}, \gls{debugger} oraz program do sk\xB3adu tekstu. U\xBFyto wersji 7.0.\\\url{http://www.vim.org/} + \item[Vim] Niezwykle rozszerzalny, wieloplatformowy edytor tekstu (i nie tylko) z szerok\xB9 gam\xB9 wtyczek do pracy z niemal\xBFe dowolnym typem plik\xF3w. Stanowi\xB3 na zmian\xEA \ac{IDE}, \gls{debugger} oraz program do sk\xB3adu tekstu. U\xBFyto wersji 7.0.\\\url{http://www.vim.org/} \end{description} \subsection{Przy pisaniu pracy} @@ -231,15 +238,40 @@ \end{description} \section{Ograniczenia pakietu} +\subsection{Ilo\x9C\xE6 r\xF3wnoleg\xB3ych eksperyment\xF3w} +Zaimplementowany pakiet pozwala przeprowadza\xE6 jeden eksperyment na raz. Nie jest zatem mo\xBFliwe prowadzenie eksperyment\xF3w por\xF3wnawczych, polegaj\xB9cych na obserwowaniu r\xF3wnoleg\xB3ego przetwarzania dw\xF3ch lub wi\xEAcej \gls{KB}. +\subsection{Wielowymiarowe przestrzenie} +Pakiet pozwala na obserwowanie przetwarzania jedno-, dwu- i~tr\xF3jwymiarowych \ac{AK}. Implementacja wi\xEAcej ni\xBF tr\xF3jwymiarowych \ac{AK} jest osi\xB9galna, jednak\xBFe efektywna wizualizacja przestrzeni wielowymiarowych pozostaje kwesti\xB9 sporn\xB9. +\subsection{Ograniczenia s\xB9siedztwa} +Implementacja silnika przetwarzaj\xB9cego pozwala na s\xB9siedztwo sk\xB3adaj\xB9ce si\xEA z~maksymalnie \maxint{} s\xB9siad\xF3w, oddalonych od punktu centralnego s\xB9siedztwa o~maksymalnie \maxint{}. +Ograniczenia formalne znacznie przekraczaj\xB9 mo\xBFliwo\x9Cci wizualizacyjne pakietu. W~celu komfortowego prowadzenia eksperymentu wymiary s\xB9siedztwa powinny by\xE6 znacznie mniejsze. Szczeg\xF3\xB3owe testy wydajno\x9Cciowe s\xB9siedztwa znajduj\xB9 si\xEA w~rozdziale \ref{sec:wyd}. +\subsection{Ograniczenia funkcji lokalnej} +Teoretyczne mo\xBFliwo\x9Cci silnika licz\xB9cego pozwalaj\xB9 na przechowywanie funkcji sk\xB3adaj\xB9cej si\xEA z~\maxint{} argument\xF3w, jednak\xBFe spos\xF3b wczytywania funkcji z~pliku nak\xB3ada ograniczenia wynikaj\xB9ce z~liczby znak\xF3w czytelnych dla u\xBFytkownika ko\xF1cowego, jakie da si\xEA zapisa\xE6 w~pliku. W~praktyce ograniczenia te wynosz\xB9 odpowiednio: + +\begin{description} + \item[Rozmiar alfabetu wej\x9Cciowego] \maxchar + \item[Rozmiar alfabetu wyj\x9Cciowego] \maxchar + \item[Liczba argument\xF3w funkcji] \maxint +\end{description} + +W~praktyce rozmiar \gls{FL} ograniczony jest znacznie bardziej z~uwagi na sko\xF1czone zasoby obliczeniowe. Testy optymalnych rozmiar\xF3w funkcji znajduj\xB9 si\xEA w~rozdziale \ref{sec:wyd} +\subsection{Ograniczenia konfiguracji pocz\xB9tkowej} +Silnik aplikacji pozwala prowadzi\xE6 obliczenia na czterowymiarowych konfiguracjach kom\xF3rek o~warto\x9Cciach z~przedzia\xB3u 0 - \maxint{}, jednak\xBFe forma plik\xF3w wej\x9Cciowych nak\xB3ada ograniczenia wynikaj\xB9ce z~liczby znak\xF3w czytelnych dla u\xBFytkownika ko\xF1cowego, jakie da si\xEA zapisa\xE6 w~pliku. W~praktyce ograniczenia te wynosz\xB9 odpowiednio: +\begin{description} + \item[Liczba wymiar\xF3w] 3 + \item[Maksymalny rozmiar wymiaru] \maxint + \item[Maksymalna liczba kom\xF3rek] \maxworld +\end{description} + +Rozmiar \gls{KP}, a~co za tym idzie \gls{KB}, jest kluczowym elementem wp\xB3ywaj\xB9cym na z\xB3o\xBFono\x9C\xE6 obliczeniow\xB9 pojedynczej iteracji, a~co za tym idzie p\xB3ynno\x9Cci eksperymentu. Szczeg\xF3\xB3owe testy dotycz\xB9ce rozmiaru \gls{KP} pozwalaj\xB9cego na komfortow\xB9 prac\xEA znajduj\xB9 si\xEA w~rozdziale \ref{sec:wyd} \chapter{Testy} \section{Danych} \subsection{Tworzenie} \subsection{Modyfikacja} \subsection{Utrwalanie} -\section{Usability} -Na to chyba nie ma dobrego t\xB3umaczenia :/ +\section{Ergonomia u\xBFytkowania} Chodzi tutaj o~pobawienie si\xEA obracaniem, rzutowaniem, zoomowaniem, interpretowaniem i~innymi ficzerami wp\xB3ywaj\xB9cymi na realn\xB9 u\xBFyteczno\x9C\xE6 pakietu, a~nie daj\xB9cymi si\xEA zmierzy\xE6, jak wydajno\x9C\xE6, czy warunki brzegowe. @@ -251,6 +283,7 @@ \subsection{Warunki brzegowe} W~rozumieniu wyszukiwania mniej 'typowych' warto\x9Cci r\xF3\xBFnych p\xF3l, sprawdzania dziele\xF1 przez zero, poprawno\x9Cci 'przekr\xEAcania licznik\xF3w', jak np. warunki Torusowe etc\ldots \section{Wydajno\x9Cciowe} +\label{sec:wyd} W~zale\xBFno\x9Cci od pozosta\xB3ego czasu, przeprowadz\xEA i~udokumentuj\xEA tutaj jaki\x9C 'typowy' eksperyment (co to znaczy typowy?) 1-3d, jak si\xEA uda to na dw\xF3ch maszynach i~mo\xBFe na Linux + Windows. Spr\xF3buj\xEA ekstrapolowa\xE6 te wyniki i~oszacowa\xE6 minimalne wymagania. @@ -259,8 +292,6 @@ \subsection{Automaty tr\xF3jwymiarowe} \chapter{Instrukcja obs\xB3ugi pakietu} -IMHO nie ma sensu tworzenia rozdzia\xB3u ,,Pokaz mo\xBFliwo\x9Cci pakietu'', gdy\xBF 'mo\xBFliwo\x9Cci programu' zostan\xB9 zademonstrowane (zrzutami ekranu) w~tym rozdziale - ka\xBFda funkcjonalno\x9C\xE6 z~osobna. - \section{Typowy przebieg eksperymentu [Quickstart? Jak to nazwa\xE6?]} \begin{figure}[h] This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <le...@us...> - 2007-01-28 22:01:55
|
Revision: 269 http://svn.sourceforge.net/qcell/?rev=269&view=rev Author: lessm Date: 2007-01-28 14:01:47 -0800 (Sun, 28 Jan 2007) Log Message: ----------- Modified Paths: -------------- trunk/qcell/doc/licenciate_thesis/1d.png trunk/qcell/doc/licenciate_thesis/3d.png trunk/qcell/doc/licenciate_thesis/symbols.png trunk/qcell/doc/licenciate_thesis/thesis.tex Added Paths: ----------- trunk/qcell/doc/licenciate_thesis/2dg.png trunk/qcell/doc/licenciate_thesis/2dt.png trunk/qcell/doc/licenciate_thesis/cellab.png trunk/qcell/doc/licenciate_thesis/ddlab.png trunk/qcell/doc/licenciate_thesis/function.png trunk/qcell/doc/licenciate_thesis/life32.png trunk/qcell/doc/licenciate_thesis/mcell.png trunk/qcell/doc/licenciate_thesis/neigborhood.png trunk/qcell/doc/licenciate_thesis/winlife.png Modified: trunk/qcell/doc/licenciate_thesis/1d.png =================================================================== (Binary files differ) Added: trunk/qcell/doc/licenciate_thesis/2dg.png =================================================================== (Binary files differ) Property changes on: trunk/qcell/doc/licenciate_thesis/2dg.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/qcell/doc/licenciate_thesis/2dt.png =================================================================== (Binary files differ) Property changes on: trunk/qcell/doc/licenciate_thesis/2dt.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/qcell/doc/licenciate_thesis/3d.png =================================================================== (Binary files differ) Added: trunk/qcell/doc/licenciate_thesis/cellab.png =================================================================== (Binary files differ) Property changes on: trunk/qcell/doc/licenciate_thesis/cellab.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/qcell/doc/licenciate_thesis/ddlab.png =================================================================== (Binary files differ) Property changes on: trunk/qcell/doc/licenciate_thesis/ddlab.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/qcell/doc/licenciate_thesis/function.png =================================================================== (Binary files differ) Property changes on: trunk/qcell/doc/licenciate_thesis/function.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/qcell/doc/licenciate_thesis/life32.png =================================================================== (Binary files differ) Property changes on: trunk/qcell/doc/licenciate_thesis/life32.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/qcell/doc/licenciate_thesis/mcell.png =================================================================== (Binary files differ) Property changes on: trunk/qcell/doc/licenciate_thesis/mcell.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/qcell/doc/licenciate_thesis/neigborhood.png =================================================================== (Binary files differ) Property changes on: trunk/qcell/doc/licenciate_thesis/neigborhood.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/qcell/doc/licenciate_thesis/symbols.png =================================================================== (Binary files differ) Modified: trunk/qcell/doc/licenciate_thesis/thesis.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/thesis.tex 2007-01-28 20:43:22 UTC (rev 268) +++ trunk/qcell/doc/licenciate_thesis/thesis.tex 2007-01-28 22:01:47 UTC (rev 269) @@ -281,15 +281,105 @@ \end{itemize} \item \gls{Serializacja} i~deserializacja - zachowanie ca\xB3o\x9Cci dokumentu i~p\xF3\x9Fniejsze wznowienie. \end{itemize} -\section{Przegl\xB9d mo\xBFliwo\x9Cci znanych automat\xF3w kom\xF3rkowych [tabelka Leszku?]} +\section{Przegl\xB9d mo\xBFliwo\x9Cci znanych automat\xF3w kom\xF3rkowych} +\subsection {MCell} + +\begin{figure}[h] +\centering +\includegraphics[width=10cm]{mcell.png} +\caption{MCell} +\label{fig:} +\end{figure} + +MCell stworzonym zosta\xB3 przez Mirka W\xF3jtowicza. Zas\xB3uguje na uwag\xEA ze wzgl\xEAdu na bogaty zestaw mo\xBFliwo\x9Cci funkcjonalnych w jakie zosta\xB3 wyposa\xBFony. + \begin{itemize} - \item Mcell - \item DD Lab +\item obs\xB3uga 1 i 2 wymiarowych automat\xF3w kom\xF3rkowych +\item wsparcie 14 rodzin AK +\item 256 elementowy alfabet +\item bogaty zestaw gotowych regu\xB3 i konfiguracji pocz\xB9tkowych +\item wsparcie dla kilku r\xF3\xBFnych rodzaj\xF3w s\xB9siedztwa +\item zestaw narz\xEAdzi do analizy symulacji +\item wygodny i prosty w obs\xB3udze interface u\xBFytkownika +\item mo\xBFliwo\x9C\xE6 wsp\xF3\xB3pracy z innymi pakietami \end{itemize} +\subsection {DDLab} +\begin{figure}[h] +\centering +\includegraphics[width=10cm]{ddlab.png} +\caption{DDLab} +\label{fig:} +\end{figure} + +DDLab jest interaktywnym programem graficznym przewidzianym do badania sko\xF1czonych sieci binarnych. Posiada dwa alternatywne sposoby postrzegania dynamiki sieci. Dynamik\xEA lokaln\xB9 obrazuj\xB9c\xB9 prace sieci wraz z nast\xEApuj\xB9cymi chwilami czasowymi, oraz dynamik\xEA globaln\xB9 obrazuj\xB9c\xB9 prace sieci wstecz. +Mo\xBFliwo\x9C\xE6 obrazowania dynamiki globalnej wyr\xF3\xBFnia ten produkt od innych symulator\xF3w sieci automat\xF3w kom\xF3rkowych. + +\subsection{Life32} +\begin{figure}[h] +\centering +\includegraphics[width=10cm]{life32.png} +\caption{Life32} +\label{fig:} +\end{figure} + +Uznawany za jeden z najlepszych symulator\xF3w opartych o regu\xB3y "Game of Life". Do g\xB3\xF3wnych zalet tej aplikacji nale\xBFy maksymalny rozmiar przetwarzanej konfiguracji kt\xF3ry ograniczony jest do planszy o rozmiarach 1000000 x 1000000, oraz du\xBFa pr\xEAdko\x9C\xE6 przetwarzania. Posiada mo\xBFliwo\x9C\xE6 wsp\xF3\xB3pracy z innymi popularnymi pakietami. + +\subsection{CelLab} +\begin{figure}[h] +\centering +\includegraphics[width=10cm]{cellab.png} +\caption{CelLab} +\label{fig:} +\end{figure} + +Jeden z najpe\xB3niejszych dost\xEApnych AK. Daje mo\xBFliwo\x9C\xE6 definiowania w\xB3asnych funkcji lokalnych poprzez stworzenie kr\xF3tkiego programu w j\xEAzykach: Java, C, BASIC, lub Pascal. + +\subsection{WinLife} +\begin{figure}[h] +\centering +\includegraphics[width=10cm]{winlife.png} +\caption{WinLife} +\label{fig:} +\end{figure} + +Kolejny automat kom\xF3rkowy pracuj\xB9cy z modelem "Game of Life" + +\subsection {Por\xF3wnanie dost\xEApnych AK} +\begin{table}[!hpt] +\centering +\begin{tabular}{c|c|c|c|c|c|c|c|c} +AK & DG & DF & W & TG & TT & OL & WD\\ +\hline +MCell & Nie & Tak & Tak & Tak & Nie & Nie & Nie\\ +\hline +DDLab & Tak & Tak & Nie & Tak & Nie & Nie & Nie\\ +\hline +Life32 & Nie & Nie & Tak & Tak & Nie & Nie & Nie\\ +\hline +CelLab & Nie & Tak & Tak & Tak & Nie & Nie & Nie\\ +\hline +WinLife & Nie & Nie & Nie & Tak & Nie & Nie & Nie\\ + +\end{tabular} +\caption{Por\xF3wnanie dost\xEApnych AK} +\label{tab:} +\end{table} + +\begin{itemize} +\item DG - dynamika globalna +\item DF - definiowanie dowolnych funkcji lokalnych +\item W - wymiana danych pomi\xEAdzy pakietami +\item TG - graficzna reprezentacja symulacji +\item TT - tekstowa reprezentacja danych +\item OL - obserwator lokalny +\item WD - wspomaganie doboru modelu +\end{itemize} + + \chapter{Za\xB3o\xBFenia szczeg\xF3\xB3owe} \section{Mo\xBFliwo\x9Cci funkcjonalne pakietu} - \subsection {Cechy podstawowe} + \subsection {Podstawowe funkcje programu} \subsubsection {Wczytywanie danych z pliku} \begin{itemize} \item S\xB9siedztwo ? plik N @@ -535,137 +625,95 @@ \subsection{Automaty tr\xF3jwymiarowe} \chapter{Instrukcja obs\xB3ugi pakietu} -\section{Typowy przebieg eksperymentu [Quickstart? Jak to nazwa\xE6?]} +\section{Typowy przebieg eksperymentu} -\begin{figure}[h] -\centering -\includegraphics[width=10cm]{mainwindow.png} -\caption{Widok g\xB3\xF3wny} -\label{fig:} -\end{figure} +Po uruchomieniu pakietu jedyn\xB9 dost\xEApn\xB9 zak\xB3adkom jest konfiguracja symboli, w kt\xF3rej widoczne s\xB9 minimalne poprawne ustawienia symboli. W tabeli symboli dost\xEApne s\xB9 nast\xEApuj\xB9ce kolumny: -\begin{enumerate} - \item Menu g\xB3\xF3wne - \item Opcje symulacji - \item Zak\xB3adki tryb\xF3w wizualizacji - \item Panel narz\xEAdzi - \item Widok g\xB3\xF3wny -\end{enumerate} +\begin{itemize} +\item warto\x9C\xE6 - przedstawia liczbow\xB9 warto\x9C\xE6 symbolu +\item symbol - u\xBFywany w tekstowej interpretacji symulacji +\item kolor - aktualny kolor stosowany w wizualizacji graficznej +\item model - stosowany w widoku 3D +\item flaga ukrywania - zaznaczenie oznacza i\xBF kom\xF3rka o danej warto\x9Cci nie b\xEAdzie widoczna w trybie 3D +\end{itemize} -\subsection{Menu g\xB3\xF3wne} -\label{sec:} -Zawiera podstawowe komendy umo\xBFliwiaj\xB9ce wczytanie konfiguracji eksperymentu, funkcji lokalnej, pliku s\xB9siedztwa oraz konfiguracji inicjalnej eksperymentu. +Minimaln\xB9 dopuszczalna ilo\x9C\xE6 symboli to 2 -\subsection{Opcje symulacji} -\label{sec:} -Umo\xBFliwia sterowanie symulacja, prace krokow\xB9 oraz ci\xB9g\xB3\xB9. +Aby rozpocz\xB9\xE6 symulacje nale\xBFy za\xB3adowa\xE6 pliki zawieraj\xB9ce funkcje lokaln\xB9, s\xB9siedztwo oraz konfiguracje inicjaln\xB9. -\subsection{Zak\xB3adki tryb\xF3w wizualizacji } -\label{sec:} -Zak\xB3adki przypisane s\xB9 do poszczeg\xF3lnych tryb\xF3w wizualizacji. Umo\xBFliwiaj\xB9 prze\xB3\xB9czanie pomi\xEAdzy trybami 1D, 2D, 3D. Nie wszystkie wizualizacje dost\xEApne s\xB9 dla wszystkich konfiguracji. +Po za\xB3adowaniu wszystkich niezb\xEAdnych element\xF3w dost\xEApne jest menu symulacji, a tak\xBFe zak\xB3adki dost\xEApne dla danej symulacji. -\subsection{Panel narz\xEAdzi} -\label{sec:} -Panel ten zawiera narz\xEAdzia przypisane do poszczeg\xF3lnych widok\xF3w eksperyment oraz podstawowe narz\xEAdzia edycji i trybu obserwatora. W trybie obserwatora lokalnego narz\xEAdzia edycji s\xB9 niedost\xEApne. +\subsection {Zak\xB3adki wizualizacji} -\subsection{Widok g\xB3\xF3wny} -\label{sec:} - -\section{Konfiguracja Symboli} -\label{sec:} -W celu dokonania konfiguracji symboli przechodzimy do zak\xB3adki "Konfiguracja Symboli" przedstawiaj\xB9cej aktualne ustawienia. Widoczna tabela zawiera: - -\section{Tabela funkcji lokalnej} -Przedstawia stablicowane warto\x9Cci funkcji. Wiersze przedstawiaj\xB9 warto\x9Cci sumowane, kolumny warto\x9Cci argument\xF3w nie poddawanych sumowaniu. Zmian w tabeli dokonujemy poprzez dwukrotne klikni\xEAci na kom\xF3rce tabeli i wpisaniu warto\x9Cci numerycznej. Wprowadzenie znaku "?" lub warto\x9Cci ujemnej oznacza ze funkcja jest nieokre\x9Clona dla danej warto\x9Cci. - +\subsubsection {Widok 1D} \begin{figure}[h] \centering -\includegraphics[width=10cm]{symbols.png} -\caption{Widok g\xB3\xF3wny} -\label{fig:} +\includegraphics[width=10cm]{1d.png} +\caption{Widok 1D} \end{figure} -\begin{enumerate} - \item dodawanie symboli - \item usuwanie ostatniego symbolu z tabeli(minimalna liczba symboli 2) - \item warto\x9C\xE6 - \item symbol tekstowy przypisany do warto\x9Cci - \item kolor w trybie graficznym - \item model w trybie 3D - \item flaga ukrycia(zaznaczenie oznacza ukryci warto\x9Cci w trybie 3D); -\end{enumerate} +Narz\xEAdzia trybu 1D: +\begin{itemize} +\item kolory - tryb widoku uwzgl\xEAdniaj\xB9cy kolory dla symboli +\item warto\x9Cci - tryb domy\x9Clny +\item symbole - warto\x9Cci kom\xF3rek zamieniane s\xB9 na symbole graficzne +\item wyczy\x9C\xE6 - powoduje usuni\xEAcie wszystkich zachowanych chwil czasowych z diagramu +\end{itemize} -Zmiany dokonujemy klikaj\xB9c 2xLPM - -\section{Widok 1D} - +\subsubsection {Tekstowy widok 2D} \begin{figure}[h] \centering -\includegraphics[width=10cm]{1d.png} -\caption{Widok 1D} -\label{fig:} +\includegraphics[width=10cm]{2dt.png} +\caption{Tekstowy widok 2D} \end{figure} -\begin{enumerate} - \item aktualnie przetwarzane dane - \item poprzednie kroki symulacji - \item narz\xEAdzia widoku 1D - \begin{itemize} - \item kolor - wy\x9Cwietlanie kolor\xF3w symboli - \item warto\x9Cci - \item zamiana warto\x9Cci na symbole tekstowe - \item wyczy\x9C\xE6 - usuwanie poprzednich krok\xF3w symulacji +Narz\xEAdzia trybu 2D: + + \begin{itemize} +\item kolory - tryb widoku uwzgl\xEAdniaj\xB9cy kolory dla symboli +\item warto\x9Cci - tryb domy\x9Clny +\item symbole - warto\x9Cci kom\xF3rek zamieniane s\xB9 na symbole graficzne +\item p\xB3aszczyzna z \end{itemize} -\end{enumerate} -\section{Widok 2D} +\subsubsection {Graficzny widok 2D} \begin{figure}[h] \centering -\includegraphics[width=10cm]{2d.png} -\caption{Widok 2D} -\label{fig:} +\includegraphics[width=10cm]{2dg.png} +\caption{Graficzny widok 2D} \end{figure} -\begin{enumerate} - \item aktualna konfiguracja - \item narz\xEAdzia widoku 2D - \begin{itemize} - \item kolor - wy\x9Cwietlanie kolor\xF3w symboli - \item warto\x9Cci - \item zamiana warto\x9Cci na symbole tekstowe - \item p\xB3aszczyzna Z - Wyst\xEApuje wy\xB3\xB9cznie dla konfiguracja tr\xF3jwymiarowych. - \end{itemize} -\end{enumerate} - -\section{Widok 3D} - +\subsubsection {Widok 3D} \begin{figure}[h] \centering \includegraphics[width=10cm]{3d.png} \caption{Widok 3D} -\label{fig:} \end{figure} -\begin{enumerate} - \item aktualna konfiguracja - \item narz\xEAdzia widoku 3D - \begin{itemize} - \item perspektywa - tryb perspektywy - \item ortho - tryb perspektywy - \item w\xB3\xB9czanie/wy\xB3\xB9czanie trybu zaznaczania - \item przekr\xF3j p\xB3aszczyzn\xB9 XY - \item przekr\xF3j p\xB3aszczyzn\xB9 ZY - \item przekr\xF3j p\xB3aszczyzn\xB9 XZ - \item warto\x9C\xE6 przesuni\xEAcia w p\xB3aszczy\x9Fnie - \end{itemize} -\end{enumerate} +Narz\xEAdzia trybu 3D: \begin{itemize} - \item przesuni\xEAcie \x9Cwiata PPM - \item obr\xF3t \x9Cwiata PPM+LPM - \item oddalanie/przybli\xBFanie k\xF3\xB3ko myszy +\item Perspektywa - tryb perspektywy +\item Ortho - tryb perspektywy +\item przekr\xF3j - zbi\xF3r narz\xEAdzi umo\xBFliwiaj\xB9cych wykonywania przekroj\xF3w w przestrzeni 3D \end{itemize} +\subsubsection {Zak\xB3adka funkcja} +\begin{figure}[h] +\centering +\includegraphics[width=10cm]{function.png} +\caption{Zak\xB3adka funkcja} +\end{figure} + +Widok przedstawia tabele funkcji lokalnej. Kolumny przedstawiaj + +\subsubsection {Zak\xB3adka s\xB9siedztwo} +\begin{figure}[h] +\centering +\includegraphics[width=10cm]{neigborhood.png} +\caption{Zak\xB3adka s\xB9siedztwo} +\end{figure} + % Bibliografia w zewn\xEAtrznym pliku w/g standardu natbib \bibliographystyle{plain} \bibliography{thesis} Added: trunk/qcell/doc/licenciate_thesis/winlife.png =================================================================== (Binary files differ) Property changes on: trunk/qcell/doc/licenciate_thesis/winlife.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dhu...@us...> - 2007-01-28 23:11:26
|
Revision: 271 http://svn.sourceforge.net/qcell/?rev=271&view=rev Author: dhubleizh Date: 2007-01-28 15:11:22 -0800 (Sun, 28 Jan 2007) Log Message: ----------- - dedication and thanx Modified Paths: -------------- trunk/qcell/doc/licenciate_thesis/thesis.tex trunk/qcell/doc/licenciate_thesis/titlepage.tex Modified: trunk/qcell/doc/licenciate_thesis/thesis.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/thesis.tex 2007-01-28 22:06:14 UTC (rev 270) +++ trunk/qcell/doc/licenciate_thesis/thesis.tex 2007-01-28 23:11:22 UTC (rev 271) @@ -732,6 +732,20 @@ \addcontentsline{toc}{chapter}{Spis rysunk\xF3w} %\printindex +\chapter*{Podzi\xEAkowania} +\section*{Cezary Krzy\xBFanowski} +\small +Jest wiele os\xF3b, kt\xF3re wp\xB3yn\xEA\xB3y na to kim jestem dzi\x9C i~co w~zwi\xB9zku z~tym stworzy\xB3em. Stara\xB3em si\xEA umieszcza\xE6 podzi\xEAkowania w~kolejno\x9Cci w~miar\xEA chronologicznej. + +Przede wszystkim chcia\xB3bym podzi\xEAkowa\xE6 mojej mamie~--- Ewie Krzy\xBFanowskiej, kt\xF3ra mimo braku ojca konsekwentnie i~nieugi\xEAcie popycha\xB3a mnie na ka\xBFdym szczeblu edukacji do dzia\xB3ania. + +Panu prof.~Wies\xB3awowi Sieka\xF1skiemu, mojemu nauczycielowi informatyki z~liceum, chcia\xB3bym podzi\xEAkowa\xE6 za ocalenie moich 4 lata liceum przed zmarnowaniem po tym, jak nie dosta\xB3em si\xEA do tego wymarzonego. Pani prof.~Renacie Ma\xB3eckiej za fal\xEA terroru, dzi\xEAki kt\xF3rej nie zosta\xB3em analfabet\xB9. + +Dr~Krzysztofowi Zwierzy\xF1skiemu za ponowne obudzenie mojej pasji programistycznej. Andrzejowi Dopierale, developerowi PLD i~serdecznemu przyjacielowi, kt\xF3ry zasia\xB3 u~mnie ziarno Wolnego Oprogramowania i~Linuxa w~najodpowiedniejszej chwili~--- to on skierowa\xB3 mnie na t\xEA drog\xEA informatyki, kt\xF3r\xB9 tak pokocha\xB3em. Dr~Tomaszowi Bilskiemu (w~chwili pisania tych s\xB3\xF3w koreferentem tej pracy mia\xB3 by\xE6 prof.~Janusz Stok\xB3osa) za natchnienie do przestudiowania materia\xB3\xF3w CISCO. Mgr~Tomaszowi Kokowskiemu za zrzucenie mnie z~piedesta\xB3u omnipotencji podczas praktyk w~Centrum Zarz\xB9dzania Sieci\xB9 Komputerow\xB9 oraz prof.~Czes\xB3awowi J\xEAdrzejkowi za zdmuchni\xEAcie nowych pok\xB3ad\xF3w omnipotencji zbudowanych od momentu praktyk, ale przede wszystkim za wsparcie - zawsze, wsz\xEAdzie i~w~ka\xBFdej sprawie. + +Wreszcie Justynie Zi\xF3\xB3kowskiej, kt\xF3ra nadzorowa\xB3a, \xBFeby ten tekst potwierdza\xB3, i\xBF zda\xB3em z~wynikiem pozytywnym matur\xEA z~j\xEAzyka polskiego. + +\section*{Leszek Smentek} \end{document} % vim:fencs=cp1250:fenc=cp1250 Modified: trunk/qcell/doc/licenciate_thesis/titlepage.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/titlepage.tex 2007-01-28 22:06:14 UTC (rev 270) +++ trunk/qcell/doc/licenciate_thesis/titlepage.tex 2007-01-28 23:11:22 UTC (rev 271) @@ -36,3 +36,15 @@ \end{description} \end{titlepage} +\pagestyle{empty} +\vspace*{\fill} +{\hfill\sffamily\itshape ...} +\begin{flushright} +Cezary Krzy\xBFanowski:\\ +\emph{Mamie\ldots po prostu} + +Leszek Smentek: +\end{flushright} +\rmfamily +\normalfont + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dhu...@us...> - 2007-02-03 19:40:53
|
Revision: 281 http://svn.sourceforge.net/qcell/?rev=281&view=rev Author: dhubleizh Date: 2007-02-03 11:40:52 -0800 (Sat, 03 Feb 2007) Log Message: ----------- - added Renderer Modified Paths: -------------- trunk/qcell/doc/licenciate_thesis/Architecture.dia trunk/qcell/doc/licenciate_thesis/Architecture.png Modified: trunk/qcell/doc/licenciate_thesis/Architecture.dia =================================================================== (Binary files differ) Modified: trunk/qcell/doc/licenciate_thesis/Architecture.png =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dhu...@us...> - 2007-02-03 19:48:05
|
Revision: 282 http://svn.sourceforge.net/qcell/?rev=282&view=rev Author: dhubleizh Date: 2007-02-03 11:48:01 -0800 (Sat, 03 Feb 2007) Log Message: ----------- - new pictures describing architecture - added double checked implementation details Modified Paths: -------------- trunk/qcell/doc/licenciate_thesis/thesis.gdf trunk/qcell/doc/licenciate_thesis/thesis.tex Added Paths: ----------- trunk/qcell/doc/licenciate_thesis/Calculator.png trunk/qcell/doc/licenciate_thesis/GenericParser.png trunk/qcell/doc/licenciate_thesis/MainWindowArch.png trunk/qcell/doc/licenciate_thesis/Renderer.png Added: trunk/qcell/doc/licenciate_thesis/Calculator.png =================================================================== (Binary files differ) Property changes on: trunk/qcell/doc/licenciate_thesis/Calculator.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/qcell/doc/licenciate_thesis/GenericParser.png =================================================================== (Binary files differ) Property changes on: trunk/qcell/doc/licenciate_thesis/GenericParser.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/qcell/doc/licenciate_thesis/MainWindowArch.png =================================================================== (Binary files differ) Property changes on: trunk/qcell/doc/licenciate_thesis/MainWindowArch.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/qcell/doc/licenciate_thesis/Renderer.png =================================================================== (Binary files differ) Property changes on: trunk/qcell/doc/licenciate_thesis/Renderer.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/qcell/doc/licenciate_thesis/thesis.gdf =================================================================== --- trunk/qcell/doc/licenciate_thesis/thesis.gdf 2007-02-03 19:40:52 UTC (rev 281) +++ trunk/qcell/doc/licenciate_thesis/thesis.gdf 2007-02-03 19:48:01 UTC (rev 282) @@ -1,3 +1,4 @@ +@entry{antyaliasing, antyaliasing} (ang. anti-aliasing) Zesp\xF3\xB3 technik w informatyce s\xB3u\xBF\xB9cych zmniejszeniu, b\xB9d\x9F ca\xB3kowitej eliminacji aliasingu, b\xB9d\x9F artefakt\xF3w powstaj\xB9cych przy zmniejszaniu rozdzielczo\x9Cci (b\xB9d\x9F cz\xEAstotliwo\x9Cci) obrazu lub innego sygna\xB3u.\\W grafice komputerowej, rezultatem antyaliasingu jest wyg\xB3adzenie kraw\xEAdzi obiekt\xF3w wy\x9Cwietlanych na ekranie komputera.\citep{plwiki} @entry{API, API, Application Programming Interface} interfejs programowania aplikacji, interfejs programu u\xBFytkownika --- specyfikacja procedur, funkcji lub interfejs\xF3w umo\xBFliwiaj\xB9cych komunikacj\xEA z bibliotek\xB9, systemem operacyjnym lub innym systemem zewn\xEAtrznym w stosunku do aplikacji korzystaj\xB9cej z API.\citep{plwiki} @entry{bugtracker, bugtracker} to system \x9Cledzenia zg\xB3aszanych b\xB3\xEAd\xF3w w aplikacjach. Jest to specyficzny typ systemu \x9Cledzenia bilet\xF3w \glxref{ticket tracking} @entry{debugger, debugger} (pol. odpluskwiacz, polskie t\xB3umaczenie u\xBFywane tak\xBFe w slangu polskich programist\xF3w) --- program komputerowy s\xB3u\xBF\xB9cy do analizy kodu \x9Fr\xF3d\xB3owego lub kodu maszynowego w celu znalezienia w nim b\xB3\xEAd\xF3w programistycznych (bug\xF3w). Proces naprawy kodu za pomoc\xB9 debugera okre\x9Cla si\xEA mianem debugowania, lub bardziej po polsku --- uruchamiania.\citep{plwiki} @@ -2,9 +3,10 @@ @entry{doxygen, doxygen} to system s\xB3u\xBF\xB9cy do dokumentowania kodu \x9Fr\xF3d\xB3owego. Wspiera wiele j\xEAzyk\xF3w programowania, w tym C/C++. Na podstawie specjalnych znacznik\xF3w wydobytych z plik\xF3w \x9Fr\xF3d\xB3owych aplikacji, potrafi stworzy\xE6 dokumentacj\xEA w wielu formatach, w tym html i \LaTeX{}.\\\url{http://www.stack.nl/~dimitri/doxygen/} +@entry{erendering, rendering} Proces w grafice komputerowej polegaj\xB9cy na przekszta\xB3ceniu zbioru instrukcji definiuj\xB9cej scen\xEA w obraz ko\xF1cowy , wykorzystuj\xB9c w tym celu zasoby karty graficznej. @entry{GNOME, GNOME, GNU Network Object Model Environment} jest graficznym \x9Crodowiskiem u\xBFytkownika opartym na systemie X Window System oraz widgetach GTK+ i GDK. Dzia\xB3a na wi\xEAkszo\x9Cci system\xF3w typu Unix.\citep{plwiki}\\\url{http://www.gnome.org/} -@entry{OpenGL, OpenGL\textsuperscript{\textregistered}, Open Graphics Library} specyfikacja uniwersalnego \glxref{API} do generowania grafiki. Zestaw funkcji sk\xB3ada si\xEA z 250 podstawowych wywo\xB3a\xF1, umo\xBFliwiaj\xB9cych budowanie skomplikowanych tr\xF3jwymiarowych scen z podstawowych figur geometrycznych.\citep{plwiki}\\\url{http://www.opengl.org/} +@entry{OpenGL, OpenGL, Open Graphics Library} specyfikacja uniwersalnego \glxref{API} do generowania grafiki. Zestaw funkcji sk\xB3ada si\xEA z 250 podstawowych wywo\xB3a\xF1, umo\xBFliwiaj\xB9cych budowanie skomplikowanych tr\xF3jwymiarowych scen z podstawowych figur geometrycznych.\citep{plwiki}\\\url{http://www.opengl.org/} @entry{Serializacja, Serializacja} w programowaniu komputer\xF3w proces przekszta\xB3cania obiekt\xF3w, tj. instancji okre\x9Clonych klas, do postaci szeregowej, czyli w strumie\xF1 bajt\xF3w, z zachowaniem aktualnego stanu obiektu. Serializowany obiekt mo\xBFe zosta\xE6 utrwalony w pliku dyskowym, przes\xB3any do innego procesu lub innego komputera poprzez sie\xE6. Procesem odwrotnym do serializacji jest deserializacja. Proces ten polega na odczytaniu wcze\x9Cniej zapisanego strumienia danych i odtworzeniu na tej podstawie obiektu klasy wraz z jego stanem bezpo\x9Crednio sprzed serializacji.\citep{plwiki} -@entry{SourceForge, SourceForge\textsuperscript{\textregistered}} darmowy system zarz\xB9dzania i kontroli projekt\xF3w Open Source, skomercjalizowany r\xF3wnie\xBF do closed-source license. Projekty udost\xEApniane s\xB9 w wersjach dla r\xF3\xBFnych system\xF3w operacyjnych, najcz\xEA\x9Cciej jednak dla Linuksa i Windowsa.\citep{plwiki}\\\url{http://sourceforge.net} +@entry{SourceForge, SourceForge} darmowy system zarz\xB9dzania i kontroli projekt\xF3w Open Source, skomercjalizowany r\xF3wnie\xBF do closed-source license. Projekty udost\xEApniane s\xB9 w wersjach dla r\xF3\xBFnych system\xF3w operacyjnych, najcz\xEA\x9Cciej jednak dla Linuksa i Windowsa.\citep{plwiki}\\\url{http://sourceforge.net} @entry{SVN, SVN, Subversion} (znany r\xF3wnie\xBF jako SVN) jest zaawansowanym systemem kontroli wersji, kt\xF3ry powsta\xB3 w celu zast\xB9pienia CVS. Funkcjonalnie jest z nim zgodny w wi\xEAkszo\x9Cci przypadk\xF3w, z kompatybilno\x9Cci zrezygnowano tylko tam, gdzie by\xB3o to niezb\xEAdne.\citep{plwiki}\\\url{http://subversion.tigris.org/} @entry{ticket tracking, ticket tracking} (pol. \x9Cledzenie bilet\xF3w) to spos\xF3b zarz\xB9dzania systemem odpowiadania na masowe zapytania wysy\xB3ane dowoln\xB9 drog\xB9, stanowi\xB9cy zasadnicz\xB9 cz\xEA\x9C\xE6 systemu obs\xB3ugi klient\xF3w wielu firm i organizacji. Nazwa ta oznacza r\xF3wnie\xBF oprogramowanie obs\xB3uguj\xB9ce ten system. Ticket tracking jest szczeg\xF3lnie rozpowszechnione przy odpowiadaniu na zapytania kierowane drog\xB9 e-mailow\xB9.\citep{plwiki} -@entry{antyaliasing, antyaliasing} (ang. anti-aliasing) Zesp\xF3\xB3 technik w informatyce s\xB3u\xBF\xB9cych zmniejszeniu, b\xB9d\x9F ca\xB3kowitej eliminacji aliasingu, b\xB9d\x9F artefakt\xF3w powstaj\xB9cych przy zmniejszaniu rozdzielczo\x9Cci (b\xB9d\x9F cz\xEAstotliwo\x9Cci) obrazu lub innego sygna\xB3u.\\W grafice komputerowej, rezultatem antyaliasingu jest wyg\xB3adzenie kraw\xEAdzi obiekt\xF3w wy\x9Cwietlanych na ekranie komputera.\citep{plwiki} +@entry{widget, widget} Nazwa og\xF3lna na wszystkie elementy sk\xB3adowe \glxref{GUI}, kt\xF3re mo\xBFna umie\x9Cci\xE6 w okienku. Dla przyk\xB3adu widgetem jest pasek narz\xEAdzie, pojedynczy przycisk, czy etykieta. Modified: trunk/qcell/doc/licenciate_thesis/thesis.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/thesis.tex 2007-02-03 19:40:52 UTC (rev 281) +++ trunk/qcell/doc/licenciate_thesis/thesis.tex 2007-02-03 19:48:01 UTC (rev 282) @@ -66,6 +66,9 @@ \newcommand{\Qt}{Qt\textsuperscript{\texttrademark}} \newcommand{\CA}{Comarch\textsuperscript{\textregistered}} +\newcommand{\code}[1]{% + \texttt{#1}} + % \xA3adne numerowanie stron wraz z nag\xB3\xF3wkami %\pagestyle{headings} @@ -460,6 +463,8 @@ \chapterauthor{Cezary Krzy\xBFanowski}{Implementacja} \label{chap:imp} +Rozdzia\xB3 ten opisuje architektur\xEA oraz techniczne aspekty zwi\xB9zane z~implementacj\xB9 symulatora om\xF3wionego w~rozdziale \ref{chap:zsz}. Znajduje si\xEA w~nim opis wykorzystanych narz\xEAdzi, paradygmat\xF3w i~wzorc\xF3w programistycznych oraz jednostek programowych wchodz\xB9cych w~sk\xB3ad aplikacji. + \section{Stosowane narz\xEAdzia} \label{sec:sna} @@ -489,17 +494,17 @@ \section{Za\xB3o\xBFenia wst\xEApne} \label{sec:zws} -Fundamentalnym elementem pakietu, kt\xF3ry determinuje wszystkie p\xF3\x9Fniejsze ograniczenia, jest biblioteka \Qt{}. W~szczeg\xF3lno\x9Cci jej podstawowe struktury, takie jak QVector czy QString, kt\xF3re indeksowane s\xB9 liczbami ca\xB3kowitymi (int). +Fundamentalnym elementem pakietu, kt\xF3ry determinuje wszystkie p\xF3\x9Fniejsze ograniczenia, jest biblioteka \Qt{}. W~szczeg\xF3lno\x9Cci jej podstawowe struktury, takie jak \code{QVector} czy \code{QString}, kt\xF3re indeksowane s\xB9 liczbami ca\xB3kowitymi (int)\citep{qt4}. -Pakiet powsta\xB3 przy intensywnym wykorzystaniu mechanizm\xF3w dostarczanych przez bibliotek\xEA \Qt{}. Modularn\xB9 (wtyczkow\xB9) architektur\xEA programu zapewni\xB3a klasa QPlugin. Do implementacji graficznej reprezentacji \ac{AK} u\xBFyto bibliotek OpenGL w~standardzie 1.1 (dla kompatybilno\x9Cci z~mo\xBFliwie najszersz\xB9 gam\xB9 uk\xB3ad\xF3w graficznych), opakowanych przez modu\xB3 QtOpenGL. QtXML zapewni\xB3 parser \ac{XML}-a. +Pakiet powsta\xB3 przy intensywnym wykorzystaniu mechanizm\xF3w dostarczanych przez bibliotek\xEA \Qt{}. Modularn\xB9 (wtyczkow\xB9) architektur\xEA programu zapewni\xB3a klasa \code{QtPlugin}. Do implementacji graficznej reprezentacji \ac{AK} u\xBFyto bibliotek OpenGL w~standardzie 1.1 (dla kompatybilno\x9Cci z~mo\xBFliwie najszersz\xB9 gam\xB9 uk\xB3ad\xF3w graficznych), opakowanych przez modu\xB3 \code{QtOpenGL}. \code{QtXML} zapewni\xB3 parser \ac{XML}-a. -Pozosta\xB3e elementy pakietu opieraj\xB9 si\xEA na g\xB3\xF3wnym module bibliotek \Qt{} (QtCore), implementuj\xB9cym podstawowe struktury og\xF3lnego u\xBFytku (listy, mapy, wektory), natomiast \ac{GUI} powsta\xB3o z~u\xBFyciem QtGui. +Pozosta\xB3e elementy pakietu opieraj\xB9 si\xEA na g\xB3\xF3wnym module bibliotek \Qt{} (\code{QtCore}), implementuj\xB9cym podstawowe struktury og\xF3lnego u\xBFytku (listy, mapy, wektory), natomiast \ac{GUI} powsta\xB3o z~u\xBFyciem \code{QtGui}. -\section{Architektura systemu} +\section{Og\xF3lna architektura programu} \label{sec:asy} -Podstawowym za\xB3o\xBFeniem tworzonej aplikacji jest maksymalna modu\xB3owo\x9C\xE6 oraz wymiana komunikat\xF3w przy pomocy \ac{XML}-a. Rozwi\xB9zanie powsta\xB3o z~my\x9Cl\xB9 o~przysz\xB3ym dzia\xB3aniu w~\x9Crodowisku rozproszonym. Skutkiem ubocznym, aczkolwiek po\xBF\xB9danym, jest przymus tworzenia dobrze zdefiniowanych interfejs\xF3w, zapewniaj\xB9cych komunikacj\xEA pomi\xEAdzy poszczeg\xF3lnymi elementami systemu. +Podstawowym za\xB3o\xBFeniem tworzonej aplikacji jest maksymalna modu\xB3owo\x9C\xE6 oraz wymiana komunikat\xF3w przy pomocy \ac{XML}-a. Pozwala to na dzia\xB3anie w~\x9Crodowisku rozproszonym. Skutkiem ubocznym, aczkolwiek po\xBF\xB9danym, jest przymus projektowania dobrze zdefiniowanych interfejs\xF3w, zapewniaj\xB9cych komunikacj\xEA pomi\xEAdzy poszczeg\xF3lnymi elementami systemu. -Architektura systemu przedstawiona jest na rysunku \ref{fig:arch}. +Architektura programu przedstawiona jest na rysunku \ref{fig:arch}. \begin{figure}[!hpt] \begin{center} @@ -510,18 +515,240 @@ \end{figure} \begin{description} - \item[\ac{GUI}] prezentuj\xB9ce wynik u\xBFytkownikowi i~przekazuj\xB9ce polecenia u\xBFytkownika do j\xB9dra logicznego - \label{it:GUI} - \item[Baza danych] odpowiedzialna za przechowywanie element\xF3w sk\xB3adowych \ac{AK} (\ac{N}, \ac{FL}, historia przetwarzania \ac{KP}). - \label{it:bda} - \item[J\xB9dro logiczne] \xB3\xB9cz\xB9ce modu\xB3y ze sob\xB9 oraz interpretuj\xB9ce polecenia u\xBFytkownika. Modu\xB3 ten nadzoruj\xEA i~koordynuj\xEA prace ca\xB3o\x9Cci systemu. - \label{it:jlo} - \item[Parsery] czyli wtyczki odpowiedzialne za interpretacje plik\xF3w wej\x9Cciowych i~wyj\x9Cciowych. Parsery przekszta\xB3caj\xB9 r\xF3\xBFne formaty zapisu element\xF3w \ac{AK} na struktury u\xBFywane wewn\xEAtrznie oraz po\x9Crednicz\xB9 przy zapisie danych. - \label{it:par} - \item[Silnik obliczeniowy] czyli w\xB3a\x9Cciwa mechanika pakietu, odpowiedzialna zar\xF3wno za tworzenie kolejnych iteracji, jak i~za sygnalizowanie b\xB3\xEAd\xF3w przy edycji element\xF3w \ac{AK}. - \label{it:sob} + \item[\ac{GUI}] Modu\xB3 implementuj\xB9cy warstw\xEA prezentacji. W~jego sk\xB3ad wchodz\xB9 okna programu, paski narz\xEAdzi, menu oraz przyborniki z~narz\xEAdziami. Modu\xB3 ten implementuje widok (\emph{View}) paradygmatu \ac{MVC}. \emph{Autorem jest Cezary Krzy\xBFanowski.} + \item[Baza danych] Modu\xB3 odpowiedzialny za przechowywanie element\xF3w modelu i~danych \ac{AK}. Implementuje r\xF3wnie\xBF struktury do przechowywania i~nawigacji po historii przetwarzania, w~szczeg\xF3lno\x9Cci historii iteracji (por. \ref{subsubsec:hit}). Modu\xB3 ten implementuje model (\emph{Model}) paradygmatu \ac{MVC}. \emph{Autorem jest Cezary Krzy\xBFanowski.} + \item[J\xB9dro logiczne] Modu\xB3 \xB3\xB9cz\xB9cy wszystkie elementy ze sob\xB9 oraz interpretuj\xB9cy polecenia u\xBFytkownika. Realizuje te funkcje wysy\xB3aj\xB9c lub po\x9Crednicz\xB9c w~wysy\xB3ce polece\xF1 w~formacie \ac{XML} do poszczeg\xF3lnych obiekt\xF3w. Modu\xB3 ten implementuje kontroler (\emph{Controller}) paradygmatu \ac{MVC}. \emph{Autorem jest Cezary Krzy\xBFanowski.} + \item[Modu\xB3 obliczeniowy] Modu\xB3 obliczeniowy zawiera zbi\xF3r algorytm\xF3w do manipulowania \ac{AK}, przede wszystkim zwi\xB9zanych z~generowaniem kolejnych iteracji. \emph{Autorem jest Leszek Smentek.} + \item[Parsery] Zbi\xF3r dynamicznych bibliotek (wtyczek) do interpretacji plik\xF3w wej\x9Cciowych i~wyj\x9Cciowych. Parsery przekszta\xB3caj\xB9 r\xF3\xBFne formaty zapisu element\xF3w \ac{AK} na struktury u\xBFywane wewn\xEAtrznie oraz po\x9Crednicz\xB9 przy zapisie danych. \emph{Autorem jest Cezary Krzy\xBFanowski.} + \item[Renderer] Modu\xB3 wykorzystuj\xB9cy bibliotek\xEA \gls{OpenGL} do wyliczania scen prezentuj\xB9cych \ac{KB}. Na podstawie danych o~rozmieszczeniu kom\xF3rek oraz zbiorze regu\xB3 interpretacyjnych okre\x9Clonych przez operatora, klasa Renderer ustawia scen\xEA i~zleca jej wyrenderowanie uk\xB3adowi graficznemu. Modu\xB3 ten wykorzystywany jest do wy\x9Cwietlania w~trybie graficznym konfiguracji dwu- i~tr\xF3jwymiarowych \ac{AK}. \emph{Autorem jest Leszek Smentek.} \end{description} +\section{Jednostki programowe pakietu} +\label{sec:jpp} +\subsection{Jednostki programowe \ac*{GUI}} +\label{subsec:jgu} + +Wykaz klas oraz jednostek programowych wchodz\xB9cych w~sk\xB3ad \ac{GUI} znajduje si\xEA w~tabeli \ref{tab:lgu}. + +\begin{table}[!hpt] + \centering + \begin{tabular}{l|p{20em}} + Klasa & Pliki z~implementacj\xB9 \\ + \hline\hline + \code{BaseTools} & basetools.h basetools.cpp \\ + \hline + \code{BetterDockWidget} & BetterDockWidget.h BetterDockWidget.cpp \\ + \hline + \code{ElementalRulesWidget} & ElementalRulesWidget.h ElementalRulesWidget.cpp \\ + \hline + \code{ExperimentSetup} & ExperimentSetup.h ExperimentSetup.cpp \\ + \hline + \code{FunctionTable} & FunctionTable.h Funkcjonalno\x9C\xE6.cpp \\ + \hline + \code{MainWindow} & MainWindow.h MainWindow.cpp \\ + \hline + \code{NeighbourhoodTools} & NeighbourhoodTools.h NeighbourhoodTools.cpp \\ + \hline + \code{NewNeighbourhoodWizard} & NewNeighbourhoodWizard.h NewNeighbourhoodWizard.cpp \\ + \hline + \code{RuleProperties} & RuleProperties.h RuleProperties.cpp \\ + \hline + \code{simulationWindow} & simulationWindow.h simulationWindow.cpp \\ + \hline + \code{View1DTextTools} & View1DTextTools.h View1DTextTools.cpp \\ + \hline + \code{View2DTextTools} & View2DTextTools.h View2DTextTools.cpp \\ + \hline + \code{View3DTools} & View3DTools.h View3DTools.cpp + \end{tabular} + \caption{Wykaz klas i~jednostek programowych wchodz\xB9cych w~sk\xB3ad modu\xB3u GUI} + \label{tab:lgu} +\end{table} + +G\xB3\xF3wn\xB9 klas\xB9 \ac{GUI} jest \code{MainWindow}, czyli okno g\xB3\xF3wne aplikacji. Definiuje ona rozmieszczenie poszczeg\xF3lnych element\xF3w interfejsu oraz po\x9Credniczy w~przekazywaniu zdarze\xF1, generowanych przez u\xBFytkownika, mi\xEAdzy elementami podrz\xEAdnymi a~j\xB9drem logicznym (por. \ref{subsec:jjl}). + +Klasy, kt\xF3rych nazwy ko\xF1cz\xB9 si\xEA s\xB3owem ,,Tools'' implementuj\xB9 przyborniki z~narz\xEAdziami do obs\xB3ugi konkretnego trybu wy\x9Cwietlania. Dla przyk\xB3adu pliki View3DTools.h oraz View3DTools.cpp opisuj\xB9 elementy \ac{GUI} do sterowania trybu 3D. Zgodnie z paradygmatem \ac{MVC} polecenia operatora zlecane s\xB9 do wykonania modu\xB3owi obliczeniowemu (por. \ref{subsec:jmo}). Wszystkie klasy z~tej rodziny dziedzicz\xB9 po \code{BetterDockWidget}, kt\xF3ry nieznacznie zmienia domy\x9Clne zachowanie \code{QDockWidget} z~bibliotek \Qt{}. + +Do wy\x9Cwietlania \ac{RE} s\xB3u\xBFy \code{ElementalRulesWidget}, kt\xF3ra wizualizuje dane zebrane przez \code{ElementalRules} (por. \ref{subsec:jmo}). Okienko dialogowe zaimplementowane w~pliku RuleProperties.cpp pozwala ustawia\xE6 regu\xB3y interpretacyjne dla zebranych \ac{RE}. + +\code{FunctionTable} oraz \code{simulationWindow} to specjalizowane \gls{widget}y do wy\x9Cwietlania odpowiednio tabeli \ac{FL} oraz wszystkich tryb\xF3w prezentowania \ac{KB}. + +Diagram kolaboracji \ac{GUI} przedstawiony zosta\xB3 na rysunku \ref{fig:gui}. + +\begin{figure}[!hpt] + \begin{center} + \includegraphics[width=\textwidth]{MainWindowArch} + \end{center} + \caption{Diagram kolaboracji modu\xB3u \ac*{GUI}} + \label{fig:gui} +\end{figure} + +\subsection{Jednostki programowe modu\xB3u bazy danych} +\label{subsec:jbd} + +Wykaz klas oraz jednostek programowych wchodz\xB9cych w~sk\xB3ad modu\xB3u bazy danych znajduje si\xEA w~tabeli \ref{tab:lbd}. + +\begin{table}[!hpt] + \centering + \begin{tabular}{l|p{20em}} + Klasa & Pliki z~implementacj\xB9 \\ + \hline\hline + \code{Storage} & Storage.h Storage.cpp \\ + \hline + \code{StorageInterface} & StorageInterface.h StorageInterface.cpp + \end{tabular} + \caption{Wykaz klas i~jednostek programowych wchodz\xB9cych w~sk\xB3ad modu\xB3u bazy danych} + \label{tab:lbd} +\end{table} + +Baza danych zaimplementowana zosta\xB3a jako wtyczka (biblioteka dynamiczna). Definicja interfejsu komunikacji mi\xEAdzy j\xB9drem logicznym a~baz\xB9 znajduje si\xEA w~plikach StorageInterface.h oraz StorageInterface.cpp (por. \ref{subsec:jjl}). W\xB3a\x9Cciwa implementacja struktur przechowuj\xB9cych oraz indeksuj\xB9cych dane pierwotne (wczytane z~pliku), jak i~dane wt\xF3rne (powsta\xB3e w~trakcie dzia\xB3ania programu), widnieje w~klasie \code{Storage}. + +Magazynowaniu podlegaj\xB9 obiekty klas \code{Neighbourhood}, \code{LocalFunction} oraz \code{CalculationData}, b\xEAd\xB9ce cz\xEA\x9Cci\xB9 modu\xB3u obliczeniowego (por. \ref{subsec:jmo}). Dodatkowo przechowywane s\xB9 podstawowe informacje dot. przebiegu eksperymentu, takie jak numer porz\xB9dkowy ostatniej obliczonej iteracji, czy numer porz\xB9dkowy aktualnie wy\x9Cwietlonej \ac{KB} (kt\xF3re w~wyniku poruszania si\xEA wstecz historii iteracji mog\xB9 si\xEA r\xF3\xBFni\xE6 - por. \ref{subsubsec:hit}). + +\subsection{Jednostki programowe j\xB9dra logicznego} +\label{subsec:jjl} + +Wykaz klas oraz jednostek programowych wchodz\xB9cych w~sk\xB3ad j\xB9dra logicznego znajduje si\xEA w~tabeli \ref{tab:ljl}. + +\begin{table}[!hpt] + \centering + \begin{tabular}{l|p{20em}} + Klasa & Pliki z~implementacj\xB9 \\ + \hline\hline + \code{ElementalRules} & ElementalRules.h ElementalRules.cpp \\ + \hline + \code{GenericParserPlugin} & GenericParserPlugin.h GenericParserPlugin.cpp \\ + \hline + \code{MainWindow} & MainWindow.h MainWindow.cpp \\ + \hline + \code{ParserInterface} & ParserInterface.h ParserInterface.cpp \\ + \hline + \code{StorageInterface} & StorageInterface.h StorageInterface.cpp + \end{tabular} + \caption{Wykaz klas i~jednostek programowych wchodz\xB9cych w~sk\xB3ad modu\xB3u j\xB9dra logicznego} + \label{tab:ljl} +\end{table} + +J\xB9dro logiczne zaimplementowane zosta\xB3o jako podzbi\xF3r funkcji klasy \code{MainWindow}. Przy pomocy interfejs\xF3w zdefiniowanych w~\code{ParserInterface} oraz \code{StorageInterface} aplikacja g\xB3\xF3wna komunikuje si\xEA z~wtyczkami, \xB3adowanymi podczas startu programu. W~celu ewentualnego rozproszenia modu\xB3\xF3w pakietu w~\x9Crodowisku sieciowym wymiana danych oraz komend odbywa si\xEA za pomoc\xB9 j\xEAzyka \ac{XML}. + +Klasa \code{GenericParserPlugin} stanowi implementacj\xEA podstawowych test\xF3w poprawno\x9Cci plik\xF3w wej\x9Cciowych, rozszerzanych nast\xEApnie specyficznie dla konkretnego formatu przez parsery (por. \ref{subsec:jpa}). + +\code{ElementalRules} zawiera logik\xEA zwi\xB9zan\xB9 z~rejestrowaniem \ac{RE}, kt\xF3re nast\xEApnie wy\x9Cwietlane s\xB9 za pomoc\xB9 klasy \code{ElementalRulesWidget} (por. \ref{subsec:jgu}). + +Diagram kolaboracji j\xB9dra logicznego przedstawiony zosta\xB3 na rysunku \ref{fig:gui}. + +\subsection{Jednostki programowe modu\xB3u oblicze\xF1} +\label{subsec:jmo} + +Wykaz klas oraz jednostek programowych wchodz\xB9cych w~sk\xB3ad modu\xB3u oblicze\xF1 znajduje si\xEA w~tabeli \ref{tab:wmo}. + +\begin{table}[!hpt] + \centering + \begin{tabular}{l|p{20em}} + Klasa & Pliki z~implementacj\xB9 \\ + \hline\hline + \code{baseDataTypes} & baseDataTypes.h baseDataTypes.cpp \\ + \hline + \code{CalculationData} & CalculationData.h CalculationData.cpp \\ + \hline + \code{Calculator} & Calculator.h Calculator.cpp \\ + \hline + \code{LocalFunction} & LocalFunction.h LocalFunction.cpp \\ + \hline + \code{Neighbourhood} & Neighbourhood.h Neighbourhood.cpp + \end{tabular} + \caption{Wykaz klas i~jednostek programowych wchodz\xB9cych w~sk\xB3ad modu\xB3u oblicze\xF1} + \label{tab:wmo} +\end{table} + +Obliczanie \ac{KN} na podstawie \ac{KB} odbywaj\xB9 si\xEA w \code{Calculator}. Klasy \code{CalculationData}, \code{LocalFunction} oraz \code{Neighbourhood} implementuj\xB9 operacje na odpowiednio \ac{KB}, \ac{FL} oraz \ac{N}. Wszystkie dziedzicz\xB9 po \code{baseDataTypes} opisuj\xB9cym podstawowe typy proste, za pomoc\xB9 kt\xF3rych mo\xBFna zapisywa\xE6 dane. Kolejne obliczone \ac{KB} zapisywane s\xB9 w~module bazy danych (por. \ref{subsec:jbd}). + +Diagram kolaboracji modu\xB3u oblicze\xF1 przedstawiony zosta\xB3 na rysunku \ref{fig:kmo}. + +\begin{figure}[!hpt] + \begin{center} + \includegraphics[height=100pt]{Calculator} + \end{center} + \caption{Diagram kolaboracji modu\xB3u oblicze\xF1} + \label{fig:kmo} +\end{figure} + +\subsection{Jednostki programowe zbioru parser\xF3w} +\label{subsec:jpa} + +Wykaz klas oraz jednostek programowych wchodz\xB9cych w~sk\xB3ad zbioru parser\xF3w znajduje si\xEA w~tabeli \ref{tab:wpa}. + +\begin{table}[!hpt] + \centering + \begin{tabular}{l|p{20em}} + Klasa & Pliki z~implementacj\xB9 \\ + \hline\hline + \code{GenericParserPlugin} & GenericParserPlugin.h GenericParserPlugin.cpp \\ + \hline + \code{FQTParserPlugin} & FQTParserPlugin.h FQTParserPlugin.cpp \\ + \hline + \code{LTFLParserPlugin} & LTFLParserPlugin.h LTFLParserPlugin.cpp \\ + \hline + \code{NParserPlugin} & NParserPlugin.h NParserPlugin.cpp \\ + \hline + \code{ParserInterface} & ParserInterface.h ParserInterface.cpp \\ + \hline + \code{REAKParserPlugin} & REAKParserPlugin.h REAKParserPlugin.cpp \\ + \hline + \code{ZIFWParserPlugin} & ZIFWParserPlugin.h ZIFWParserPlugin.cpp \\ + \hline + \code{ZIFWPParserPlugin} & ZIFWPParserPlugin.h ZIFWPParserPlugin.cpp + \end{tabular} + \caption{Wykaz klas i~jednostek programowych wchodz\xB9cych w~sk\xB3ad zbioru parser\xF3w} + \label{tab:wpa} +\end{table} + +Ka\xBFda klasa tej grupy programowej implementuje wczytywanie oraz zapisywanie danych z~innego formatu plik\xF3w. Odbywa si\xEA to poprzez por\xF3wnywanie kolejnych linijek pliku wej\x9Cciowego z~wyra\xBFeniami regularnymi, definiuj\xB9cymi poprawn\xB9 struktur\xEA dla konkretnego formatu. W~razie niezgodno\x9Cci u\xBFytkownik informowany jest o~miejscu wyst\xB9pienia b\xB3\xEAdu i~jego postaci. Dla ka\xBFdego b\xB3\xEAdu sk\xB3adniowego podawane jest wyra\xBFenie regularne definiuj\xB9ce poprawn\xB9 posta\xE6 linijki, w~kt\xF3rej wykryto nieprawid\xB3owo\x9Cci. + +Dane z~plik\xF3w przeparsowywane s\xB9 do struktur u\xB3atwiaj\xB9cych manipulacj\xEA nimi (np. \code{QMap}, \code{QVector}) a~nast\xEApnie zamieniane na posta\xE6 \ac{XML}-ow\xB9 z~wykorzystaniem klas og\xF3lnych (np. \code{LocalFunction} w~przypadku wszystkich format\xF3w definiuj\xB9cych \ac{FL}~--- por. \ref{subsec:jmo}). + +Parsery rozwi\xB9zane zosta\xB3y jako wtyczki (por. \ref{subsec:jjl}). Pozwala to na dodawanie kolejnych format\xF3w plik\xF3w do grupy obs\xB3ugiwanej przez projekt, bez potrzeby rekompilowania g\xB3\xF3wnego programu. Komunikacja z~aplikacj\xB9 odbywa si\xEA przy pomocy abstrakcyjnego interfejsu \code{ParserInterface}, implementowanego przez \code{GenericParserPlugin} (wraz z~podstawowymi testami poprawno\x9Cci plik\xF3w - por. \ref{subsec:jjl}). + +Diagram klas zbioru parser\xF3w przedstawiony zosta\xB3 na rysunku \ref{fig:dpa}. + +\begin{figure}[!htp] + \begin{center} + \includegraphics[height=150pt]{GenericParser} + \end{center} + \caption{Diagram klas zbioru parser\xF3w} + \label{fig:dpa} +\end{figure} + +\subsection{Jednostki programowe modu\xB3u renderera} +\label{subsec:jre} + +Wykaz klas oraz jednostek programowych wchodz\xB9cych w~sk\xB3ad modu\xB3u renderera znajduje si\xEA w~tabeli \ref{tab:wre}. + +\begin{table}[!hpt] + \centering + \begin{tabular}{l|p{20em}} + Klasa & Pliki z~implementacj\xB9 \\ + \hline\hline + \code{Renderer} & Renderer.h Renderer.cpp + \end{tabular} + \caption{Wykaz klas i~jednostek programowych wchodzacych w~sk\xB3ad modu\xB3u renderera} + \label{tab:wre} +\end{table} + +Na podstawie danych dostarczanych przez modu\xB3 bazy danych (por. \ref{subsec:jbd}) \code{Renderer} tworzy scen\xEA oraz zleca jej wy\x9Cwietlenie uk\xB3adowi graficznemu. W~tym celu wykorzystywane s\xB9 wywo\xB3ania biblioteki \gls{OpenGL}. Klasa ta wykorzystywana jest w dwu- i~tr\xF3jwymiarowym trybie graficznym (por.\ref{par:graf}). + +Dzia\xB3anie tego modu\xB3u inicjowane jest wyliczeniem kolejnej iteracji przez modu\xB3 oblicze\xF1 (por. \ref{subsec:jmo}), b\xB9d\x9F przez narz\xEAdzia manipulowania wy\x9Cwietlaniem stosowane przez operatora (por. \ref{subsec:wiz} oraz \ref{subsec:jgu}). + +Diagram kolaboracji modu\xB3u renderera przedstawiony zosta\xB3 na rysunku \ref{fig:dre}. + +\begin{figure}[!hpt] + \begin{center} + \includegraphics[height=175pt]{Renderer} + \end{center} + \caption{Diagram kolaboracji modu\xB3u renderera} + \label{fig:dre} +\end{figure} + \section{Ograniczenia pakietu} \label{sec:opa} @@ -858,7 +1085,6 @@ \nocite{cac} \nocite{nks} \nocite{kul} -\nocite{qt4} \bibliographystyle{plain} \bibliography{thesis} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dhu...@us...> - 2007-02-04 21:47:20
|
Revision: 286 http://svn.sourceforge.net/qcell/?rev=286&view=rev Author: dhubleizh Date: 2007-02-04 13:47:19 -0800 (Sun, 04 Feb 2007) Log Message: ----------- - chapters files which I've forgotten the last time - started some preliminary math and CA definitions in chapter 2 Modified Paths: -------------- trunk/qcell/doc/licenciate_thesis/thesis.bib trunk/qcell/doc/licenciate_thesis/thesis.tex Added Paths: ----------- trunk/qcell/doc/licenciate_thesis/chap1/chap1.tex trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex trunk/qcell/doc/licenciate_thesis/chap4/chap4.tex trunk/qcell/doc/licenciate_thesis/chap5/chap5.tex trunk/qcell/doc/licenciate_thesis/chap6/chap6.tex trunk/qcell/doc/licenciate_thesis/chap7/chap7.tex Added: trunk/qcell/doc/licenciate_thesis/chap1/chap1.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap1/chap1.tex (rev 0) +++ trunk/qcell/doc/licenciate_thesis/chap1/chap1.tex 2007-02-04 21:47:19 UTC (rev 286) @@ -0,0 +1,46 @@ +\chapterauthor{Cezary Krzy\xBFanowski}{Wprowadzenie} +\label{chap:wpr} +\section{Cel i~zakres pracy} +Celem niniejszego opracowania jest stworzenie \x9Crodowiska do efektywnego przeprowadzania symulacji jedno-, dwu- oraz tr\xF3jwymiarowych automat\xF3w kom\xF3rkowych (\ac{AK}). + +W~zakres pracy wchodzi synteza funkcjonalno\x9Cci zapewniaj\xB9cych szerok\xB9 gam\xEA mo\xBFliwo\x9Cci prowadzenia eksperyment\xF3w z~\ac{AK}, oparta o~krytyczn\xB9 analiz\xEA istniej\xB9cych rozwi\xB9za\xF1. Na podstawie uzyskanych wynik\xF3w powstanie implementacja \x9Crodowiska z~wybranymi pozycjami stworzonej wcze\x9Cniej listy funkcjonalno\x9Cci. + +\section{Uzasadnienie tematu} +\label{sec:ute} +Implementowanie symulator\xF3w jest integraln\xB9 cz\xEA\x9Cci\xB9 procesu tworzenie i~dowodzenia nowych teorii. Gdy nie mo\xBFna w~prosty spos\xF3b zdefiniowa\xE6 og\xF3lnego wzoru opisuj\xB9cego badane zachowanie, przeprowadzenie i~przeanalizowanie pewnej liczby eksperyment\xF3w mo\xBFe prowadzi\xE6 do wyizolowania czynnik\xF3w wp\xB3ywaj\xB9cych na dany proces. W~konsekwencji tworzona jest robocza teoria, kt\xF3r\xB9 nast\xEApnie mo\xBFna pr\xF3bowa\xE6 udoskonala\xE6 lub potwierdzi\xE6 przy pomocy kolejnych symulacji. + +Dziedzin\xB9 szczeg\xF3lnie nadaj\xB9c\xB9 si\xEA do komputerowego na\x9Cladowania s\xB9 \ac{DSZ}. \ac{AK} jest modelem \ac{DSZ}. Stworzenie odpowiedniego narz\xEAdzia do przeprowadzania eksperyment\xF3w na modelach kom\xF3rkowych mo\xBFe by\xE6 cennym \x9Crodkiem do bada\xF1 naukowych. + +Powy\xBFsze rozumowanie doprowadzi\xB3o do stworzenia pewnej liczby symulator\xF3w. Jednak\xBFe skupia\xB3y si\xEA one g\xB3\xF3wnie b\xB9d\x9F na zaprezentowaniu samej idei \ac{AK}, b\xB9d\x9F do przedstawienia wybranego, zwykle bardzo w\xB9skiego, zakresu ich dzia\xB3ania. W~literaturze oraz w~internecie nie pojawi\xB3a si\xEA dotychczas inicjatywa opracowania i~zaimplementowania systemu pozwalaj\xB9cego bada\xE6 te dziedzin\xEA w~szerokim spektrum. Koncepty teoretyczne, jak np. \ac{OL} nigdy nie doczeka\xB3y si\xEA implementacji. + +Dzisiejsze systemy komputerowe pozwalaj\xB9 na prowadzenie skomplikowanych oblicze\xF1 w~kr\xF3tkim czasie. Szczeg\xF3lnie na polu tr\xF3jwymiarowej grafiki komputerowej ostatnie lata pe\xB3ne by\xB3y innowacji wielokrotnie zwi\xEAkszaj\xB9cych mo\xBFliwo\x9Cci zwyk\xB3ych komputer\xF3w osobistych. Jest to idealne pod\xB3o\xBFe do pr\xF3by stworzenia symulatora \ac{AK} wykorzystuj\xB9cego mo\xBFliwo\x9Cci sprz\xEAtowe do zaprezentowania nowej jako\x9Cci wizualizacji tr\xF3jwymiarowych proces\xF3w kom\xF3rkowych. + +\section{Podzia\xB3 zada\xF1 szczeg\xF3\xB3owych} +\subsection{Zadania szczeg\xF3\xB3owe - Cezary Krzy\xBFanowski} +\subsubsection{Wymagania dla symulator\xF3w \acs{AK}} +Zadanie polega na stworzeniu listy funkcjonalno\x9Cci, jakie powinien posiada\xE6 pe\xB3nowarto\x9Cciowy pakiet do przeprowadzania eksperyment\xF3w na wielowymiarowych \ac{AK}. Lista zostanie stworzona na podstawie analizy istniej\xB9cych rozwi\xB9za\xF1 oraz zaproponowanych nowych funkcjonalno\x9Cci. +\subsubsection{Program symulacji modelu \ac{AK} 3d - interfejs i~\x9Crodki doboru modelu} +Jest to implementacyjna cz\xEA\x9C\xE6 pracy. Polega na stworzeniu \ac{GUI} pozwalaj\xB9cego w~mo\xBFliwie prosty i~czytelny spos\xF3b operowa\xE6 na \ac{AK}. + +Dodatkowo do zadania nale\xBFy zaimplementowanie metod doboru modelu (\ac{N} i~\ac{FL}), rozumianych jako sposoby wczytywania predefiniowanych jego element\xF3w oraz wspomaganie przy tworzeniu i~utrwalaniu nowych. +\subsubsection{Opracowanie i~wdro\xBFenie \x9Crodk\xF3w intensyfikacji eksperyment\xF3w} +Przez \x9Crodki intensyfikacji eksperyment\xF3w rozumiane s\xB9 dodatkowe narz\xEAdzia i~tryby wspomagaj\xB9ce zmiany w~modelu b\xB9d\x9F danych na bie\xBF\xB9co celem uzyskania \xBF\xB9danej \ac{KB}. +\subsubsection{Testy programu} +Przeprowadzone zostan\xB9 dwie fazy test\xF3w. W~pierwszej fazie pakiet przetestowany zostanie pod wzgl\xEAdem poprawno\x9Cci prowadzonych oblicze\xF1 oraz zgodno\x9Cci z~ustalon\xB9 wcze\x9Cniej list\xB9 funkcjonalno\x9Cci. W drugiej fazie pakiet zostanie poddany testom wydajno\x9Cciowym oraz subiektywnym testom ergonomii u\xBFytkowania. + +\subsectionauthor{Leszek Smentek}{Zadania szczeg\xF3\xB3owe} +\label{subsec:lsm} + +\subsubsection {Symulator modelu \ac{AK}} +Zadanie ma na celu opracowanie i implementacje symulatora umo\xBFliwiaj\xB9cego prowadzenie poprawnej symulacji zgodnie z dobranym modelem oblicze\xF1. + +\subsubsection {\x8Crodki doboru danych} +Przez \x9Crodki doboru danych rozumiany jest zestaw narz\xEAdzi pakietu umo\xBFliwiaj\xB9ce swobodn\xB9 generacj\xEA danych eksperymentu oraz podstawowe mo\xBFliwo\x9Cci edycji. + +\subsubsection {Wizualizacja i tryby eksperyment\xF3w dla r\xF3\xBFnych obserwator\xF3w} +To zadanie szczeg\xF3\xB3owe ma na celu implementacje efektywnej i czytelnej metody wizualizacji prowadzonego eksperymentu zar\xF3wno dla obserwatora globalnego, jak i trybu obserwatora lokalnego. + +\subsubsection {Opracowanie i wdro\xBFenie \x9Crodk\xF3w dokumentowania eksperyment\xF3w} +Powy\xBFsze zadanie szczeg\xF3\xB3owe ma na celu opracowanie metod dokumentowania eksperyment\xF3w umo\xBFliwiaj\xB9cych prezentacje wynik\xF3w symulacji niezale\xBFnie od pakietu. + +% vim:fencs=cp1250:fenc=cp1250 Added: trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex (rev 0) +++ trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex 2007-02-04 21:47:19 UTC (rev 286) @@ -0,0 +1,260 @@ +\chapterauthor{Cezary Krzy\xBFanowski}{Zakres problematyki} +\label{chap:zpr} +W~tym rozdziale przedstawione zosta\xB3y podstawowe zagadnienia zwi\xB9zane z~\ac{AK}. Podrozdzia\xB3 \ref{sec:pak} opisuje mechanik\xEA funkcjonowania przetwarza\xF1 kom\xF3rkowych oraz terminologi\xEA u\xBFyt\xB9 do opisu symulator\xF3w. Wykorzystuj\xB9c te definicje sformu\xB3owano list\xEA cech hipotetycznego ,,idealnego symulatora'' w~punkcie \ref{sec:syn}. Na tej podstawie przeanalizowano grup\xEA symulator\xF3w \ac{AK} istniej\xB9cych na rynku (\ref{sec:pmz}). + +\section{Og\xF3lne poj\xEAcia z~zakresu automat\xF3w kom\xF3rkowych} +\label{sec:pak} + +\subsection{Definicja automatu kom\xF3rkowego} +\label{subsec:dak} +{\bf Automat kom\xF3rkowy} (\ac{AK}) jest uporz\xB9dkowan\xB9 czw\xF3rk\xB9\citep{kul}: + +\begin{displaymath} +A \equiv (\alpha, S, N, f) +\end{displaymath} + +gdzie: + +\begin{trivlist} +\item $\alpha$~--- zbi\xF3r jednakowych kom\xF3rek +\item $S$~--- sko\xF1czony zbi\xF3r stan\xF3w, jaki mo\xBFe przyj\xB9\xE6 kom\xF3rka +\item $N$~--- sko\xF1czony zbi\xF3r s\xB9siad\xF3w +\item $f$~--- funkcja lokalna (\ac{FL}) definiuj\xB9ca zmian\xEA stan\xF3w na podstawie s\xB9siedztwa $N$ oraz stanu bie\xBF\xB9cej kom\xF3rki $c$ +\end{trivlist} + +\begin{displaymath} + f : S_{N, c} \rightarrow S +\end{displaymath} + +Wzajemne rozmieszczenie kom\xF3rek ze zbioru $\alpha$ wzgl\xEAdem siebie w przestrzeni jedno- lub wielowymiarowej wraz z przypisaniem ka\xBFdej kom\xF3rce stanu ze zbioru $S$ nazywamy {\bf konfiguracj\xB9 pocz\xB9tkow\xB9} (\ac{KP})\citep{siwy}. + +{\bf Iteracja} polega na przekszta\xB3ceniu aktualnego stanu \ac{AK} (tzw. {\bf konfiguracji bie\xBF\xB9cej}~--- \ac{KB}) w stan kolejny (tzw. {\bf konfiguracj\xEA nast\xEApn\xB9}~--- \ac{KN}) stosuj\xB9c \ac{FL} dla ka\xBFdej kom\xF3rki zbioru $\alpha$\citep{siwy}. + +Par\xEA w postaci uporz\xB9dkowanego zbioru s\xB9siad\xF3w oraz stanu kom\xF3rki jaki ten zbi\xF3r implikuje przy pomocy \ac{FL} nazywamy {\bf regu\xB3\xB9 elementarn\xB9} (\ac{RE})\citep{siit}. + +Okre\x9Claj\xB9c liczb\xEA przekszta\xB3ce\xF1 \ac{KB} w \ac{KN} m\xF3wimy o {\bf liczbie iteracji}, b\xB9d\x9F o {\bf pokoleniu \ac{AK}}. Aby przedstawi\xE6 przetwarzanie kom\xF3rkowe w czasie definiujemy {\bf chwil\xEA bie\xBF\xB9c\xB9} dla \ac{KB}, oraz o {\bf chwil\xEA nast\xEApn\xB9} dla \ac{KN}. By okre\x9Cli\xE6 punkt odniesienia w czasie, wzgl\xEAdem kt\xF3rego omawiane b\xEAd\xB9 kolejne iteracje, u\xBFywamy poj\xEAcia {\bf chwila zero} przetwarzania\citep{siwy}. + +\subsection{Elementy automatu kom\xF3rkowego} +\label{subsec:mak} + +\ac{AK} sk\xB3ada si\xEA z dw\xF3ch element\xF3w - modelu oraz danych. + +Przez model rozumiemy s\xB9siedztwo (\ac{N}~--- ang. \emph{Neighbourhood}) i \ac{FL}. Aby model by\xB3 poprawny, funkcja przekszta\xB3caj\xB9ca \ac{KB} w \ac{KN} mo\xBFe przyjmowa\xE6 co najwy\xBFej tyle argument\xF3w, ilu s\xB9siad\xF3w definiuje \ac{N}. Sytuacja odwrotna jest dopuszczalna, gdy \ac{FL} nie uwzgl\xEAdnia warto\x9Cci wszystkich s\xB9siad\xF3w okre\x9Clonych przez \ac{N}. + +Podstawowym sposobem zapisywania \ac{FL} jest lista \ac{RE}. Format ten jest czytelny i pozwala \xB3atwo identyfikowa\xE6 regu\xB3\xEA, kt\xF3ra wp\xB3ynie na stan kom\xF3rki w chwili nast\xEApnej. Jednak\xBFe zapisywanie skomplikowanych zachowa\xF1 \ac{AK} w ten spos\xF3b jest nieefektywne. Z uwagi na to zosta\xB3y zdefiniowane inne formaty zapisu funkcji. + +Zwi\xEAz\xB3\xB9, a zarazem uniwersaln\xB9, metod\xB9 opisu zachowa\xF1 \ac{AK} jest funkcja kwazi-totalistyczna (\ac{FQT})\citep{siwy}. Polega na agregowaniu \ac{RE} przy pomocy sum. Sumy wyliczane s\xB9 z warto\x9Cci + + +Danymi \ac{AK} nazywamy zbi\xF3r kom\xF3rek o okre\x9Clonym stanie oraz wzajemnym po\xB3o\xBFeniu wzgl\xEAdem siebie. Dla chwili zero m\xF3wimy o danych jako \ac{KP}. Informacje o kolejnych \ac{KB} powsta\xB3ych w wyniku przetwarzania \ac{AK} nazywamy {\bf histori\xB9 iteracji} b\xB9d\x9F {\bf histori\xB9 przetwarzania}. + +\section{Synteza optymalnej funkcjonalno\x9Cci symulatora przetwarza\xF1 kom\xF3rkowych} +\label{sec:syn} + +\subsection{Dane wej\x9Cciowe} +\label{subsec:dw} +\subsubsection{Model} +\label{subsubsec:model} +Dobieranie modelu jest podstawowym elementem prowadzenia przetwarza\xF1 \ac{AK}. Na model sk\xB3ada si\xEA s\xB9siedztwo (\ac{N}) oraz funkcja lokalna (\ac{FL}). Z~uwagi na swoj\xB9 form\xEA, \ac{FL} wymaga wi\xEAcej ingerencji ze strony operatora, ni\xBF tworzenie danych. + +Niezale\xBFnie od formatu funkcji, s\xB9siedztwo okre\x9Cla si\xEA w~ten sam spos\xF3b, tak wi\xEAc jego dob\xF3r mo\xBFna ograniczy\xE6 do wczytywania z~jednego rodzaju pliku oraz do wspomagania wizualnego (uwzgl\xEAdniaj\xB9cego do 3 wymiar\xF3w). Rozmieszczanie s\xB9siad\xF3w w~przestrzeniach jedno- i~dwuwymiarowych jest jednoznaczne, natomiast tworzenie s\xB9siedztw w~przestrzeni tr\xF3jwymiarowej wymaga dodatkowych narz\xEAdzi, om\xF3wionych szerzej w~rozdziale \ref{sec:wiz}. + +Natomiast dobieranie \ac{FL} jest z\xB3o\xBFonym procesem i~w~zale\xBFno\x9Cci od celu eksperymentu powinno przybra\xE6 r\xF3\xBFny poziom szczeg\xF3\xB3owo\x9Cci. W~zwi\xB9zku z~tym, jeden spos\xF3b specyfikowania funkcji jest niewystarczaj\xB9cy. Symulator powinien wspiera\xE6 zar\xF3wno formaty pozwalaj\xB9ce w~szybki spos\xF3b zaprojektowa\xE6 proste regu\xB3y przetwarzania (tzw. regu\xB3y elementarne), jak i~te z\xB3o\xBFone, kt\xF3re agreguj\xB9 du\xBFa ilo\x9C\xE6 \ac{RE}, pozwalaj\xB9c tym samym na tworzenie skomplikowanych zachowa\xF1 \ac{AK}. + +Wspomaganie definiowania \ac{FL} jest bezpo\x9Crednio powi\xB9zane z~wykorzystywanym formatem. To prowadzi do potrzeby tworzenia osobnej procedury pomocniczej dla ka\xBFdego obs\xB3ugiwanego sposobu okre\x9Clania funkcji. Cennym elementem tworzenia \ac{FL} jest mo\xBFliwo\x9C\xE6 niepe\xB3nego okre\x9Clenia funkcji poprzez jawne zadeklarowanie symboli nieokre\x9Clonych (\ac{SN}). Symulator powinien akceptowa\xE6 takie symbole i~zaznacza\xE6 je w~wyra\x9Fny spos\xF3b celem p\xF3\x9Fniejszego uszczeg\xF3\xB3owienia. + +\subsubsection{Dane} +\label{subsubsec:dane} +Tworzenie danych, podobnie jak s\xB9siedztwa, jest procesem jednoznacznym dla przestrzeni jedno- i~dwuwymiarowych, natomiast nietrywialnym dla przestrzeni tr\xF3jwymiarowych. Konfigurowanie rozmieszczenia kom\xF3rek jest przede wszystkim \xBFmudne i~wymaga usprawnienia. Zatem format zapisu \ac{KP} nie jest tutaj kluczow\xB9 cech\xB9~--- winien jedynie, dla zachowania sp\xF3jno\x9Cci i~jednoznaczno\x9Cci zapisu, by\xE6 analogiczny do s\xB9siedztwa. + +Najcz\xEA\x9Cciej wykonywan\xB9 czynno\x9Cci\xB9 jest kopiowanie istniej\xB9cych struktur i~ich nieznaczne modyfikowanie. W~oczywisty spos\xF3b projektowany system powinien takie zachowania implementowa\xE6. Jednak aby efektywnie porusza\xE6 si\xEA i~rozmieszcza\xE6 obiekty w~przestrzeni tr\xF3jwymiarowej potrzeba dodatkowej funkcjonalno\x9Cci. Istniej\xB9 dwa podej\x9Ccia do kwestii nawigacji w~3D: poruszanie si\xEA wewn\xB9trz budowanych struktur lub obcinanie przestrzeni p\xB3aszczyznami, w~celu wyodr\xEAbnienia element\xF3w zas\xB3oni\xEAtych przez struktury znajduj\xB9ce si\xEA bli\xBFej obserwatora. Szczeg\xF3\xB3owe rozwa\xBFania na ten temat mo\xBFna znale\x9F\xE6 w~rozdziale \ref{subsec:wiz}. + +W~celu stworzenia du\xBFej liczby \ac{KP} przydatne by\xB3o by leksykograficzne uzupe\xB3nianie \ac{SN}. Operator m\xF3g\xB3by wczyta\xE6 nie w~pe\xB3ni okre\x9Clon\xB9 \ac{KP}, przegl\xB9da\xE6 kolejne podstawienia i~na podstawie kilku pierwszy iteracji, wybra\xE6 te, kt\xF3re odpowiadaj\xB9 jego potrzebom. + +\subsection{Ustawienia domy\x9Clne i~przyk\xB3ady} +\label{subsec:udip} +W~nat\xB3oku tryb\xF3w, narz\xEAdzi i~wizualizacji prezentowanie tylko i~wy\xB3\xB9cznie kluczowych dla danej sytuacji opcji znacznie usprawnia prac\xEA operatora. Na podstawie wczytywanych kolejno plik\xF3w, zar\xF3wno modelu jak i~danych, aplikacja powinna oszacowa\xE6 najbardziej prawdopodobny typ eksperymentu i~dobra\xE6 odpowiednie narz\xEAdzia. + +R\xF3wnie wa\xBFne wa\xBFne s\xB9 logiczne ustawienia domy\x9Clne dla parametr\xF3w, kt\xF3rych u\xBFytkownik jawnie nie okre\x9Cli\xB3. Dob\xF3r tych ustawie\xF1 powinien by\xE6 konsekwentny i~jednolity w~ca\xB3ym pakiecie. Nale\xBFy zwr\xF3ci\xE6 szczeg\xF3ln\xB9 uwag\xEA na zbalansowanie automatycznego dobierania parametr\xF3w, aby program nie poprawia\xB3 jawnych b\xB3\xEAd\xF3w u\xBFytkownika. + +Dobrym pomys\xB3em jest do\xB3\xB9czenie do pakietu zbioru eksperyment\xF3w przyk\xB3adowych wraz z~bibliotek\xB9 cz\xEAsto u\xBFywanych element\xF3w, w~szczeg\xF3lno\x9Cci tych obecnych w~literaturze, jak ,,\xB3aziki'' czy ``migacz''. Pozwoli to na szybsze wdro\xBFenie si\xEA nowych operator\xF3w w~mo\xBFliwo\x9Cci programu oraz u\xB3atwi p\xF3\x9Fniejsze programowanie nowych eksperyment\xF3w, kt\xF3re to zazwyczaj s\xB9 logicznym krokiem rozwijaj\xB9cym ju\xBF istniej\xB9ce koncepcje (a~co za tym idzie istniej\xB9ce struktury). +% warto by tutaj poda\xE6 si\xEA na literature, gdzie takie \xB3aziki i~migacze wyst\xEApuj\xB9. + +\subsection{Wizualizacja} +\label{subsec:wiz} +\subsubsection{Uwagi og\xF3lne} +\label{subsubsec:uog} +Jednoznaczne i~wyra\x9Fne prezentowanie operatorowi element\xF3w modelu i~efekt\xF3w przetwarzania jest bezpo\x9Crednim powodem tworzenia symulator\xF3w. Jest to wi\xEAc funkcjonalno\x9C\xE6, na kt\xF3r\xB9 projektant tego typu oprogramowania powinien zwr\xF3ci\xE6 szczeg\xF3ln\xB9 uwag\xEA. W~szczeg\xF3lno\x9Cci wizualizowanie skomplikowanych struktur tr\xF3jwymiarowych w~czytelny spos\xF3b jest niebanalnym wyzwaniem, nie do ko\xF1ca programistycznym. + +\subsubsection{Funkcjonalno\x9C\xE6 podstawowa} +\label{subsubsec:npo} +Elementarnym zadaniem wizualizacji jest zaprezentowanie danych w~czytelny spos\xF3b. Nasuwa to problemy, takie jakie efektywne poruszanie si\xEA po obrazach znacznie wi\xEAkszych ni\xBF wielko\x9C\xE6 ekranu, czy swobodne zaznaczania dowolnego elementu, celem przeprowadzenia dzia\xB3a\xF1 z~nim zwi\xB9zanych. + +M\xF3wi\xB9c o~tr\xF3jwymiarowej wizualizacji, najcz\xEA\x9Cciej mamy na my\x9Cli narz\xEAdzia do operowania obiektami przestrzennymi. Obroty, przesuni\xEAcia, zbli\xBFenia czy oddalenia to swoisty elementarz. W~po\xB3\xB9czeniu z~manipulowaniem perspektyw\xB9 (patrz rozdzia\xB3 \ref{subsubsec:dane}) taki zestaw pozwala precyzyjnie pozycjonowa\xE6 pojedyncze elementy w~przestrzeni, jak i~zaznacza\xE6 ca\xB3e ich grupy, bez potrzeby zaznaczenia ka\xBFdej kom\xF3rki z~osobna. Tak wybran\xB9 struktur\xEA mo\xBFna nast\xEApnie \xB3atwo skopiowa\xE6 i~wklei\xE6 w~innym miejscu, czy wprost przemie\x9Cci\xE6. + +\subsubsection{Tryby wy\x9Cwietlania} +\label{subsubsec:twy} + +\paragraph{Tekstowy} +\label{par:tek} +Jest to najbardziej oczywisty tryb wy\x9Cwietlania bior\xB9c pod uwag\xEA charakter plik\xF3w wej\x9Cciowych. Polega na tworzeniu linii (w~przypadku \ac{LAK}-a) lub tabel (w~\ac{DAK}-u). Tekstowe wizualizowanie przestrzeni tr\xF3jwymiarowych nie jest tak efektywne i~czytelne, w~szczeg\xF3lno\x9Cci z~uwagi na ma\xB3\xB9 foremno\x9C\xE6 symboli znakowych. Dopiero za pomoc\xB9 wyboru wy\x9Cwietlanych p\xB3aszczyzn mo\xBFliwe jest efektywne obrazowanie cz\xEA\x9Cci przestrzeni tr\xF3jwymiarowej plansz\xB9 dwuwymiarow\xB9. + +Tryb tekstowy u\xB3atwia analizowanie przetwarza\xF1 \ac{AK} z~uwagi na reprezentacj\xEA element\xF3w modelu (w~szczeg\xF3lno\x9Cci \ac{FL}). Mo\xBFna w~ten spos\xF3b \xB3atwo \x9Cledzi\xE6 poprawno\x9C\xE6 dzia\xB3ania \ac{FL}, lub na bie\xBF\xB9co modyfikowa\xE6 jej posta\xE6 u\xBFywaj\xB9c symboli bezpo\x9Crednio prezentowanych na ekranie. + +\paragraph{Graficzny} +\label{par:graf} +Tryb graficzny jest szczeg\xF3lnie efektywny w~wizualizacji przestrzeni tr\xF3jwymiarowych oraz przy odnajdywaniu pewnych globalnych zachowa\xF1 \ac{AK} bez wg\xB3\xEAbiania si\xEA w~techniczne przyczyny ich powstania (np. \x9Cledzenie przemieszczania si\xEA konkretnego elementu, formowanie si\xEA zgrupowa\xF1 jednakowych warto\x9Cci). + +Wy\x9Cwietlanie polega na zast\xEApowaniu element\xF3w alfabetu wyj\x9Cciowego modelu \ac{AK} kszta\xB3tami i/lub kolorami na planszy pikslowej (\ac{LAK} i~\ac{DAK}) lub w~przestrzeni tr\xF3jwymiarowej. Moc wyrazu takiej formy prezentacji polega na zdecydowanej poprawie czytelno\x9Cci konfiguracji z\xB3o\xBFonych z~wielu r\xF3\xBFnowarto\x9Cciowych kom\xF3rek. Ponadto pozwala nada\xE6 wizualizacji charakter bardziej intuicyjny, zbli\xBFony do symulowanej dziedziny, np. upodobnienie konkretnych warto\x9Cci kszta\xB3t\xF3w rzeczywistych obiekt\xF3w. + +Dodatkowym plusem, aczkolwiek mniej istotnym dla samego operatora, jest tworzenie obiekt\xF3w graficznych bezpo\x9Crednio przez nowoczesne uk\xB3ady graficzne. To zdecydowanie poprawia wydajno\x9C\xE6 operowania rozleg\xB3ymi przestrzeniami, w~szczeg\xF3lno\x9Cci tr\xF3jwymiarowymi. W~po\xB3\xB9czeniu z~bardzo szybko rosn\xB9c\xB9 moc\xB9 obliczeniow\xB9 jednostek graficznych mo\xBFliwe jest wykorzystywanie efekt\xF3w dodatkowo poprawiaj\xB9cych czytelno\x9C\xE6 i~realistyczno\x9C\xE6 prezentacji, takich jak \gls{antyaliasing}, czy przezroczysto\x9C\xE6. + +\subsubsection{Interpretacja wy\x9Cwietlania} +\label{subsubsec:iwy} +Bardzo efektywn\xB9 metod\xB9 zwi\xEAkszenia czytelno\x9Cci prezentowanych danych jest interpretowanie obrazu. Polega ono na przypisywaniu znak\xF3w, kszta\xB3t\xF3w i~kolor\xF3w symbolom \ac{KB} przez operatora. Pozwala to uwypukli\xE6 konkretne cechy symulacji. + +Pakiet powinien umo\xBFliwi\xE6 definiowanie takich przyporz\xB9dkowa\xF1 zar\xF3wno dla trybu graficznego, jak i~tekstowego. Rozszerzeniem tej koncepcji jest mo\xBFliwo\x9C\xE6 tworzenie interpretacji dla grupy symboli. + +Potrzeb\xEA bardziej wyrafinowanego sterowanie wy\x9Cwietlaniem w~pe\xB3ni zaspokajaj\xB9 filtry. Pozwoli\xB3y by one na ustalanie lu\x9Fniejszych regu\xB3 sterowania wy\x9Cwietlaniem, np. wycinanie symboli o~warto\x9Cciach wi\xEAkszych lub mniejszych od zadanego progu, uwidacznianie pewnych struktur (np. 'poka\xBF co drug\xB9 kom\xF3rk\xEA'). + +\subsubsection{Regu\xB3y elementarne} +\label{subsubsec:rel} +Rozwini\xEAciem koncepcji widoku interpretowanego jest wy\x9Cwietlanie przetwarzania uwidoczniaj\xB9c \ac{RE}, kt\xF3re wp\xB3yn\xEA\xB3y na przekszta\xB3cenie \ac{KB} w~\ac{KN}. Podobnie jak w~przypadku definiowania znak\xF3w, kolor\xF3w i~kszta\xB3t\xF3w dla konkretnych warto\x9Cci kom\xF3rki, pakiet powinien umo\xBFliwi\xE6 dobranie sposobu reprezentacji danej \ac{RE}. Efektem dodatkowym takich dzia\xB3a\xF1 jest stworzenie listy \ac{RE} ustalonych w~toku oblicze\xF1. + +\subsubsection{Obserwator lokalny i~globalny} +\label{subsubsec:oli} +Najcz\xEAstsz\xB9 metod\xB9 wizualizowania eksperymentu jest przedstawianie widoku z~perspektywy obserwatora globalnego, czyli takiego, kt\xF3ry nie jest cz\xEA\x9Cci\xB9 symulacji i~ma nieograniczony oraz natychmiastowy dost\xEAp do wszystkich obiekt\xF3w. Ciekaw\xB9 koncepcj\xB9 wydaje si\xEA tak\xBFe mo\xBFliwo\x9C\xE6 zaprezentowania przebiegu oblicze\xF1 z~punktu widzenia jednego z~obiekt\xF3w symulowanej przestrzeni, zwanego obserwatorem lokalnym. Mo\xBFliwo\x9C\xE6 dynamicznego definiowania i~zmieniania punktu widzenia powinna by\xE6 cz\xEA\x9Cci\xB9 pakietu. + +W~bardziej z\xB3o\xBFonym przypadku mo\xBFna sobie wyobrazi\xE6, i\xBF obserwator jest ruchomy i~przemieszcza si\xEA wraz z~biegiem przetwarzania. + +\subsection{Przebieg eksperymentu} +\label{subsec:pek} +\subsubsection{Rytmy przetwarzania} +\label{subsubsec:rpr} +Najprostszym przypadkiem jest przetwarzanie krokowe~--- jedna iteracja naraz. R\xEAczne taktowanie iteracji staje si\xEA jednak uci\xB9\xBFliwe na d\xB3u\xBFsz\xB9 met\xEA, wi\xEAc pakiet powinien przewidzie\xE6 mo\xBFliwo\x9C\xE6 wykonania ustalonej przez operatora liczby iteracji. Skrajnym przypadkiem takiego zachowania jest eksperyment ci\xB9g\xB3y. Jest on przydatny do \x9Cledzenia pewnych charakterystycznych obiekt\xF3w \ac{AK}, takich jak ,,\xB3azik'', w~szczeg\xF3lno\x9Cci przy torusowych warunk\xF3w brzegowych. + +Najefektywniejszym sposobem prowadzenia symulacji jest wyznaczanie warunk\xF3w ko\xF1cowych. Wyst\xB9pienie kt\xF3regokolwiek z~nich ko\xF1czy eksperyment. Szczeg\xF3lnym przypadkiem takich warunk\xF3w jest liczba przeprowadzonych iteracji, kt\xF3ra zapobiega zap\xEAtleniu si\xEA przetwarzania w~sytuacji, gdy pozosta\xB3e warunki ko\xF1cowe okaza\xB3yby si\xEA nieosi\xB9galne. + +Opracowanie sposobu deklarowania, a~nast\xEApnie wyszukiwania nietrywialnych warunk\xF3w ko\xF1cowych (pusta plansza, pojawienie si\xEA konkretnego wzorca), jest jednak trudnym zadaniem. + +Dodatkowym elementem wspomagaj\xB9cym mog\xB3a by by\xE6 mo\xBFliwo\x9C\xE6 wprowadzenia definiowalnego op\xF3\x9Fnienia czasowego mi\xEAdzy kolejnymi iteracjami, celem spowolnienia przetwarzania, np. dla dok\xB3adniejszej analizy zachowa\xF1 \ac{AK}. + +\subsubsection{Historia iteracji} +\label{subsubsec:hit} +Przechowywanie ca\xB3ej historii eksperymentu pozwala na powr\xF3t do wcze\x9Cniejszych iteracji w~celu dok\xB3adnej analizy, lub zmiany element\xF3w \ac{AK} (modelu lub danych). Inn\xB9 mo\xBFliwo\x9Cci\xB9 jest prze\x9Cledzenie alternatywnej \x9Ccie\xBFki przetwarzania. Pakiet powinien udost\xEApni\xE6 p\xB3ynne poruszanie si\xEA wstecz iteracji, edycj\xEA \ac{KB} i~wznowienie symulacji od momentu zmiany. + +W~sytuacji idealnej pakiet przechowywa\xB3by ca\xB3a histori\xEA przetwarzania, \xB3\xB9cznie z~rozga\xB3\xEAzieniami wynikaj\xB9cymi z~powrot\xF3w i~zmian, oraz p\xB3ynne po niej poruszanie si\xEA. + +\subsubsection{Dynamiczne zmiany modelu i~danych} +\label{subsubsec:dzm} +Wprowadzanie dynamicznych zmian we wszystkich trzech elementach \ac{AK} (\ac{N}, \ac{FL} i~\ac{KB}) oraz uwzgl\xEAdnianie tych zmian w~dalszych obliczeniach jest cenn\xB9 funkcjonalno\x9Cci\xB9. Edycja powinna by\xE6 rejestrowana, by umo\xBFliwi\xE6 cofni\xEAcie wykonanych poprawek i~powr\xF3t do pierwotnej konfiguracji. + +\subsubsection{Por\xF3wnywanie przetwarza\xF1} +\label{subsubsec:ppr} +Cz\xEA\x9C\xE6 zaproponowanych powy\xBFej funkcjonalno\x9Cci wprowadza pewne zmiany w~przetwarzaniu. Mo\xBFliwo\x9C\xE6 bezpo\x9Credniego por\xF3wnywania tych zmian wydaje si\xEA interesuj\xB9ca, np. r\xF3wnoczesne \x9Cledzenie przetwarzania dla \ac{OG} i~\ac{OL}. W~celu uzyskania pe\xB3nej kontroli nad procesem por\xF3wnywania, nale\xBFy zaimplementowa\xE6 osobne, jak i~wsp\xF3lne taktowanie obu symulacji, . + +\subsection{Utrwalanie wynik\xF3w} +\label{subsec:uwy} +\subsubsection{Utrwalanie pojedynczych element\xF3w} +\label{subsubsec:upe} +System powinien pozwoli\xE6 u\xBFytkownikowi w~dowolnym momencie zachowa\xE6 ka\xBFdy z~element\xF3w sk\xB3adowych \ac{AK} (\ac{N}, \ac{FL} i~\ac{KB}) z~osobna, zar\xF3wno nadpisuj\xB9c poprzednie konfiguracje, jak i~tworz\xB9c nowe pliki. +\subsubsection{Utrwalanie historii przetwarzania} +\label{subsubsec:uch} +Zapisania ca\xB3o\x9Cci eksperymentu w~pojedynczym pliku u\xB3atwia p\xF3\x9Fniejsze jego wznowienie (lub analiz\xEA). Plik ten zawiera\xB3by zar\xF3wno elementy modelu, jak i~kompletn\xB9 histori\xEA przetwarzania \ac{KP} wraz z~rozga\xB3\xEAzieniami, wynikaj\xB9cymi ze zmian wprowadzonych w~trakcie trwania eksperymentu. + +Dodatkowym atutem by\xB3aby mo\xBFliwo\x9C\xE6 zachowania eksperymentu por\xF3wnawczego oraz taktowania obu przebieg\xF3w. +\subsubsection{Tworzenie multimedi\xF3w} +\label{subsubsec:tmu} +Prowadzenie z\xB3o\xBFonych symulacji \ac{AK} mo\xBFe poci\xB9ga\xE6 za sob\xB9 potrzeb\xEA korzystania z~platformy dysponuj\xB9cej znacznymi mocami obliczeniowymi. W~szczeg\xF3lno\x9Cci ta uwaga dotyczy manipulowania wizualizacj\xB9 tr\xF3jwymiarowych przestrzeni. W~celu u\xB3atwienia p\xF3\x9Fniejszej prezentacji przebiegu symulacji pakiet powinien umo\xBFliwi\xE6 tworzenie plik\xF3w multimedialnych. Pozwala to na swobod\xEA w~dalszym dystrybuowaniu wynik\xF3w, w~szczeg\xF3lno\x9Cci w~internecie. + +Dodatkowo nale\xBFy zwr\xF3ci\xE6 uwag\xEA na fakt, i\xBF forma multimedialna pozwala prezentowa\xE6 w~p\xB3ynny spos\xF3b przebieg symulacji, kt\xF3ra w~rzeczywisto\x9Cci mog\xB3a by\xE6 generowana na przestrzeni wielu godzin. + +\sectionauthor{Leszek Smentek}{Przegl\xB9d mo\xBFliwo\x9Cci znanych automat\xF3w kom\xF3rkowych} +\label{sec:pmz} +\subsection {MCell} + +\begin{figure}[!hpt] +\centering +\includegraphics[width=10cm]{chap2/mcell} +\caption{MCell} +\label{fig:} +\end{figure} + +MCell zosta\xB3 stworzonym przez Miros\xB3awa W\xF3jtowicza. Zas\xB3uguje na uwag\xEA ze wzgl\xEAdu na bogaty zestaw mo\xBFliwo\x9Cci funkcjonalnych, w jakie zosta\xB3 wyposa\xBFony. +Najwa\xBFniejsze z nich to: +\begin{itemize} +\item obs\xB3uga jedno i dwu wymiarowych automat\xF3w kom\xF3rkowych +\item wsparcie dla czternastu rodzin AK +\item 256 elementowy alfabet +\item bogaty zestaw gotowych regu\xB3 i konfiguracji pocz\xB9tkowych +\item wsparcie dla kilku r\xF3\xBFnych rodzaj\xF3w s\xB9siedztwa +\item zestaw narz\xEAdzi do analizy symulacji +\item wygodny i prosty w obs\xB3udze interfejs u\xBFytkownika +\item mo\xBFliwo\x9C\xE6 wsp\xF3\xB3pracy z innymi pakietami +\end{itemize} + +\subsection {DDLab} +\begin{figure}[!hpt] +\centering +\includegraphics[width=10cm]{chap2/ddlab} +\caption{DDLab} +\label{fig:} +\end{figure} + +DDLab jest interaktywnym programem graficznym przewidzianym do badania sko\xF1czonych sieci binarnych. Posiada dwa alternatywne sposoby postrzegania dynamiki sieci: dynamik\xEA lokaln\xB9 obrazuj\xB9c\xB9 dzia\xB3anie sieci wraz z nast\xEApuj\xB9cymi chwilami czasowymi, oraz dynamik\xEA globaln\xB9 przedstawiaj\xB9c\xB9 prac\xEA wsteczn\xB9 sieci. +Mo\xBFliwo\x9C\xE6 obrazowania dynamiki globalnej wyr\xF3\xBFnia ten produkt spo\x9Cr\xF3d innych symulator\xF3w sieci automat\xF3w kom\xF3rkowych. + +\subsection{Life32} +\begin{figure}[!hpt] +\centering +\includegraphics[width=10cm]{chap2/life32} +\caption{Life32} +\label{fig:} +\end{figure} + +Life32 uznawany jest za jeden z najlepszych symulator\xF3w opartych o regu\xB3y "Game of Life". Do g\xB3\xF3wnych zalet tej aplikacji nale\xBF\xB9 maksymalny rozmiar przetwarzanej konfiguracji kt\xF3ry ograniczony jest do planszy o rozmiarach 1000000 x 1000000, oraz du\xBFa pr\xEAdko\x9C\xE6 przetwarzania. Symulator posiada mo\xBFliwo\x9C\xE6 wsp\xF3\xB3pracy z innymi popularnymi pakietami. + +\subsection{CelLab} +\begin{figure}[!hpt] +\centering +\includegraphics[width=10cm]{chap2/cellab} +\caption{CelLab} +\label{fig:} +\end{figure} + +CelLab jest jednym z najpe\xB3niejszych dost\xEApnych AK. Daje mo\xBFliwo\x9C\xE6 definiowania w\xB3asnych funkcji lokalnych poprzez stworzenie kr\xF3tkiego programu w j\xEAzykach: Java, C, BASIC lub Pascal. + +\subsection{WinLife} +\begin{figure}[!hpt] +\centering +\includegraphics[width=10cm]{chap2/winlife} +\caption{WinLife} +\label{fig:} +\end{figure} + +WinLife to kolejny automat kom\xF3rkowy pracuj\xB9cy z modelem "Game of Life" + +\subsection {Por\xF3wnanie dost\xEApnych AK} + +\begin{landscape} +\begin{table}[!p] +\centering +\begin{tabular}{p{5em}|p{5em}|p{5em}|p{5em}|p{5em}|p{5em}|p{5em}|p{5em}} +AK & Dynamika globalna & Definiowanie dowolnych funkcji lokalnych & Wymiana danych pomi\xEAdzy pakietami & Graficzna reprezentacja symulacji & Tekstowa reprezentacja symulacji & Obserwator lokalny & Wspomaganie doboru modelu\\ +\hline +MCell & Nie & Tak & Tak & Tak & Nie & Nie & Nie\\ +\hline +DDLab & Tak & Tak & Nie & Tak & Nie & Nie & Nie\\ +\hline +Life32 & Nie & Nie & Tak & Tak & Nie & Nie & Nie\\ +\hline +CelLab & Nie & Tak & Tak & Tak & Nie & Nie & Nie\\ +\hline +WinLife & Nie & Nie & Nie & Tak & Nie & Nie & Nie +\end{tabular} +\caption{Por\xF3wnanie dost\xEApnych AK} +\label{tab:} +\end{table} +\end{landscape} + +% vim:fencs=cp1250:fenc=cp1250 Added: trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex (rev 0) +++ trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex 2007-02-04 21:47:19 UTC (rev 286) @@ -0,0 +1,105 @@ +\chapterauthor{Leszek Smentek}{Za\xB3o\xBFenia szczeg\xF3\xB3owe} +\label{chap:zsz} +\section{Mo\xBFliwo\x9Cci funkcjonalne pakietu} + \subsection {Podstawowe funkcje programu} +\subsubsection {Wczytywanie konfiguracji z pliku} + Do najbardziej podstawowych mo\xBFliwo\x9Cci funkcjonalnych ka\xBFdego symulatora AK zliczy\xE6 nale\xBFy praca z plikami zawieraj\xB9cymi informacje o prowadzonym eksperymencie. Pakiet dzieli konfiguracje prowadzonego eksperymentu na trzy podstawowe elementy niezb\xEAdne do symulacji: + \begin{itemize} + \item konfiguracja s\xB9siedztwo + \item funkcja lokalna + \item konfiguracja pocz\xB9tkowa eksperymentu + \end{itemize} +Ka\xBFdy z element\xF3w mo\xBFe by\xE6 inicjowany osobno co daje mo\xBFliwo\x9C\xE6 wp\xB3ywania na model symulacji poprzez zmian\xEA dowolnego elementu. Pakiet wyposa\xBFony zosta\xB3 r\xF3wnie\xBF w mo\xBFliwo\x9C\xE6 sk\xB3adowania wszystkich konfiguracji jednocze\x9Cnie w celu ponownego rozpocz\xEAcia lub wznowienia eksperymentu. + +\subsubsection {Tryby pracy symulatora} +Symulator wyposa\xBFony jest w podstawowe narz\xEAdzia prowadzenia eksperymentu umo\xBFliwiaj\xB9ce prace ci\xB9g\xB3\xB9 lub krokow\xB9. + +\subsubsection {Wizualizacja symulacji} + +Tryb wizualizacji podzielony zosta\xB3 na trzy modu\xB3y obrazowania symulacji Ka\xBFdy z modu\xB3\xF3w odpowiada stosowanemu automatowi kom\xF3rkowemu: jedno, dwu lub tr\xF3jwymiarowemu. +Wszystkie modu\xB3y posiadaj\xB9 zestaw narz\xEAdzi umo\xBFliwiaj\xB9cych zmian\xEA interpretacji obrazowanych wynik\xF3w przetwarzania. + +Dla tr\xF3jwymiarowego automatu kom\xF3rkowego przewidziany zosta\xB3 dodatkowy zestaw funkcji niezb\xEAdnych z uwagi na specyfik\xEA tego trybu. W sk\xB3ad mo\xBFliwo\x9Cci funkcjonalnych specjalizowanych dla trybu 3D wchodz\xB9: +\begin{itemize} + \item funkcje obrotu + \item funkcje przybli\xBFania oraz oddalania widoku + \item funkcje przycinania przestrzeni p\xB3aszczyznami +\end{itemize} + +\subsubsection{Utrwalanie wynik\xF3w przetwarzania} + +Program umo\xBFliwia utrwalanie prowadzonych eksperyment\xF3w w czterech trybach: +\begin{itemize} +\item trybie cz\xEA\x9Cciowym gdy zapisujemy do pliku wybrany element modelu(FL, N, KB) +\item zapisu ca\xB3kowitego tworz\xB9c jeden plik zawieraj\xB9cy wszystkie sk\xB3adowe modelu wraz z ca\xB3\xB9 histori\xB9 przetwarzania a tak\xBFe konfiguracje u\xBFytych symboli +\item zapisu poszczeg\xF3lnych klatek do plik\xF3w graficznych +\item zapisu eksperymentu do pliku multimedialnego +\end{itemize} + +\subsection {Rozszerzone funkcje programu} +Pakiet umo\xBFliwia edycje element\xF3w modelu na bie\xBF\xB9co podczas prowadzenia eksperymentu. Do edytowalnych element\xF3w wlicza si\xEA zmian\xEA bie\xBF\xB9cego s\xB9siedztwa, modyfikacja warto\x9Cci funkcji lokalnej, a tak\xBFe edycji konfiguracji bie\xBF\xB9cej eksperymentu. W celu u\xB3atwienia edycji do pakietu wprowadzono podstawowe narz\xEAdzia edycji umo\xBFliwiaj\xB9ce wype\xB3nianie obszar\xF3w KB zadan\xB9 warto\x9Cci\xB9 oraz kopiowanie i wklejanie obszar\xF3w przetwarzanych planszy. + +\subsubsection {Tworzenie element\xF3w modelu} + +Symulator wyposa\xBFono w kreatory daj\xB9ce mo\xBFliwo\x9C\xE6 przygotowanie podstawowych konfiguracji N, FL, KI. Przez podstawow\xB9 konfiguracje rozumie si\xEA minimalny stan elementu modelu kt\xF3ry umo\xBFliwia dalsz\xB9 edycje. Elementy konfiguracji nie mog\xB9 by\xE6 modyfikowane bez u\xBFycia kreator\xF3w. Podstawowe cechy konfiguracji dla poszczeg\xF3lnych element\xF3w modelu symulacji: + +\begin{itemize} +\item s\xB9siedztwo - wymiar przestrzeni s\xB9siedztwa(1, 2, 3D), konkretne rozmiar bry\xB3y s\xB9siedztwa. +\item funkcja lokalna - liczba argument\xF3w funkcji, argumenty totalizowane, rozmiar alfabetu wej\x9Cciowego. +\item konfiguracja inicjalna - wymiary przestrzeni, rozmiary \x9Cwiata, domy\x9Clna warto\x9C\xE6 wype\xB3nienia \x9Cwiata. +\end{itemize} + +\subsubsection {Tryby obserwatora} +Wa\xBFn\xB9 funkcjonalno\x9Cci\xB9 programu jest mo\xBFliwo\x9C\xE6 prze\xB3\xB9czania tryb\xF3w obserwatora: +\begin{itemize} +\item obserwator globalny - wszystkie zmiany konfiguracji widoczne s\xB9 natychmiastowo +\item obserwator lokalny - w trybie tym uwzgl\xEAdnione jest zjawisko op\xF3\x9Fnienia propagacji zmian wraz ze zwi\xEAkszaniem si\xEA odleg\xB3o\x9Cci od obserwatora +\end{itemize} +Tryb obserwatora lokalnego nie jest wspierany przez \xBFaden z powszechnie znanych symulator\xF3w AK. + +\subsubsection {Regu\xB3y elementarne} + +Pakiet umo\xBFliwia rejestrowania regu\xB3 elementarnych wykorzystanych w danej KB oraz funkcje interpretacji widoku symulacji za pomocom zarejestrowanych regu\xB3. + +\subsubsection{Dynamiczne dobieranie modelu symulacji} +Symulator obs\xB3uguje mo\xBFliwo\x9Cci wyst\xB9pienia nieokre\x9Clono\x9Cci zar\xF3wno w FL jak i KI. Wprowadzenie tej funkcjonalno\x9Cci umo\xBFliwia dynamiczne dobieranie warto\x9Cci funkcji lokalnej oraz KB podczas symulacji w miejscach wyst\xB9pienia warto\x9Cci nieokre\x9Clonych. + +\subsubsection{Model sieciowy} +Program zawiera funkcje przetwarzania za pomoc\xB9 modelu sieciowego. W trybie tym ka\xBFda kom\xF3rka traktowana jest jako automat Moora, a jej warto\x9C\xE6 przedstawia stan automatu w danej chwili. + +\subsubsection {R\xF3wnoleg\xB3e \x9Cledzenie wynik\xF3w symulacji} +Jedn\xB9 z mo\xBFliwo\x9Cci funkcjonalnych pakietu jest mo\xBFliwo\x9C\xE6 r\xF3wnoleg\xB3ego \x9Cledzenia wynik\xF3w symulacji. Opcja ta jest dost\xEApna w trybie obserwatora lokalnego. Ekran wizualizacji podzielony zostaje na dwie cz\xEA\x9Cci z kt\xF3rych jedna przedstawia przebieg symulacji w trybie obserwatora globalnego i druga widok z uwzgl\xEAdnieniem lokalno\x9Cci obserwatora. + +\subsubsection {Formaty danych} +Wspierane formaty danych to: +\begin{itemize} +\item funkcja lokalna + +\begin{itemize} +\item FQT +\item ZIFW +\item REAK +\item LTFL +\end{itemize} + +\item s\xB9siedztwo +\begin{itemize} +\item N +\end{itemize} + +\item konfiguracja inicjalna +\begin{itemize} +\item KI +\end{itemize} + +\item inne formaty +\begin{itemize} +\item lif +\item mcl +\item MO +\item formaty oparte na sk\xB3adni j\xEAzyka XML +\end{itemize} + +\end{itemize} + +% vim:fencs=cp1250:fenc=cp1250 Added: trunk/qcell/doc/licenciate_thesis/chap4/chap4.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap4/chap4.tex (rev 0) +++ trunk/qcell/doc/licenciate_thesis/chap4/chap4.tex 2007-02-04 21:47:19 UTC (rev 286) @@ -0,0 +1,353 @@ +\chapterauthor{Cezary Krzy\xBFanowski}{Implementacja} +\label{chap:imp} +Rozdzia\xB3 ten opisuje architektur\xEA oraz techniczne aspekty zwi\xB9zane z~implementacj\xB9 symulatora om\xF3wionego w~rozdziale \ref{chap:zsz}. Znajduje si\xEA w~nim opis wykorzystanych narz\xEAdzi, paradygmat\xF3w i~wzorc\xF3w programistycznych oraz jednostek programowych wchodz\xB9cych w~sk\xB3ad aplikacji. + +\section{Stosowane narz\xEAdzia} +\label{sec:sna} + +\subsection{Narz\xEAdzia stosowane przy implementacji} +\label{subsec:npi} +\begin{description} + \item [autotools] GNU Build System~--- Zestaw narz\xEAdzi stworzonych przez projekt GNU\footnote{\url{http://www.gnu.org/}} cz\xEA\x9Cciowo automatyzuj\xB9cych budowanie pakiet\xF3w w wielu systemach UNIXopodobnych. Jest cz\xEA\x9Cci\xB9 GNU Toolchain.\\\url{http://sources.redhat.com/autobook/} + \item[gcc] Wieloplatformowy zestaw kompilator\xF3w. U\xBFyto kompilatora j\xEAzyka C++~--- gcc-c++ w wersji 4.2.\\\url{http://gcc.gnu.org/} + \item[gdb] Wieloplatformowy \gls{debugger} w wersji 6.6.\\\url{http://www.gnu.org/software/gdb/} + \item[Microsoft Visual Studio .Net 2003] Narz\xEAdzie do edycji i kompilacji program\xF3w w \x9Crodowisku Microsoft Windows. U\xBFyto kompilatora j\xEAzyka C++.\\\url{http://msdn.microsoft.com/vstudio/previous/2003/} + \item[\Qt{}] Zestaw bibliotek firmy Trolltech do implementowania wieloplatformowego oprogramowania, w szczeg\xF3lno\x9Cci \ac{GUI} o natywnym, dla danej platformy, wygl\xB9dzie. Zawiera r\xF3wnie\xBF klasy og\xF3lnego zastosowania, oraz w\xB3asny system kompilacji. U\xBFyto wersji 4.2.\\\url{http://www.trolltech.com/products/qt/} + \item[Vim] Zaawansowany edytor plik\xF3w tekstowych. Posiada ponad 1700 wtyczek do pracy z~wieloma r\xF3\xBFnymi formatami plik\xF3w.Vim zosta\xB3 wykorzystany jako \ac{IDE}, \gls{debugger} oraz program do sk\xB3adu tekstu. U\xBFyto wersji 7.0.\\\url{http://www.vim.org/} +\end{description} + +\subsection{Narz\xEAdzia stosowane przy pisaniu tekstu pracy} +\label{subsec:npt} +\begin{description} + \item [AcrobatReader] Interpreter plik\xF3w pdf.\\\url{http://www.adobe.com/products/acrobat/readstep2.html}. + \item [aspell] Wolnodost\xEApny program do sprawdzania pisowni i gramatyki wraz ze s\xB3ownikami w wielu j\xEAzykach.\\\url{http://aspell.sourceforge.net/} + \item [cmake] Wieloplatformowy generator skrypt\xF3w budowania.\\\url{http://www.cmake.org/} + \item [Evince] Interpreter plik\xF3w pdf w \x9Crodowisku \gls{GNOME} na platformie Linux.\\\url{http://www.gnome.org/projects/evince/} + \item [GIMP] Program do tworzenia grafiki rastrowej i przekszta\xB3cania obraz\xF3w do formatu \ac{EPS} wykorzystywanego w \TeX{}-u.\\\url{http://www.gimp.org/} + \item [Inkspace] Program do tworzenia grafiki wektorowej, g\xB3\xF3wnie w formacie \ac{SVG}.\\\url{http://www.inkscape.org/} + \item [TeTex] Implementacja j\xEAzyka sk\xB3adania tekstu \TeX{} na platformach UNIX-owych, wraz z zainstalowanym systemem makr \LaTeXe{}\citep{latex}.\\\url{http://www.tug.org/tetex/} + \item [TexLive 2005] Kompletne \x9Crodowisko \TeX{}-a tworzone przez \ac{TUG}. +\end{description} + +\section{Za\xB3o\xBFenia wst\xEApne} +\label{sec:zws} +Fundamentalnym elementem pakietu, kt\xF3ry determinuje wszystkie p\xF3\x9Fniejsze ograniczenia, jest biblioteka \Qt{}. W~szczeg\xF3lno\x9Cci jej podstawowe struktury, takie jak \code{QVector} czy \code{QString}, kt\xF3re indeksowane s\xB9 liczbami ca\xB3kowitymi (int)\citep{qt4}. + +Pakiet powsta\xB3 przy intensywnym wykorzystaniu mechanizm\xF3w dostarczanych przez bibliotek\xEA \Qt{}. Modularn\xB9 (wtyczkow\xB9) architektur\xEA programu zapewni\xB3a klasa \code{QtPlugin}. Do implementacji graficznej reprezentacji \ac{AK} u\xBFyto bibliotek OpenGL w~standardzie 1.1 (dla kompatybilno\x9Cci z~mo\xBFliwie najszersz\xB9 gam\xB9 uk\xB3ad\xF3w graficznych), opakowanych przez modu\xB3 \code{QtOpenGL}. \code{QtXML} zapewni\xB3 parser \ac{XML}-a. + +Pozosta\xB3e elementy pakietu opieraj\xB9 si\xEA na g\xB3\xF3wnym module bibliotek \Qt{} (\code{QtCore}), implementuj\xB9cym podstawowe struktury og\xF3lnego u\xBFytku (listy, mapy, wektory), natomiast \ac{GUI} powsta\xB3o z~u\xBFyciem \code{QtGui}\citep{qt4}. + +\section{Og\xF3lna architektura programu} +\label{sec:asy} +Podstawowym za\xB3o\xBFeniem architektonicznym zbudowanej aplikacji jest maksymalna modu\xB3owo\x9C\xE6 oraz wymiana komunikat\xF3w przy pomocy \ac{XML}-a. Pozwala to na dzia\xB3anie w~\x9Crodowisku rozproszonym. Skutkiem ubocznym, aczkolwiek po\xBF\xB9danym, jest przymus projektowania dobrze zdefiniowanych interfejs\xF3w, zapewniaj\xB9cych komunikacj\xEA pomi\xEAdzy poszczeg\xF3lnymi elementami pakietu. + +Architektura programu przedstawiona jest na rysunku \ref{fig:arch}. + +\begin{figure}[!hpt] + \begin{center} + \includegraphics[height=200pt]{chap4/Architecture} + \end{center} + \caption{Architektura systemu} + \label{fig:arch} +\end{figure} + +\begin{description} + \item[\ac{GUI}] Modu\xB3 definiuj\xB9cy warstw\xEA prezentacji. W~jego sk\xB3ad wchodz\xB9 okna programu, paski narz\xEAdzi, menu oraz przyborniki z~narz\xEAdziami. Modu\xB3 ten implementuje widok (\emph{View}) paradygmatu \ac{MVC}\citep{iowp}. \emph{Autorem jest Cezary Krzy\xBFanowski.} + \item[Baza danych] Modu\xB3 odpowiedzialny za przechowywanie element\xF3w modelu i~danych \ac{AK}. Implementuje r\xF3wnie\xBF struktury do przechowywania i~nawigacji po historii przetwarzania, w~szczeg\xF3lno\x9Cci historii iteracji (por. \ref{subsubsec:hit}). Modu\xB3 ten implementuje model (\emph{Model}) paradygmatu \ac{MVC}\citep{iowp}. \emph{Autorem jest Cezary Krzy\xBFanowski.} + \item[J\xB9dro logiczne] Modu\xB3 \xB3\xB9cz\xB9cy wszystkie elementy ze sob\xB9 oraz interpretuj\xB9cy polecenia u\xBFytkownika. Realizuje te funkcje wysy\xB3aj\xB9c lub po\x9Crednicz\xB9c w~wysy\xB3ce polece\xF1 w~formacie \ac{XML} do poszczeg\xF3lnych obiekt\xF3w. Modu\xB3 ten implementuje kontroler (\emph{Controller}) paradygmatu \ac{MVC}\citep{iowp}. \emph{Autorem jest Cezary Krzy\xBFanowski.} + \item[Modu\xB3 obliczeniowy] Modu\xB3 obliczeniowy zawiera zbi\xF3r algorytm\xF3w do manipulowania \ac{AK}, przede wszystkim zwi\xB9zanych z~generowaniem kolejnych iteracji. \emph{Autorem jest Leszek Smentek.} + \item[Parsery] Zbi\xF3r dynamicznych bibliotek (wtyczek) do interpretacji plik\xF3w wej\x9Cciowych i~wyj\x9Cciowych. Parsery przekszta\xB3caj\xB9 r\xF3\xBFne formaty zapisu element\xF3w \ac{AK} na struktury u\xBFywane wewn\xEAtrznie oraz po\x9Crednicz\xB9 przy zapisie danych. \emph{Autorem jest Cezary Krzy\xBFanowski.} + \item[Renderer] Modu\xB3 wykorzystuj\xB9cy bibliotek\xEA \gls{OpenGL} do wyliczania scen prezentuj\xB9cych \ac{KB}. Na podstawie danych o~rozmieszczeniu kom\xF3rek oraz zbiorze regu\xB3 interpretacyjnych okre\x9Clonych przez operatora, klasa Renderer ustawia scen\xEA i~zleca jej wyrenderowanie uk\xB3adowi graficznemu\citep{gl}. Modu\xB3 ten wykorzystywany jest do wy\x9Cwietlania w~trybie graficznym konfiguracji dwu- i~tr\xF3jwymiarowych \ac{AK}. \emph{Autorem jest Leszek Smentek.} +\end{description} + +\section{Szczeg\xF3\xB3owa charakterystyka modu\xB3\xF3w pakietu} +\label{sec:jpp} +\subsection{Jednostki programowe \acs{GUI}} +\label{subsec:jgu} + +Wykaz klas oraz jednostek programowych wchodz\xB9cych w~sk\xB3ad \ac{GUI} znajduje si\xEA w~tabeli \ref{tab:lgu}. + +\begin{table}[!hpt] + \centering + \begin{tabular}{l|p{20em}} + Klasa & Pliki z~implementacj\xB9 \\ + \hline\hline + \code{BaseTools} & basetools.h basetools.cpp \\ + \hline + \code{BetterDockWidget} & BetterDockWidget.h BetterDockWidget.cpp \\ + \hline + \code{ElementalRulesWidget} & ElementalRulesWidget.h ElementalRulesWidget.cpp \\ + \hline + \code{ExperimentSetup} & ExperimentSetup.h ExperimentSetup.cpp \\ + \hline + \code{FunctionTable} & FunctionTable.h Funkcjonalno\x9C\xE6.cpp \\ + \hline + \code{MainWindow} & MainWindow.h MainWindow.cpp \\ + \hline + \code{NeighbourhoodTools} & NeighbourhoodTools.h NeighbourhoodTools.cpp \\ + \hline + \code{NewNeighbourhoodWizard} & NewNeighbourhoodWizard.h NewNeighbourhoodWizard.cpp \\ + \hline + \code{RuleProperties} & RuleProperties.h RuleProperties.cpp \\ + \hline + \code{simulationWindow} & simulationWindow.h simulationWindow.cpp \\ + \hline + \code{View1DTextTools} & View1DTextTools.h View1DTextTools.cpp \\ + \hline + \code{View2DTextTools} & View2DTextTools.h View2DTextTools.cpp \\ + \hline + \code{View3DTools} & View3DTools.h View3DTools.cpp + \end{tabular} + \caption{Wykaz klas i~jednostek programowych wchodz\xB9cych w~sk\xB3ad modu\xB3u GUI} + \label{tab:lgu} +\end{table} + +G\xB3\xF3wn\xB9 klas\xB9 \ac{GUI} jest \code{MainWindow}, czyli okno g\xB3\xF3wne aplikacji. Definiuje ona rozmieszczenie poszczeg\xF3lnych element\xF3w interfejsu oraz po\x9Credniczy w~przekazywaniu zdarze\xF1, generowanych przez u\xBFytkownika, mi\xEAdzy elementami podrz\xEAdnymi a~j\xB9drem logicznym\citep{iowp} (por. \ref{subsec:jjl}). + +Klasy, kt\xF3rych nazwy ko\xF1cz\xB9 si\xEA s\xB3owem ,,Tools'' implementuj\xB9 przyborniki z~narz\xEAdziami do obs\xB3ugi konkretnego trybu wy\x9Cwietlania. Dla przyk\xB3adu pliki View3DTools.h oraz View3DTools.cpp opisuj\xB9 elementy \ac{GUI} do sterowania trybu 3D (por \ref{subsec:zwi}). Zgodnie z paradygmatem \ac{MVC} polecenia operatora zlecane s\xB9 do wykonania modu\xB3owi obliczeniowemu\citep{iowp}(por. \ref{subsec:jmo}). Wszystkie klasy z~tej rodziny dziedzicz\xB9 po \code{BetterDockWidget}, kt\xF3ry nieznacznie zmienia domy\x9Clne zachowanie \code{QDockWidget} z~bibliotek \Qt{}\citep{qt4doc}. + +Do wy\x9Cwietlania \ac{RE} s\xB3u\xBFy \code{ElementalRulesWidget}, kt\xF3ra wizualizuje dane zebrane przez \code{ElementalRules} (por. \ref{subsec:jmo}). Okienko dialogowe zaimplementowane w~pliku RuleProperties.cpp pozwala ustawia\xE6 regu\xB3y interpretacyjne dla zebranych \ac{RE}. + +\code{FunctionTable} oraz \code{simulationWindow} to specjalizowane \gls{widget}y do wy\x9Cwietlania odpowiednio tabeli \ac{FL} oraz wszystkich tryb\xF3w prezentowania \ac{KB}. + +Diagram kolaboracji \ac{GUI} przedstawiony zosta\xB3 na rysunku \ref{fig:gui}. + +\begin{figure}[!hpt] + \begin{center} + \includegraphics[width=\textwidth]{chap4/MainWindowArch} + \end{center} + \caption{Diagram kolaboracji modu\xB3u \ac*{GUI}} + \label{fig:gui} +\end{figure} + +\subsection{Jednostki programowe modu\xB3u bazy danych} +\label{subsec:jbd} + +Wykaz klas oraz jednostek programowych wchodz\xB9cych w~sk\xB3ad modu\xB3u bazy danych znajduje si\xEA w~tabeli \ref{tab:lbd}. + +\begin{table}[!hpt] + \centering + \begin{tabular}{l|p{20em}} + Klasa & Pliki z~implementacj\xB9 \\ + \hline\hline + \code{Storage} & Storage.h Storage.cpp \\ + \hline + \code{StorageInterface} & StorageInterface.h StorageInterface.cpp + \end{tabular} + \caption{Wykaz klas i~jednostek programowych wchodz\xB9cych w~sk\xB3ad modu\xB3u bazy danych} + \label{tab:lbd} +\end{table} + +Baza danych zaimplementowana zosta\xB3a jako wtyczka. Definicja interfejsu komunikacji mi\xEAdzy j\xB9drem logicznym a~baz\xB9 znajduje si\xEA w~plikach StorageInterface.h oraz StorageInterface.cpp (por. \ref{subsec:jjl}). W\xB3a\x9Cciwa implementacja struktur przechowuj\xB9cych oraz indeksuj\xB9cych dane pierwotne (wczytane z~pliku), jak i~dane wt\xF3rne (powsta\xB3e w~trakcie dzia\xB3ania programu), widnieje w~klasie \code{Storage}. + +Magazynowaniu podlegaj\xB9 obiekty klas \code{Neighbourhood}, \code{LocalFunction} oraz \code{CalculationData}, b\xEAd\xB9ce cz\xEA\x9Cci\xB9 modu\xB3u obliczeniowego (por. \ref{subsec:jmo}). Dodatkowo przechowywane s\xB9 podstawowe informacje dot. przebiegu eksperymentu, takie jak numer porz\xB9dkowy ostatniej obliczonej iteracji, czy numer porz\xB9dkowy aktualnie wy\x9Cwietlonej \ac{KB} (kt\xF3re w~wyniku poruszania si\xEA wstecz historii iteracji mog\xB9 si\xEA r\xF3\xBFni\xE6 - por. \ref{subsubsec:hit}). + +\subsection{Jednostki programowe j\xB9dra logicznego} +\label{subsec:jjl} + +Wykaz klas oraz jednostek programowych wchodz\xB9cych w~sk\xB3ad j\xB9dra logicznego znajduje si\xEA w~tabeli \ref{tab:ljl}. + +\begin{table}[!hpt] + \centering + \begin{tabular}{l|p{20em}} + Klasa & Pliki z~implementacj\xB9 \\ + \hline\hline + \code{ElementalRules} & ElementalRules.h ElementalRules.cpp \\ + \hline + \code{GenericParserPlugin} & GenericParserPlugin.h GenericParserPlugin.cpp \\ + \hline + \code{MainWindow} & MainWindow.h MainWindow.cpp \\ + \hline + \code{ParserInterface} & ParserInterface.h ParserInterface.cpp \\ + \hline + \code{StorageInterface} & StorageInterface.h StorageInterface.cpp + \end{tabular} + \caption{Wykaz klas i~jednostek programowych wchodz\xB9cych w~sk\xB3ad modu\xB3u j\xB9dra logicznego} + \label{tab:ljl} +\end{table} + +J\xB9dro logiczne zaimplementowane zosta\xB3o jako podzbi\xF3r funkcji klasy \code{MainWindow}. Przy pomocy interfejs\xF3w zdefiniowanych w~\code{ParserInterface} oraz \code{StorageInterface} aplikacja g\xB3\xF3wna komunikuje si\xEA z~wtyczkami, \xB3adowanymi podczas startu programu. W~celu ewentualnego rozproszenia modu\xB3\xF3w pakietu w~\x9Crodowisku sieciowym wymiana danych oraz komend odbywa si\xEA za pomoc\xB9 j\xEAzyka \ac{XML}. + +Klasa \code{GenericParserPlugin} stanowi implementacj\xEA podstawowych test\xF3w poprawno\x9Cci plik\xF3w wej\x9Cciowych, rozszerzanych nast\xEApnie specyficznie dla konkretnego formatu przez parsery (por. \ref{subsec:jpa}). + +\code{ElementalRules} zawiera logik\xEA zwi\xB9zan\xB9 z~rejestrowaniem \ac{RE}, kt\xF3re wy\x9Cwietlane s\xB9 za pomoc\xB9 klasy \code{ElementalRulesWidget} (por. \ref{subsec:jgu}). + +Diagram kolaboracji j\xB9dra logicznego przedstawiony zosta\xB3 na rysunku \ref{fig:gui}. + +\subsection{Jednostki programowe modu\xB3u oblicze\xF1} +\label{subsec:jmo} + +Wykaz klas oraz jednostek programowych wchodz\xB9cych w~sk\xB3ad modu\xB3u oblicze\xF1 znajduje si\xEA w~tabeli \ref{tab:wmo}. + +\begin{table}[!hpt] + \centering + \begin{tabular}{l|p{20em}} + Klasa & Pliki z~implementacj\xB9 \\ + \hline\hline + \code{baseDataTypes} & baseDataTypes.h baseDataTypes.cpp \\ + \hline + \code{CalculationData} & CalculationData.h CalculationData.cpp \\ + \hline + \code{Calculator} & Calculator.h Calculator.cpp \\ + \hline + \code{LocalFunction} & LocalFunction.h LocalFunction.cpp \\ + \hline + \code{Neighbourhood} & Neighbourhood.h Neighbourhood.cpp + \end{tabular} + \caption{Wykaz klas i~jednostek programowych wchodz\xB9cych w~sk\xB3ad modu\xB3u oblicze\xF1} + \label{tab:wmo} +\end{table} + +Obliczanie \ac{KN} na podstawie \ac{KB} odbywaj\xB9 si\xEA w \code{Calculator}. Klasy \code{CalculationData}, \code{LocalFunction} oraz \code{Neighbourhood} implementuj\xB9 operacje na odpowiednio \ac{KB}, \ac{FL} oraz \ac{N}. Wszystkie dziedzicz\xB9 po \code{baseDataTypes} opisuj\xB9cym podstawowe typy proste, za pomoc\xB9 kt\xF3rych mo\xBFna zapisywa\xE6 dane. Kolejne obliczone \ac{KB} zapisywane s\xB9 w~module bazy danych (por. \ref{subsec:jbd}). + +Diagram kolaboracji modu\xB3u oblicze\xF1 przedstawiony zosta\xB3 na rysunku \ref{fig:kmo}. + +\begin{figure}[!hpt] + \begin{center} + \includegraphics[height=100pt]{chap4/Calculator} + \end{center} + \caption{Diagram kolaboracji modu\xB3u oblicze\xF1} + \label{fig:kmo} +\end{figure} + +\subsection{Jednostki programowe zbioru parser\xF3w} +\label{subsec:jpa} + +Wykaz klas oraz jednostek programowych wchodz\xB9cych w~sk\xB3ad zbioru parser\xF3w znajduje si\xEA w~tabeli \ref{tab:wpa}. + +\begin{table}[!hpt] + \centering + \begin{tabular}{l|p{20em}} + Klasa & Pliki z~implementacj\xB9 \\ + \hline\hline + \code{GenericParserPlugin} & GenericParserPlugin.h GenericParserPlugin.cpp \\ + \hline + \code{FQTParserPlugin} & FQTParserPlugin.h FQTParserPlugin.cpp \\ + \hline + \code{LTFLParserPlugin} & LTFLParserPlugin.h LTFLParserPlugin.cpp \\ + \hline + \code{NParserPlugin} & NParserPlugin.h NParserPlugin.cpp \\ + \hline + \code{ParserInterface} & ParserInterface.h ParserInterface.cpp \\ + \hline + \code{REAKParserPlugin} & REAKParserPlugin.h REAKParserPlugin.cpp \\ + \hline + \code{ZIFWParserPlugin} & ZIFWParserPlugin.h ZIFWParserPlugin.cpp \\ + \hline + \code{ZIFWPParserPlugin} & ZIFWPParserPlugin.h ZIFWPParserPlugin.cpp + \end{tabular} + \caption{Wykaz klas i~jednostek programowych wchodz\xB9cych w~sk\xB3ad zbioru parser\xF3w} + \label{tab:wpa} +\end{table} + +Ka\xBFda klasa tej grupy programowej implementuje wczytywanie oraz zapisywanie danych z~innego formatu plik\xF3w. Odbywa si\xEA to poprzez por\xF3wnywanie kolejnych linijek pliku wej\x9Cciowego z~wyra\xBFeniami regularnymi, definiuj\xB9cymi poprawn\xB9 struktur\xEA dla konkretnego formatu. W~razie niezgodno\x9Cci u\xBFytkownik informowany jest o~miejscu wyst\xB9pienia b\xB3\xEAdu i~jego postaci. Dla ka\xBFdego b\xB3\xEAdu sk\xB3adniowego podawane jest wyra\xBFenie regularne definiuj\xB9ce poprawn\xB9 posta\xE6 linijki, w~kt\xF3rej wykryto nieprawid\xB3owo\x9Cci. + +Dane z~plik\xF3w przeparsowywane s\xB9 do struktur u\xB3atwiaj\xB9cych manipulacj\xEA nimi (np. \code{QMap}, \code{QVector}) a~nast\xEApnie zamieniane na posta\xE6 \ac{XML}-ow\xB9 z~wykorzystaniem klas og\xF3lnych (np. \code{LocalFunction} w~przypadku wszystkich format\xF3w definiuj\xB9cych \ac{FL}~--- por. \ref{subsec:jmo}). + +Parsery rozwi\xB9zane zosta\xB3y jako wtyczki (por. \ref{subsec:jjl}). Pozwala to na dodawanie kolejnych format\xF3w plik\xF3w do grupy obs\xB3ugiwanej przez projekt, bez potrzeby rekompilowania g\xB3\xF3wnego programu. Komunikacja z~aplikacj\xB9 odbywa si\xEA przy pomocy abstrakcyjnego interfejsu \code{ParserInterface}, implementowanego przez \code{GenericParserPlugin} (wraz z~podstawowymi testami poprawno\x9Cci plik\xF3w - por. \ref{subsec:jjl}). + +Diagram klas zbioru parser\xF3w przedstawiony zosta\xB3 na rysunku \ref{fig:dpa}. + +\begin{figure}[!htp] + \begin{center} + \includegraphics[height=150pt]{chap4/GenericParser} + \end{center} + \caption{Diagram klas zbioru parser\xF3w} + \label{fig:dpa} +\end{figure} + +\subsection{Jednostki programowe modu\xB3u renderera} +\label{subsec:jre} + +Wykaz klas oraz jednostek programowych wchodz\xB9cych w~sk\xB3ad modu\xB3u renderera znajduje si\xEA w~tabeli \ref{tab:wre}. + +\begin{table}[!hpt] + \centering + \begin{tabular}{l|p{20em}} + Klasa & Pliki z~implementacj\xB9 \\ + \hline\hline + \code{Renderer} & Renderer.h Renderer.cpp + \end{tabular} + \caption{Wykaz klas i~jednostek programowych wchodzacych w~sk\xB3ad modu\xB3u renderera} + \label{tab:wre} +\end{table} + +Na podstawie danych dostarczanych przez modu\xB3 bazy danych (por. \ref{subsec:jbd}) \code{Renderer} opisuje scen\xEA oraz zleca jej wy\x9Cwietlenie uk\xB3adowi graficznemu. W~tym celu wykorzystywane s\xB9 wywo\xB3ania biblioteki \gls{OpenGL}\citep{gl}. Klasa ta wykorzystywana jest w dwu- i~tr\xF3jwymiarowym trybie graficznym (por.\ref{par:graf}). + +Dzia\xB3anie tego modu\xB3u inicjowane jest wyliczeniem kolejnej iteracji przez modu\xB3 oblicze\xF1 (por. \ref{subsec:jmo}), b\xB9d\x9F przez narz\xEAdzia manipulowania wy\x9Cwietlaniem stosowane przez operatora (por. \ref{subsec:wiz} oraz \ref{subsec:jgu}). + +Diagram kolaboracji modu\xB3u renderera przedstawiony zosta\xB3 na rysunku \ref{fig:dre}. + +\begin{figure}[!hpt] + \begin{center} + \includegraphics[height=175pt]{chap4/Renderer} + \end{center} + \caption{Diagram kolaboracji modu\xB3u renderera} + \label{fig:dre} +\end{figure} + +\section{Ograniczenia pakietu} +\label{sec:opa} + +\subsection{Liczba r\xF3wnoleg\xB3ych eksperyment\xF3w} +\label{subsec:lre} +Zaimplementowany pakiet pozwala przeprowadza\xE6 do dw\xF3ch eksperyment\xF3w na raz. Jest zatem mo\xBFliwe prowadzenie eksperyment\xF3w por\xF3wnawczych, polegaj\xB9cych na obserwowaniu r\xF3wnoleg\xB3ego przetwarzania dw\xF3ch \ac{KB}. + +\subsection{Wielowymiarowe przestrzenie} +\label{subsec:wpr} +Pakiet pozwala na obserwowanie przetwarzania jedno-, dwu- i~tr\xF3jwymiarowych \ac{AK}. Implementacja wi\xEAcej ni\xBF tr\xF3jwymiarowych \ac{AK} jest osi\xB9galna, jednak\xBFe efektywna wizualizacja przestrzeni wielowymiarowych pozostaje kwesti\xB9 sporn\xB9. + +\subsection{Ograniczenia s\xB9siedztwa} +\label{subsec:osa} +Implementacja silnika obliczeniowego pozwala na s\xB9siedztwo sk\xB3adaj\xB9ce si\xEA z~maksymalnie \maxint{} s\xB9siad\xF3w, oddalonych od punktu centralnego o~maksymalnie \maxint{} kom\xF3rek. Jednak\xBFe spos\xF3b wczytywania s\xB9siedztwa z~pliku tekstowego nak\xB3ada ograniczenia wynikaj\xB9ce z~liczby znak\xF3w czytelnych dla u\xBFytkownika ko\xF1cowego. Ograniczenia te zebrane s\xB9 w~tabeli \ref{tab:os} + +\begin{table}[!hpt] + \centering + \begin{tabular}{p{15em}|c} + Liczba s\xB9siad\xF3w & \maxchar \\ + \hline + Odleg\xB3o\x9C\xE6 od punktu centralnego (w~kom\xF3rkach) & \maxint \\ + \end{tabular} + \caption{Ograniczenia s\xB9siedztwa} + \label{tab:os} +\end{table} + +Ograniczenia formalne znacznie przekraczaj\xB9 mo\xBFliwo\x9Cci wizualizacyjne pakietu. W~celu komfortowego prowadzenia eksperymentu wymiary s\xB9siedztwa powinny by\xE6 znacznie mniejsze. Szczeg\xF3\xB3owe testy wydajno\x9Cciowe s\xB9siedztwa znajduj\xB9 si\xEA w~rozdziale \ref{sec:wyd}. + +\subsection{Ograniczenia funkcji lokalnej} +Teoretyczne mo\xBFliwo\x9Cci silnika obliczeniowego pozwalaj\xB9 na przechowywanie funkcji sk\xB3adaj\xB9cej si\xEA z~\maxint{} argument\xF3w, jednak\xBFe spos\xF3b wczytywania funkcji z~pliku nak\xB3ada ograniczenia wynikaj\xB9ce z~liczby znak\xF3w czytelnych dla u\xBFytkownika ko\xF1cowego. Praktyczne ograniczenia zebrane s\xB9 w~tabeli \ref{tab:ofl} + +\begin{table}[!hpt] + \centering + \begin{tabular}{p{15em}|c} + Rozmiar alfabetu wej\x9Cciowego & \maxchar \\ + \hline + Rozmiar alfabetu wyj\x9Cciowego & \maxchar \\ + \hline + Liczba argument\xF3w funkcji & \maxint \\ + \end{tabular} + \caption{Ograniczenia funkcji lokalnej} + \label{tab:ofl} +\end{table} + +W~praktyce rozmiar \ac{FL} ograniczony jest znacznie bardziej z~uwagi na sko\xF1czone zasoby obliczeniowe. Testy optymalnych rozmiar\xF3w funkcji znajduj\xB9 si\xEA w~rozdziale \ref{sec:wyd} + +\subsection{Ograniczenia konfiguracji pocz\xB9tkowej} +Silnik aplikacji pozwala prowadzi\xE6 obliczenia na czterowymiarowych konfiguracjach kom\xF3rek o~warto\x9Cciach z~przedzia\xB3u 0 - \maxint{}, jednak\xBFe forma plik\xF3w wej\x9Cciowych nak\xB3ada ograniczenia wynikaj\xB9ce z~liczby znak\xF3w czytelnych dla u\xBFytkownika ko\xF1cowego. Praktyczne ograniczenia zebrane s\xB9 w~tabeli \ref{tab:okp} + +\begin{table}[!hpt] + \centering + \begin{tabular}{p{15em}|c} + Liczba wymiar\xF3w & 3 \\ + \hline + Rozmiar wymiaru & \maxint \\ + \hline + Liczba kom\xF3rek & \maxworld \\ + \end{tabular} + \caption{Ograniczenia konfiguracji pocz\xB9tkowej} + \label{tab:okp} +\end{table} + +Rozmiar \ac{KP}, a~co za tym idzie \ac{KB}, jest kluczowym elementem wp\xB3ywaj\xB9cym na z\xB3o\xBFono\x9C\xE6 obliczeniow\xB9 pojedynczej iteracji, a~wi\xEAc p\xB3ynno\x9Cci eksperymentu. Szczeg\xF3\xB3owe testy dotycz\xB9ce rozmiaru \ac{KP} pozwalaj\xB9cego na komfortow\xB9 prac\xEA znajduj\xB9 si\xEA w~rozdziale \ref{sec:wyd} + +% vim:fencs=cp1250:fenc=cp1250 Added: trunk/qcell/doc/licenciate_thesis/chap5/chap5.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap5/chap5.tex (rev 0) +++ trunk/qcell/doc/licenciate_the... [truncated message content] |
From: <dhu...@us...> - 2007-02-06 21:28:50
|
Revision: 293 http://svn.sourceforge.net/qcell/?rev=293&view=rev Author: dhubleizh Date: 2007-02-06 13:28:21 -0800 (Tue, 06 Feb 2007) Log Message: ----------- - ending? Modified Paths: -------------- trunk/qcell/doc/licenciate_thesis/chap4/chap4.tex trunk/qcell/doc/licenciate_thesis/chap7/chap7.tex Modified: trunk/qcell/doc/licenciate_thesis/chap4/chap4.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap4/chap4.tex 2007-02-06 20:32:05 UTC (rev 292) +++ trunk/qcell/doc/licenciate_thesis/chap4/chap4.tex 2007-02-06 21:28:21 UTC (rev 293) @@ -204,7 +204,7 @@ Klasa \code{GenericParserPlugin} stanowi implementacj\xEA podstawowych test\xF3w poprawno\x9Cci plik\xF3w wej\x9Cciowych, rozszerzanych nast\xEApnie specyficznie dla konkretnego formatu przez parsery (por. \ref{subsec:jpa}). -\code{ElementalRules} zawiera logik\xEA zwi\xB9zan\xB9 z~rejestrowaniem \ac{RE}, kt\xF3re wy\x9Cwietlane s\xB9 za pomoc\xB9 klasy \code{ElementalRulesWidget} (por. \ref{subsec:jgu}). +\code{ElementalRules} zawiera algorytm rejestrowania \ac{RE}, kt\xF3re wy\x9Cwietlane s\xB9 za pomoc\xB9 klasy \code{ElementalRulesWidget} (por. \ref{subsec:jgu}). Diagram wsp\xF3\xB3pracy modu\xB3u j\xB9dra logicznego przedstawiony zosta\xB3 na rysunku \ref{fig:gui}. Modified: trunk/qcell/doc/licenciate_thesis/chap7/chap7.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap7/chap7.tex 2007-02-06 20:32:05 UTC (rev 292) +++ trunk/qcell/doc/licenciate_thesis/chap7/chap7.tex 2007-02-06 21:28:21 UTC (rev 293) @@ -1,7 +1,17 @@ \chapterauthor{Cezary Krzy\xBFanowski}{Wnioski} \label{chap:wni} -Obiektywnie por\xF3wnuj\xB9c pakiet stworzony w~wyniku tej pracy z~istniej\xB9cymi rozwi\xB9zaniami stwierdzono, i\xBF nie wykorzystuj\xB9 bie\xBF\xB9cych mo\xBFliwo\x9Cci. Mowa tutaj zar\xF3wno nowoczesnych uk\xB3adach graficznych, jak i~wynikaj\xB9cych z~literatury i~praktyki nowych funkcjonalno\x9Cciach. Szczeg\xF3lnie wspomaganie dobierania modelu jest pomijane w~przeanalizowanych aplikacjach. +\begin{enumerate} +\item W celu zapoznania si\xEA z symulacj\xB9 \ac{AK} przeanalizowano dzia\xB3anie reprezentatywnej grupy pi\xEAciu aplikacji realizuj\xB9cej to zadanie. +\item W wyniku pisania opracowania tekstowego zestawiono cechy hipotetycznego ,,idealnego symulatora''. Lista funkcji wynika z istniej\xB9cych rozwi\xB9za\xF1 oraz proponuje nowe, wprowadzone niedawno do literatury, jak obserwator lokalny. +\item Zbudowano symulator przetwarzania kom\xF3rkowego unikalny w por\xF3wnaniu z analizowanymi programami. Pakiet implementuje now\xB9 koncepcj\xEA obserwatora lokalnego. Zrealizowano wizualizacj\xEA jedno-, dwu- oraz tr\xF3jwymiarowych automat\xF3w kom\xF3rkowych w trybach zar\xF3wno tekstowym, jak i graficznym. +\item Opracowano zestaw narz\xEAdzie wspomagaj\xB9cych prac\xEA z symulatorem oraz intensyfikuj\xB9cych prowadzenie eksperyment\xF3w. +\item Przy implementowaniu pakietu programowego utrwalono umiej\xEAtno\x9Cci pracy grupowej i wykorzystania narz\xEAdzi kolaboracyjnych, takich jak repozytorium \ac{SVN}, czy \gls{bugtracker}. +\item +\end{enumerate} + +Obiektywnie por\xF3wnuj\xB9c pakiet stworzony w~wyniku tej pracy z~isktniej\xB9cymi rozwi\xB9zaniami stwierdzono, i\xBF nie wykorzystuj\xB9 bie\xBF\xB9cych mo\xBFliwo\x9Cci. Mowa tutaj zar\xF3wno nowoczesnych uk\xB3adach graficznych, jak i~wynikaj\xB9cych z~literatury i~praktyki nowych funkcjonalno\x9Cciach. Szczeg\xF3lnie wspomaganie dobierania modelu jest pomijane w~przeanalizowanych aplikacjach. + Wytworzony symulator\ac{AK} zawiera mo\xBFliwo\x9Cci funkcjonalne nie implementowane wcze\x9Cniej, w~szczeg\xF3lno\x9Cci koncepcja \ac{OL} w~przestrzeni tr\xF3jwymiarowej. Podczas eksperyment\xF3w pakietu zauwa\xBFono, i\xBF nie wszystkie kom\xF3rki wymagaj\xB9 uaktualniania w~ka\xBFdej iteracji. Prowadzi to do wniosku, i\xBF mo\xBFliwa jest optymalizacja oblicze\xF1 poprzez u\xBFycie konceptu listy uaktualnie\xF1. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dhu...@us...> - 2007-02-11 19:10:45
|
Revision: 303 http://svn.sourceforge.net/qcell/?rev=303&view=rev Author: dhubleizh Date: 2007-02-11 11:10:43 -0800 (Sun, 11 Feb 2007) Log Message: ----------- - finally ended? Modified Paths: -------------- trunk/qcell/doc/licenciate_thesis/acronyms.gdf trunk/qcell/doc/licenciate_thesis/chap1/chap1.tex trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex trunk/qcell/doc/licenciate_thesis/chap7/chap7.tex trunk/qcell/doc/licenciate_thesis/thesis.bib Modified: trunk/qcell/doc/licenciate_thesis/acronyms.gdf =================================================================== --- trunk/qcell/doc/licenciate_thesis/acronyms.gdf 2007-02-11 18:42:06 UTC (rev 302) +++ trunk/qcell/doc/licenciate_thesis/acronyms.gdf 2007-02-11 19:10:43 UTC (rev 303) @@ -15,7 +15,7 @@ @entry{NP, NP, Nondeterministic Polynomia} @entry{OG, OG, Obserwator Globalny} @entry{OL, OL, Obserwator Lokalny} -@entry{RE, RE, Regu\xB3a Elementarne} +@entry{RE, RE, Regu\xB3a Elementarna} @entry{SN, SN, Symbol Nieokre\x9Clony} @entry{SVG, SVG, Scalable Vector Graphics} Uniwersalny format grafiki wektorowej, nieobwarowany licencjami i patentami. SVG nale\xBFy do rodziny \glxref{XML}, wi\xEAc mo\xBFe by\xE6 integrowany z innymi j\xEAzykami, jak na przyk\xB3ad XHTML. @entry{TAK, TAK, Tr\xF3jwymiarowy Automat Kom\xF3rkowy} Modified: trunk/qcell/doc/licenciate_thesis/chap1/chap1.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap1/chap1.tex 2007-02-11 18:42:06 UTC (rev 302) +++ trunk/qcell/doc/licenciate_thesis/chap1/chap1.tex 2007-02-11 19:10:43 UTC (rev 303) @@ -11,14 +11,22 @@ \label{sec:ute} Implementowanie symulator\xF3w jest integraln\xB9 cz\xEA\x9Cci\xB9 procesu formu\xB3owania i~dowodzenia nowych teorii. Gdy zdefiniowanie og\xF3lnego modelu opisuj\xB9cego badane zachowanie jest niemo\xBFliwe, przeprowadzenie i~przeanalizowanie pewnej liczby symulacji mo\xBFe prowadzi\xE6 do wyizolowania czynnik\xF3w wp\xB3ywaj\xB9cych na dany proces. W~konsekwencji tworzona jest robocza teoria, kt\xF3r\xB9 nast\xEApnie mo\xBFna pr\xF3bowa\xE6 udoskonala\xE6 lub potwierdzi\xE6 przy pomocy kolejnych eksperyment\xF3w. -Dziedzin\xB9 w kt\xF3rej mo\xBFna wykorzysta\xE6 komputerowe symulowanie jest \ac{DSZ}. \ac{AK} jest modelem \ac{DSZ}. Zbudowanie odpowiedniego narz\xEAdzia do przeprowadzania eksperyment\xF3w na modelach kom\xF3rkowych jest celowe ze wzgl\xEAdu na wk\xB3ad w badanie samej dziedziny \ac{AK} jak i w szerszej perspektywie \ac{DSZ}. +Dziedzin\xB9 w kt\xF3rej mo\xBFna wykorzysta\xE6 komputerowe symulowanie jest \ac{DSZ}. \ac{AK} jest modelem \ac{DSZ}. Zbudowanie odpowiedniego narz\xEAdzia do przeprowadzania eksperyment\xF3w na modelach kom\xF3rkowych jest celowe ze wzgl\xEAdu na wk\xB3ad w badanie samej dziedziny \ac{AK} jak i w szerszej perspektywie \ac{DSZ}. W \x9Cwietle spekulacji, i\xBF mechanik\xEA rz\xB9dz\xB9c\xB9 wszech\x9Cwiatem mo\xBFna zamodelowa\xE6 w postaci regu\xB3 \ac{AK}, badanie tej dziedziny mo\xBFe prowadzi\xE6 do rozwi\xB9zania niekt\xF3rych z problem\xF3w nowoczesnej nauki, jak mechanika kwantowa, hydro- i termodynamika, czy wreszcie badania interakcji AIDS z systemem immunologicznym cz\xB3owieka\citep{aica}. -Powy\xBFsze rozumowanie doprowadzi\xB3o do stworzenia pewnej liczby symulator\xF3w. Skupi\xB3y si\xEA one jednak g\xB3\xF3wnie na zaprezentowaniu samej idei \ac{AK}, b\xB9d\x9F na przedstawieniu wybranego, zwykle bardzo w\xB9skiego, zakresu ich dzia\xB3ania. W~literaturze oraz w~internecie nie pojawi\xB3a si\xEA dotychczas inicjatywa opracowania i~zaimplementowania systemu pozwalaj\xB9cego bada\xE6 te dziedzin\xEA w~szerokim spektrum. Kluczowym argumentem jest zaprezentowanie nowej idei \ac{OL}\citep{siim}. - +Powy\xBFsze rozumowanie doprowadzi\xB3o do stworzenia pewnej liczby symulator\xF3w. Skupi\xB3y si\xEA one jednak g\xB3\xF3wnie na zaprezentowaniu samej idei \ac{AK}, b\xB9d\x9F na przedstawieniu wybranego, zwykle bardzo w\xB9skiego, zakresu ich dzia\xB3ania. W~literaturze oraz w~internecie nie pojawi\xB3a si\xEA dotychczas inicjatywa opracowania i~zaimplementowania systemu pozwalaj\xB9cego bezpo\x9Crednio por\xF3wnywa\xE6 r\xF3\xBFne typy i modele \ac{AK}. Dzisiejsze systemy komputerowe pozwalaj\xB9 na prowadzenie skomplikowanych oblicze\xF1 w~kr\xF3tkim czasie. Szczeg\xF3lnie na polu tr\xF3jwymiarowej grafiki komputerowej ostatnie lata pe\xB3ne by\xB3y innowacji wielokrotnie zwi\xEAkszaj\xB9cych mo\xBFliwo\x9Cci zwyk\xB3ych komputer\xF3w osobistych. Jest to idealne pod\xB3o\xBFe do pr\xF3by stworzenia symulatora \ac{AK} wykorzystuj\xB9cego mo\xBFliwo\x9Cci sprz\xEAtowe do zaprezentowania nowej jako\x9Cci wizualizacji tr\xF3jwymiarowych proces\xF3w kom\xF3rkowych. Punktem wyj\x9Ccia do podj\xEAcia tematu by\xB3y zaj\xEAcia z przedmiotu ,,Modele system\xF3w dyskretnych'' prowadzone przez dr Paw\xB3a Siwaka\citep{siwy,sicw}. Zasta\xB3y tam wprowadzone i przedstawione kluczowe poj\xEAcia stwarzaj\xB9ce mo\xBFliwo\x9Cci realizacji symulatora modeli kom\xF3rkowych ze znacznymi ulepszeniami funkcjonalnymi, w stosunku do symulator\xF3w znanych z literatury. Do poj\xEA\xE6 tych nale\xBF\xB9: -% uzupe\xB3ni\xE6 +\begin{itemize} +\item chwila zero, nast\xEApna +\item dobieranie modelu, s\xB9siedztw, funkcji +\item funkcja (quasi-)totalistyczna +\item integralno\x9C\xE6 modelu \ac{AK} +\item interpretacja obrazu przetwarzania +\item konfiguracja bie\xBF\xB9ca, nast\xEApna, poczatkowa +\item obserwator lokalny +\item regu\xB3y elementarne +\end{itemize} \section{Podzia\xB3 zada\xF1 szczeg\xF3\xB3owych} \label{sec:pzs} Modified: trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex 2007-02-11 18:42:06 UTC (rev 302) +++ trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex 2007-02-11 19:10:43 UTC (rev 303) @@ -36,7 +36,7 @@ \subsection{Sieciowa interpretacja automatu kom\xF3rkowego} \label{subsec:siak} -O {\bf sieciowym \ac{AK}} m\xF3wimy wtedy, gdy kom\xF3rki wchodz\xB9ce w sk\xB3ad konfiguracji s\xB9 automatami Moore'a, a stan kom\xF3rki odzwierciedla stan wewn\xEAtrzny tego\xBF automatu. W przypadku \ac{DAK} s\xB9siedztwo w automacie sieciowym jest von. Neumana($c_{x-1, y}, c_{x, y+1}, c_{x+1, y}, c_{x, y-1}$)\citep{siiwy}. +O {\bf sieciowym \ac{AK}} m\xF3wimy wtedy, gdy kom\xF3rki wchodz\xB9ce w sk\xB3ad konfiguracji s\xB9 automatami Moore'a, a stan kom\xF3rki odzwierciedla stan wewn\xEAtrzny tego\xBF automatu. W przypadku \ac{DAK} s\xB9siedztwo w automacie sieciowym jest von Neumana ($c_{x-1, y}, c_{x, y+1}, c_{x+1, y}, c_{x, y-1}$)\citep{siwy}. Rozszerzeniem powy\xBFszej koncepcji s\xB9 automaty na grafach. Wierzcho\xB3ki grafu reprezentuj\xB9 kom\xF3rki wchodz\xB9ce w sk\xB3ad \ac{AK}, natomiast kraw\xEAdzie grafu definiuj\xB9 s\xB9siedztwo\citep{siwy}. Modified: trunk/qcell/doc/licenciate_thesis/chap7/chap7.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap7/chap7.tex 2007-02-11 18:42:06 UTC (rev 302) +++ trunk/qcell/doc/licenciate_thesis/chap7/chap7.tex 2007-02-11 19:10:43 UTC (rev 303) @@ -1,15 +1,17 @@ \chapterauthor{Cezary Krzy\xBFanowski}{Wnioski} \label{chap:wni} \begin{enumerate} -\item W celu zapoznania si\xEA z symulacj\xB9 \ac{AK} przeanalizowano dzia\xB3anie reprezentatywnej grupy pi\xEAciu aplikacji realizuj\xB9cych to zadanie. -\item W wyniku pisania opracowania tekstowego zestawiono cechy hipotetycznego ,,idealnego symulatora''. Lista funkcji wynika z istniej\xB9cych rozwi\xB9za\xF1 oraz proponuje nowe, wprowadzone niedawno do literatury, jak obserwator lokalny. -\item Zbudowano symulator przetwarzania kom\xF3rkowego, unikalny w por\xF3wnaniu z analizowanymi programami. Pakiet implementuje now\xB9 koncepcj\xEA obserwatora lokalnego. Zrealizowano wizualizacj\xEA jedno-, dwu- oraz tr\xF3jwymiarowych automat\xF3w kom\xF3rkowych w trybach zar\xF3wno tekstowym, jak i graficznym. -\item Opracowano zestaw narz\xEAdzi wspomagaj\xB9cych prac\xEA z symulatorem oraz intensyfikuj\xB9cych prowadzenie eksperyment\xF3w. -\item Wdro\xBFono \x9Crodki dokumentowania eksperyment\xF3w w postaci historii przetwarzania. -\item Przeprowadzono testy maj\xB9ce na celu zweryfikowanie poprawno\x9Cci dzia\xB3ania pakietu programowego oraz testy wydajno\x9Cciowe. Przy pomocy osoby trzeciej oceniono ergonomi\xEA u\xBFytkowania zbudowanego symulatora. -\item Do tekstu pracy do\xB3\xB9czono instrukcj\xEA obs\xB3ugi pakietu. + \item W celu zapoznania si\xEA z symulacj\xB9 \ac{AK} przeanalizowano dzia\xB3anie reprezentatywnej grupy pi\xEAciu aplikacji realizuj\xB9cych to zadanie. Stwierdzono ukierunkowanie istniej\xB9cych rozwi\xB9za\xF1 na w\xB9sk\xB9 grup\xEA modeli \ac{AK} \x9Cci\x9Cle powi\xB9zanych z klasycznym modelem ,,Game Of Life'' Conwaya. + \item Opracowano zestawienie cech hipotetycznego ,,idealnego symulatora''. Lista funkcji wynika z istniej\xB9cych rozwi\xB9za\xF1 oraz proponuje nowe, wprowadzone niedawno do literatury, jak np. obserwator lokalny\citep{siia, siwy}. + \item Zaprojektowano i zrealizowano programowy symulator przetwarzania kom\xF3rkowego, unikalny w por\xF3wnaniu z analizowanymi programami. Pakiet implementuje now\xB9 koncepcj\xEA obserwatora lokalnego, funkcji quasi-totalistycznych jako formatu reprezentacji \ac{FL} o znacznie wi\xEAkszej sile wyrazu ni\xBF w przypadku analizowanych symulator\xF3w. + \item Zrealizowano wizualizacj\xEA jedno-, dwu- oraz tr\xF3jwymiarowych automat\xF3w kom\xF3rkowych w trybach zar\xF3wno tekstowym, jak i graficznym. Do mo\xBFliwo\x9Cci wizualizacyjnych do\xB3\xB9czono interpretacj\xEA obraz\xF3w przetwarzania oraz list\xEA \ac{RE}. +\item Opracowano zestaw narz\xEAdzi wspomagaj\xB9cych prac\xEA z symulatorem oraz intensyfikuj\xB9cych prowadzenie eksperyment\xF3w. Do narz\xEAdzi tych zaliczaj\xB9 si\xEA rytmy przetwarzania (krokowy, ci\xB9g\xB3y), metody maniupolwania przestrzeni\xB9 tr\xF3jwymarow\xB9 (obr\xF3t, przesuni\xEAcie, zbli\xBFenie/oddalenie) oraz wspomaganie definiowania konfiguracji (kopiowanie, wklejanie, modyfikowanie). +\item Wdro\xBFono \x9Crodki dokumentowania eksperyment\xF3w w postaci historii przetwarzania. Z uwagi na szacowan\xB9 pracoch\xB3onno\x9C\xE6 pomini\xEAto implmentacj\xEA form multimedialnych dokuentowania. +\item Przeprowadzono testy maj\xB9ce na celu zweryfikowanie poprawno\x9Cci dzia\xB3ania pakietu programowego oraz testy wydajno\x9Cciowe. Stwierdzono zgodno\x9C\xE6 aplikacji z formatami plik\xF3w wej\x9Cciowych \ac{N}, \ac{FQT} i KI. Zweryfikowano mo\xBFliwo\x9C\xE6 importowania i eksportowania podzbioru eksperyment\xF3w kompatybilnych z programami MCell, XLife i Life32. +\item W wyniku ogranicze\xF1 czasowych nie zaimplementowano trybu por\xF3wnawczego dla dw\xF3ch przetwarza\xF1, nie zapewniono zgodno\x9Cci z wszystkimi zak\xB3adanymi formatami plik\xF3w. Dodatkowo pomi\xEAto interpretacj\xEA obrazu na podstawie listy \ac{RE} oraz automatyczne uzupe\xB3nianie \ac{SN}. \item Przy implementowaniu pakietu programowego utrwalono umiej\xEAtno\x9Cci pracy grupowej i wykorzystywania narz\xEAdzi kolaboracyjnych, takich jak repozytorium \ac{SVN}, czy \gls{bugtracker}. -\item Podczas budowania pakietu programowego ugruntowano umiej\xEAtno\x9Cci prgoramistyczne w zakresie j\xEAzyka C++, grafiki tr\xF3jwymiarowej (biblioteki OpenGL) oraz implementowania aplikacji wieloplatformowych (z u\xBFyciem bibliotek Qt). Napisano niespe\xB3na pi\xEAtna\x9Ccie tysi\xEAcy linijek kodu o szacunkowej pracoch\xB3onno\x9Cci przekraczaj\xB9cej p\xF3\xB3tora tysi\xB9ca roboczogodzin. +\item Podczas budowania pakietu programowego ugruntowano umiej\xEAtno\x9Cci prgoramistyczne w zakresie j\xEAzyka C++, grafiki tr\xF3jwymiarowej (biblioteki OpenGL) oraz implementowania aplikacji wieloplatformowych (z u\xBFyciem bibliotek Qt). +\item Napisano niespe\xB3na pi\xEAtna\x9Ccie tysi\xEAcy linijek kodu o szacunkowej pracoch\xB3onno\x9Cci przekraczaj\xB9cej p\xF3\xB3tora tysi\xB9ca roboczogodzin. \end{enumerate} % vim:fencs=cp1250:fenc=cp1250 Modified: trunk/qcell/doc/licenciate_thesis/thesis.bib =================================================================== --- trunk/qcell/doc/licenciate_thesis/thesis.bib 2007-02-11 18:42:06 UTC (rev 302) +++ trunk/qcell/doc/licenciate_thesis/thesis.bib 2007-02-11 19:10:43 UTC (rev 303) @@ -110,5 +110,12 @@ note = {wersja 4.2} } +@BOOK{aica, + author = {Andrew Ilachinski}, + title = {Cellular Automata: A Discrete Universe}, + publisher = {World Scientific Publishing Company}, + year = {lipiec 2001}, +} + # vim:fenc=cp1250 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <le...@us...> - 2007-02-12 09:50:24
|
Revision: 307 http://svn.sourceforge.net/qcell/?rev=307&view=rev Author: lessm Date: 2007-02-12 01:50:21 -0800 (Mon, 12 Feb 2007) Log Message: ----------- Modified Paths: -------------- trunk/qcell/doc/licenciate_thesis/chap2/cellab.png trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex trunk/qcell/doc/licenciate_thesis/chap2/mcell.png trunk/qcell/doc/licenciate_thesis/chap2/winlife.png trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex trunk/qcell/doc/licenciate_thesis/chap6/chap6.tex Added Paths: ----------- trunk/qcell/doc/licenciate_thesis/chap6/iter1.png trunk/qcell/doc/licenciate_thesis/chap6/iter2.png trunk/qcell/doc/licenciate_thesis/chap6/iter3.png trunk/qcell/doc/licenciate_thesis/chap6/iter4.png Modified: trunk/qcell/doc/licenciate_thesis/chap2/cellab.png =================================================================== (Binary files differ) Modified: trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex 2007-02-12 09:17:38 UTC (rev 306) +++ trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex 2007-02-12 09:50:21 UTC (rev 307) @@ -246,7 +246,7 @@ \begin{figure}[!hpt] \centering \includegraphics[width=10cm]{chap2/mcell} -\caption{MCell} +\caption{MCell - regu\xB3a "Pascal's Triangle"} \label{fig:} \end{figure} @@ -254,6 +254,7 @@ Najwa\xBFniejsze z nich to: \begin{itemize} \item obs\xB3uga jedno i dwu wymiarowych automat\xF3w kom\xF3rkowych +\item graficzna wizualizacja pracy symulatora \item wsparcie dla czternastu rodzin AK \item 256 elementowy alfabet \item bogaty zestaw gotowych regu\xB3 i konfiguracji pocz\xB9tkowych @@ -272,40 +273,42 @@ \end{figure} DDLab jest interaktywnym programem graficznym przewidzianym do badania sko\xF1czonych sieci binarnych. Posiada dwa alternatywne sposoby postrzegania dynamiki sieci: dynamik\xEA lokaln\xB9 obrazuj\xB9c\xB9 dzia\xB3anie sieci wraz z nast\xEApuj\xB9cymi chwilami czasowymi, oraz dynamik\xEA globaln\xB9 przedstawiaj\xB9c\xB9 prac\xEA wsteczn\xB9 sieci. -Mo\xBFliwo\x9C\xE6 obrazowania dynamiki globalnej wyr\xF3\xBFnia ten produkt spo\x9Cr\xF3d innych symulator\xF3w sieci automat\xF3w kom\xF3rkowych. +Mo\xBFliwo\x9C\xE6 obrazowania dynamiki globalnej w postaci diagram\xF3w drzew mo\xBFliwych wcze\x9Cniejszych konfiguracji wyr\xF3\xBFnia ten produkt spo\x9Cr\xF3d innych symulator\xF3w sieci automat\xF3w kom\xF3rkowych. \subsection{Life32} \begin{figure}[!hpt] \centering \includegraphics[width=10cm]{chap2/life32} -\caption{Life32} +\caption{Life32 - Licznik dziesi\xEAtny} \label{fig:} \end{figure} -Life32 uznawany jest za jeden z najlepszych symulator\xF3w opartych o regu\xB3y "Game of Life". Do g\xB3\xF3wnych zalet tej aplikacji nale\xBF\xB9 maksymalny rozmiar przetwarzanej konfiguracji kt\xF3ry ograniczony jest do planszy o rozmiarach 1000000 x 1000000, oraz du\xBFa pr\xEAdko\x9C\xE6 przetwarzania. Symulator posiada mo\xBFliwo\x9C\xE6 wsp\xF3\xB3pracy z innymi popularnymi pakietami. +Life32 jest symulatorem ukierunkowanym na regu\xB3y "Game of Life". Do g\xB3\xF3wnych zalet tej aplikacji nale\xBF\xB9 maksymalny rozmiar przetwarzanej konfiguracji kt\xF3ry ograniczony jest do planszy o rozmiarach 1000000 x 1000000, oraz du\xBFa pr\xEAdko\x9C\xE6 przetwarzania. Symulator posiada mo\xBFliwo\x9C\xE6 wczytywania konfiguracji innych popularnych pakiet\xF3w. \subsection{CelLab} \begin{figure}[!hpt] \centering \includegraphics[width=10cm]{chap2/cellab} -\caption{CelLab} +\caption{CelLab - Dzia\xB3o \xB3azik\xF3w} \label{fig:} \end{figure} -CelLab jest jednym z najpe\xB3niejszych dost\xEApnych AK. Daje mo\xBFliwo\x9C\xE6 definiowania w\xB3asnych funkcji lokalnych poprzez stworzenie kr\xF3tkiego programu w j\xEAzykach: Java, C, BASIC lub Pascal. +CelLab jest jednym z najpe\xB3niejszych dost\xEApnych AK. Daje mo\xBFliwo\x9C\xE6 definiowania w\xB3asnych funkcji lokalnych poprzez stworzenie kr\xF3tkiego programu w j\xEAzykach: Java, C, BASIC lub Pascal. Program daje mo\xBFliwo\x9C\xE6 \x9Cledzenia symulacji w trybie tekstowym. \subsection{WinLife} \begin{figure}[!hpt] \centering \includegraphics[width=10cm]{chap2/winlife} -\caption{WinLife} +\caption{WinLife - regu\xB3a "Bship"} \label{fig:} \end{figure} -WinLife to kolejny automat kom\xF3rkowy pracuj\xB9cy z modelem "Game of Life" +WinLife to kolejny automat kom\xF3rkowy pracuj\xB9cy w oparciu o regu\xB3y "Game of Life" \subsection {Por\xF3wnanie dost\xEApnych AK} +Przeprowadzona analiza funkcji szeroko znanych symulator\xF3w AK pokazuje i\xBF wi\xEAkszo\x9C\xE6 szeroko znanych symulator\xF3w koncentruje si\xEA na obrazowaniu regu\xB3 z rodziny "Game of Life". Zakres wizualizacji ogranicza si\xEA do jedno i dwu wymiarowych AK w trybie graficznym. + \begin{landscape} \begin{table}[!p] \centering Modified: trunk/qcell/doc/licenciate_thesis/chap2/mcell.png =================================================================== (Binary files differ) Modified: trunk/qcell/doc/licenciate_thesis/chap2/winlife.png =================================================================== (Binary files differ) Modified: trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex 2007-02-12 09:17:38 UTC (rev 306) +++ trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex 2007-02-12 09:50:21 UTC (rev 307) @@ -1,11 +1,18 @@ -\chapterauthor{Leszek Smentek}{Za\xB3o\xBFenia szczeg\xF3\xB3owe} +\chapterauthor{Leszek Smentek}{Za\xB3o\xBFenia szczeg\xF3\xB3owe realizacji symulatora} \label{chap:zsz} \section{Funkcje pakietu} \subsection {Podstawowe funkcje programu} -\subsubsection {Wczytywanie konfiguracji modelu z pliku} +\subsubsection {Wczytywanie opisu modelu z pliku} \label{subsec:wkp} -Pakiet umo\xBFliwia wczytywanie plik\xF3w konfiguracji modelu w formatach FQT, N, KI. +Pakiet umo\xBFliwia wczytywanie plik\xF3w opisu modelu w formatach FQT, N, KI. +\subsubsection{Utrwalanie wynik\xF3w przetwarzania} +Pakiet daje mo\xBFliwo\x9C\xE6 utrwalania efekt\xF3w eksperyment\xF3w w nast\xEApuj\xB9cych trybach: +\begin{itemize} +\item zapis poszczeg\xF3lnych element\xF3w modelu do osobnych plik\xF3w(KI, N, FL) +\item zapis konfiguracji bie\xBF\xB9cej wraz z historiom przetwarzania do pojedy\xF1czego pliku +\end{itemize} + \subsubsection {Tryby pracy symulatora} Symulator daje mo\xBFliwo\x9C\xE6 pracy w trzech trybach: \begin{itemize} @@ -17,29 +24,26 @@ \subsubsection {Wizualizacja symulacji} Program pozwala wizualizowa\xE6 symulatory LAK(tryb tekstowy), DAK(tryb testowy, tryb graficzny), TAK(tryb graficzny z dwoma typami perspektywy). -\subsubsection{Utrwalanie wynik\xF3w przetwarzania} -Pakiet daje mo\xBFliwo\x9C\xE6 utrwalania efekt\xF3w eksperyment\xF3w w nast\xEApuj\xB9cych trybach: -\begin{itemize} -\item zapis poszczeg\xF3lnych element\xF3w modelu do osobnych plik\xF3w(KI, N, FL) -\item zapis konfiguracji do pojedy\xF1czego pliku -\end{itemize} - \subsection {Rozszerzone funkcje programu} \label{subsec:rfp} + +\subsubsection{Dynamiczne dobieranie modelu symulacji} +\label{subsubsec:ddm} +Program umo\xBFliwia dynamiczne dobieranie funkcji lokalnej podczas pracy symulatora. +uwzgl\xEAdnieniem lokalno\x9Cci obserwatora. + \subsubsection{Edycja KI} Pakiet daje mo\xBFliwo\x9C\xE6 edycji konfiguracji bie\xBF\xB9cej oraz posiada zestaw narz\xEAdzi wspomagaj\xB9cych(wype\xB3nianie obszar\xF3w, kopiowanie/wklejanie obszar\xF3w). +\subsubsection{Wymiana danych ze popularnymi pakietami} +Aplikacja umo\xBFliwia zapis/odczyt plik\xF3w w formacie lif. + \subsubsection {Tryby obserwatora} -Aplikacja posiada funkcje prze\xB3\xB9czania trybu obserwatora pomi\xEAdzy trybami lokalnym i globalnym. +Aplikacja posiada funkcj\xEA prze\xB3\xB9czania trybu obserwatora. Dost\xEApne s\xB9 tryby lokalny i globalny. \subsubsection {Regu\xB3y elementarne} -Pakiet umo\xBFliwia rejestrowania regu\xB3 elementarnych wykorzystanych w danej KB +Pakiet umo\xBFliwia rejestrowanie regu\xB3 elementarnych wykorzystanych w danej KB -\subsubsection{Dynamiczne dobieranie modelu symulacji} -\label{subsubsec:ddm} -Program umo\xBFliwia dynamiczne dobieranie funkcji lokalnej podczas pracy symulatora. -uwzgl\xEAdnieniem lokalno\x9Cci obserwatora. - \subsubsection {Formaty danych} \label{subsubsec:fda} @@ -48,7 +52,7 @@ \item funkcja lokalna \begin{itemize} -\item FQT - quasitotalistyczna:Opisywana jest za pomoc\xB9 pliku tekstowego, zawieraj\xB9cego w kolejnych wierszach: +\item FQT - Jest formatem pliku tekstowego, zawieraj\xB9cego w kolejnych wierszach: \begin{itemize} \item identyfikator literowy typu funkcji \item trzy liczby (separowane spacj\xB9): liczba argument\xF3w, liczba warto\x9Cci argumentu i liczba warto\x9Cci funkcji @@ -59,23 +63,23 @@ \item s\xB9siedztwo \begin{itemize} -\item N - Jest plikiem przeznaczony do specyfikowania sta\xB3ych uk\xB3ad\xF3w s\xB9siedztwa, np. kolejno\x9Cci i po\xB3o\xBFenia s\xB9siad\xF3w kom\xF3rki. Ma on nast\xEApuj\xB9c\xB9 struktur\xEA: +\item N - Jest plikiem przeznaczony do specyfikowania uk\xB3ad\xF3w s\xB9siedztwa, np. kolejno\x9Cci i po\xB3o\xBFenia s\xB9siad\xF3w kom\xF3rki. Ma on nast\xEApuj\xB9c\xB9 struktur\xEA: \begin{itemize} \item Litera i cyfra: N{1,2,3} - identyfiktor pliku z rozmiarem przestrzeni s\xB9siad\xF3w; -\item do czterech liczb ca\xB3kowitych: W K S n - okre\x9Clenie liczby wierszy, kolumn, \x9Ccian oraz s\xB9siad\xF3w. -\item Wod, Kod, Sod: pozycja odniesienia, od 0 (oznacza po\xB3o\xBFenie okna, lub miejsce zapisu jego wyniku). +\item do czterech liczb ca\xB3kowitych: \textit{W K S n} - okre\x9Clenie liczby wierszy, kolumn, \x9Ccian oraz s\xB9siad\xF3w. +\item W$od{_}$, K$od{_}$, S$od{_}$: pozycja odniesienia, od 0 (oznacza po\xB3o\xBFenie okna, lub miejsce zapisu jego wyniku). \end{itemize} -Pozosta\xB3e wiersze podaj\xB9 numery porz\xB9dkowe i rozmieszczenie s\xB9siad\xF3w w tablicy d wymiarowej (liczby od 1 do n). Kolejno\x9C\xE6 \x9Ccian: s=0, s=1, ..., s=S-1. +Pozosta\xB3e wiersze podaj\xB9 numery porz\xB9dkowe i rozmieszczenie s\xB9siad\xF3w w tablicy d wymiarowej (liczby od 1 do n). Kolejno\x9C\xE6 \x9Ccian: \textit{s}=0, \textit{s}=1, ..., \textit{s}=\textit{S}-1. \end{itemize} \item konfiguracja inicjalna \begin{itemize} -\item KI +\item KI - Plik opisu konfiguracji inicjalnej. Poszczeg\xF3lne wiersze oddzielone s\xB9 znakami ko\xF1ca linii, \x9Cciany zaznaczone s\xB9 poprzez pust\xB9 lini\xEA w pliku. \end{itemize} \item inne formaty \begin{itemize} -\item formaty oparte na sk\xB3adni j\xEAzyka XML +\item formaty wewn\xEAtrzne oparte na sk\xB3adni j\xEAzyka XML \end{itemize} \end{itemize} Modified: trunk/qcell/doc/licenciate_thesis/chap6/chap6.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap6/chap6.tex 2007-02-12 09:17:38 UTC (rev 306) +++ trunk/qcell/doc/licenciate_thesis/chap6/chap6.tex 2007-02-12 09:50:21 UTC (rev 307) @@ -2,6 +2,8 @@ \label{chap:iop} \section{Interfejs programu} +W niniejszy rozdziale przedstawiony zosta\xB3 interfejs programu, instrukcja obs\xB3ugi oraz przyk\xB3adowy przebieg eksperymentu. + \begin{figure}[h] \centering \includegraphics[width=14cm]{chap6/mainwindow} @@ -15,8 +17,8 @@ \item Widok zak\xB3adki \end{enumerate} -\subsection{Manu g\xB3\xF3wne} -Obszar zawieraj\xB9cy menu pliku umo\xBFliwiaj\xB9ce wczytanie konfiguracji modelu AK z pliku, oraz przyciski odpowiedzialne za tryby pracy symulatora. +\subsection{Menu g\xB3\xF3wne} +Obszar zawieraj\xB9cy menu pliku umo\xBFliwiaj\xB9ce wczytanie konfiguracji modelu AK z pliku, oraz przyciski wyboru trybu pracy symulatora. \subsubsection{File} \begin{itemize} @@ -56,7 +58,7 @@ \subsection{Pasek narz\xEAdzi} Pasek narz\xEAdzi jest domy\x9Clnym obszarem umiejscowienia narz\xEAdzi przypisanych dla poszczeg\xF3lnych funkcji pakietu. -\subsubsection{Base Tools} +\subsubsection{Basic Tools} \begin{figure}[!h] \centering \includegraphics[width=3cm]{chap6/bTools} @@ -145,7 +147,7 @@ \end{itemize} \subsection{Widok zak\xB3adki} -Widok zak\xB3adki jest obszarem zarezerwowanym dla poszczeg\xF3lnych funkcjonalno\x9Cci. +Widok zak\xB3adki jest obszarem przeznaczonym do wizualizowania poszczeg\xF3lnych funkcjonalno\x9Cci. \section{Instrukcja obs\xB3ugi} @@ -164,9 +166,20 @@ \subsubsection{Edycja bezpo\x9Crednia} Aby bezpo\x9Crednio edytowa\xE6 KB automatu nale\xBFy wybra\xE6 tryb "Edit" z okna "Base Tools". Ka\xBFdorazowe zaznaczenie za pomoc\xB9 kursora kom\xF3rki KB spowoduje zmian\xEA symbolu na zaznaczony w tabeli symboli. + \subsubsection{Kopiowanie obszar\xF3w} -Aby zaznaczy\xE6 obszar nale\xBFy przycisn\xB9\xE6 i przytrzyma\xE6 lewy przycisk myszy a nast\xEApnie przeci\xB9gn\xB9\xE6 kursor myszy nad kopiowanym obszarem i zwolni\xE6 LPM. Kom\xF3rki zaznaczone zmieniaj\xB9 wygl\xB9d w trybie 3D(Rys. 6.7) W trybie 1-2D zaznaczenie sygnalizowane jest poprzez zmian koloru kom\xF3rek w tabeli na szary. Po zaznaczeniu obszaru nale\xBFy u\xBFy\xE6 przycisku "Copy" wybra\xE6 kom\xF3rk\xEA z widok zak\xB3adki a nast\xEApnie u\xBFy\xE6 przycisku "Paste". +Aby skopiowa\xE6 obszar nale\xBFy: +\begin{itemize} +\item zaznaczy\xE6 obszar poprzez przyci\x9Cni\xEAcie LPM +\item przeci\xB9gni\xEAcie kursora w kopiowanym obszarze +\item zwolni\xE6 LPM +\item przycisn\xB9\xE6 przycisk "Copy" z menu "Base Tools" +\item zaznaczy\xE6 kom\xF3rk\xEA w miejscu docelowym dla kopiowanego obszaru +\item przycisn\xB9\xE6 przycisk "Paste" z menu "Base Tools" +\end{itemize} +Kom\xF3rki zaznaczone zmieniaj\xB9 wygl\xB9d w trybie 3D(Rys. 6.7). W trybie 1-2D zaznaczenie sygnalizowane jest poprzez zmian koloru kom\xF3rek w tabeli na szary. + \begin{figure}[!h] \centering \includegraphics[width=14cm]{chap6/select2} @@ -174,8 +187,14 @@ \end{figure} \subsection{Zmiana po\xB3o\xBFenie obserwatora lokalnego} -Zmiana po\xB3o\xBFenie obserwatora lokalnego nast\xEApuje ka\xBFdorazowo podczas wybrania za pomoc\xB9 kursora kom\xF3rki konfiguracji bie\xBF\xB9cej. W trybie 3D pozycja obserwatora lokalnego sygnalizowana jest poprzez ikon\xEA symbolizuj\xB9ce oko(Rys. 6.8). +Aby dokona\xE6 zmiany po\xB3o\xBFenie obserwator lokalnego nale\xBFy: +\begin{itemize} +\item prze\xB3\xB9czy\xE6 obserwatora w tryb lokalny +\item zaznaczy\xE6 dowoln\xB9 kom\xF3rk\xEA planszy za pomoc\xB9 LPM +\end{itemize} +W trybie 3D pozycja obserwatora lokalnego sygnalizowana jest poprzez ikon\xEA symbolizuj\xB9ce oko(Rys. 6.8). + \begin{figure}[!h] \centering \includegraphics[width=14cm]{chap6/observer} @@ -183,21 +202,28 @@ \end{figure} \subsection{Edycja funkcji lokalnej} -Edycja funkcji lokalnej mo\xBFliwa jest po za\xB3adowaniu pliku funkcji lokalnej z menu g\xB3\xF3wnego zak\xB3adki "File". Tabela przedstawia warto\x9Cci funkcji lokalnej w kt\xF3rej wiersze przedstawiaj\xB9 sumy argument\xF3w totalizowanych a kolumny kombinacje argument\xF3w wolnych. Aby dokona\xE6 zmiany warto\x9Cci funkcji nale\xBFy wybra\xE6 pole tabeli a nast\xEApnie wprowadzi\xE6 now\xB9 warto\x9C\xE6 za pomoc\xB9 klawiatury. Wprowadzenie warto\x9Cci ujemnej lub u\xBFycie symbolu "?" oznacza\xE6 b\xEAdzie i\xBF funkcja dla danej warto\x9Cci jest nieokre\x9Clona. Napotkanie na warto\x9C\xE6 nieokre\x9Clon\xB9 podczas obliczania KB spowoduje wstrzymanie oblicze\xF1 i przeniesienie u\xBFytkownika do tabeli funkcji z jednoczesnym zaznaczenie u\xBFytego pola nieokre\x9Clonego. Praca symulatora mo\xBFliwa jest gdy warto\x9C\xE6 funkcji zostanie wprowadzona lub zostanie zmieniona KB tak aby warto\x9C\xE6 nieokre\x9Clona nie by\xB3a u\xBFyta w obliczeniach. +Edycja funkcji lokalnej mo\xBFliwa jest po za\xB3adowaniu pliku funkcji lokalnej z menu g\xB3\xF3wnego zak\xB3adki "File". +W celu zmiany warto\x9Cci funkcji lokalnej nale\xBFy w zak\xB3adce funkcji wybra\xE6 pole z tabeli funkcji lokalnej a nast\xEApnie wprowadzi\xE6 now\xB9 warto\x9C\xE6 ca pomoc\xB9 klawiatury. + +Wprowadzenie warto\x9Cci ujemnej lub u\xBFycie symbolu "?" oznacza\xE6 b\xEAdzie i\xBF funkcja dla danej warto\x9Cci jest nieokre\x9Clona. Napotkanie na warto\x9C\xE6 nieokre\x9Clon\xB9 podczas obliczania KB spowoduje wstrzymanie oblicze\xF1 i przeniesienie u\xBFytkownika do tabeli funkcji z jednoczesnym zaznaczenie u\xBFytego pola nieokre\x9Clonego. Praca symulatora mo\xBFliwa jest gdy warto\x9C\xE6 funkcji zostanie wprowadzona lub zostanie zmieniona KB tak aby warto\x9C\xE6 nieokre\x9Clona nie by\xB3a u\xBFyta w obliczeniach. + + \subsection{Edycja symboli} -Aby dokona\xE6 edycji symboli nale\xBFy przej\x9C\xE6 do zak\xB3adki "Function" a nast\xEApnie edytowa\xE6 pola tabeli symboli. Zmiana znaku tekstowego przypisanego do danego symbolu odbywa si\xEA poprzez zaznaczenie pola w kolumnie "Char" a nast\xEApnie wprowadzenie znaku z klawiatury. Aby dokona\xE6 zmiany koloru symbolu nale\xBFy dwukrotnie klikn\xB9\xE6 na polu w kolumnie "Color" a nast\xEApnie wybra\xE6 kolor z okna dialogowego i zatwierdzi\xE6 przyciskiem "Ok". +W celu dokonania zmiany znaku graficznego nale\xBFy zaznaczy\xE6 pole w kolumnie "Char" a nast\xEApnie wprowadzi\xE6 znak z klawiatury. +Aby zmieni\xE6 kolor przypisany do danego symbolu nale\xBFy dwa razy klikn\xB9\xE6 LPM w kolumnie "Colors" a nast\xEApnie z okna dialogowego wybra\xE6 kolor i zatwierdzi\xE6 przyciskiem "Ok". + \section{Typowy eksperyment} Typowy eksperyment mo\xBFna podzieli\xE6 na nast\xEApuj\xB9ce fazy: \begin{itemize} \item dob\xF3r modelu(N, FL) \item dob\xF3r konfiguracji pocz\xB9tkowej(KI) -\item iteracje symulacji +\item iteracje krok\xF3w symulacji \item zapis wynik\xF3w \end{itemize} -Dob\xF3r modelu odbywa si\xEA poprzez wczytanie plik\xF3w konfiguracji funkcji lokalnej oraz s\xB9siedztwa. W tym calu nale\xBFy wybra\xE6 z menu g\xB3\xF3wnego zak\xB3adke "File" nast\xEApnie pozycje "Open". Po wczytaniu s\xB9siedztwa("Neigborhood"), funkcji lokalnej("Function"), oraz konfiguracji inicjalnej("World") mo\xBFliwe jest wykonanie kolejnych iteracji symulacji. +Dob\xF3r modelu odbywa si\xEA poprzez wczytanie plik\xF3w konfiguracji funkcji lokalnej oraz s\xB9siedztwa. W tym celu nale\xBFy wybra\xE6 z menu g\xB3\xF3wnego zak\xB3adke "File" nast\xEApnie pozycje "Open". Po wczytaniu s\xB9siedztwa("Neigborhood"), funkcji lokalnej("Function"), oraz konfiguracji inicjalnej("World") mo\xBFliwe jest wykonanie kolejnych iteracji symulacji. \begin{figure}[!h] \centering @@ -213,4 +239,30 @@ \caption {Iterowanie krok\xF3w} \end{figure} +Kolejne kroki symulacji przedstawiaj\xB9 rysunki 6.11 - 6.14 + +\begin{figure}[!h] +\centering +\includegraphics[width=8cm]{chap6/iter1} +\caption {Krok 1} +\end{figure} + +\begin{figure}[!h] +\centering +\includegraphics[width=8cm]{chap6/iter2} +\caption {Krok 2} +\end{figure} + +\begin{figure}[!h] +\centering +\includegraphics[width=8cm]{chap6/iter3} +\caption {Krok 3} +\end{figure} + +\begin{figure}[!h] +\centering +\includegraphics[width=8cm]{chap6/iter4} +\caption {Krok 4} +\end{figure} + % vim:fencs=cp1250:fenc=cp1250 Added: trunk/qcell/doc/licenciate_thesis/chap6/iter1.png =================================================================== (Binary files differ) Property changes on: trunk/qcell/doc/licenciate_thesis/chap6/iter1.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/qcell/doc/licenciate_thesis/chap6/iter2.png =================================================================== (Binary files differ) Property changes on: trunk/qcell/doc/licenciate_thesis/chap6/iter2.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/qcell/doc/licenciate_thesis/chap6/iter3.png =================================================================== (Binary files differ) Property changes on: trunk/qcell/doc/licenciate_thesis/chap6/iter3.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/qcell/doc/licenciate_thesis/chap6/iter4.png =================================================================== (Binary files differ) Property changes on: trunk/qcell/doc/licenciate_thesis/chap6/iter4.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dhu...@us...> - 2007-02-17 06:16:29
|
Revision: 347 http://svn.sourceforge.net/qcell/?rev=347&view=rev Author: dhubleizh Date: 2007-02-16 22:16:27 -0800 (Fri, 16 Feb 2007) Log Message: ----------- - some final quirks Modified Paths: -------------- trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex trunk/qcell/doc/licenciate_thesis/chap4/chap4.tex trunk/qcell/doc/licenciate_thesis/chap5/chap5.tex trunk/qcell/doc/licenciate_thesis/chap6/chap6.tex trunk/qcell/doc/licenciate_thesis/style.tex Modified: trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex 2007-02-17 06:12:03 UTC (rev 346) +++ trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex 2007-02-17 06:16:27 UTC (rev 347) @@ -67,7 +67,25 @@ Zwi\xEAz\xB3\xB9, a zarazem uniwersaln\xB9, reprezentacj\xB9 \ac{FL} jest \ac{FQT}\citep{siwy, sicw}. Polega na agregowaniu \ac{RE} przy pomocy sum argument\xF3w funkcji. Argumenty, kt\xF3re nie podlegaj\xB9 procesowi totalizacji (sumowania) nazywamy {\bf argumentami wolnymi}. Szczeg\xF3\xB3y techniczne zapisu \ac{FQT} (jak i innych format\xF3w obs\xB3ugiwanych przez zaimplementowany pakiet) znajduj\xB9 si\xEA w rozdziale \ref{chap:zsz}. +W celu zobrazowania korzy\x9Cci p\xB3yn\xB9cych z procesu totalizacji zestawiono tabel\xEA \ref{tab:mrfqt}. Przyj\xEAto d\xB3ugo\x9C\xE6 ci\xB9gu s\xB9siad\xF3w r\xF3wn\xB9 pi\xEA\xE6 oraz maksymalny rozmiar pliku wynosz\xB9cy 4kB. Dla kolejnych stopni totalizacji przedstawiono maksymaln\xB9 liczno\x9C\xE6 alfabetu. +\begin{table}[!hpt] + \centering + \begin{tabular}{c|c} + Liczba ztotalizowanych\\argument\xF3w & Maksymalna wielko\x9C\xE6\\ alfabetu $|A|_{max}$ \\ + \hline\hline + 1 & 5 \\ + \hline + 2 & 6 \\ + \hline + 3 & 11 \\ + \hline + 4 & 35 + \end{tabular} + \caption{Maksymalny rozmiar alfabetu dla funkcji FQT przy $|N|=5$ oraz maksymalnym rozmiarze pliku 4kB dla r\xF3\xBFnych stopni totalizacji} + \label{tab:mrfqt} +\end{table} + Dla chwili zero m\xF3wimy o danych jako \ac{KP}. Zbi\xF3r kolejnych \ac{KB} powsta\xB3ych w wyniku przetwarzania \ac{AK} nazywamy {\bf histori\xB9 przetwarzania}. Formaty zapisu element\xF3w modelu oraz danych \ac{AK} przedstawione zosta\xB3y w rozdziale \ref{chap:zsz}. Modified: trunk/qcell/doc/licenciate_thesis/chap4/chap4.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap4/chap4.tex 2007-02-17 06:12:03 UTC (rev 346) +++ trunk/qcell/doc/licenciate_thesis/chap4/chap4.tex 2007-02-17 06:16:27 UTC (rev 347) @@ -356,7 +356,7 @@ \label{subsec:osa} Implementacja modu\xB3u obliczeniowego pozwala na s\xB9siedztwo sk\xB3adaj\xB9ce si\xEA z~maksymalnie \maxint{} s\xB9siad\xF3w, oddalonych od siebie o co najwy\xBFej \maxint{} kom\xF3rek (por. \ref{sec:zws} oraz \ref{subsec:jmo}). Wynika to ze sposobu zaimplementowania s\xB9siedztwa przy pomocy klasy \code{QVector} (maksymalna d\xB3ugo\x9C\xE6 tego wektora to \maxint{}\citep{qt4doc}) oraz wsp\xF3\xB3rz\xEAdnych okre\x9Claj\xB9cych po\xB3o\xBFenie danego s\xB9siada przy pomocy liczby ca\xB3kowitej ze znakiem (int). Jednak\xBFe spos\xF3b wczytywania s\xB9siedztwa z~pliku tekstowego nak\xB3ada ograniczenia wynikaj\xB9ce z~liczby znak\xF3w czytelnych dla u\xBFytkownika ko\xF1cowego. -Nak\xB3ad pracy wynikaj\xB9cy z przygotowania pliku \ac{N}, czy to w postaci tekstowej (por. \ref{subsubsec:fda}), czy za pomoc\xB9 narz\xEAdzi wspomagaj\xB9cych (por. \ref{subsec:rfp}) przerasta mo\xBFliwo\x9Cci u\xBFytkownika. W zwi\xB9zku z tym przyj\xEAto, i\xBF plik reprezentuj\xB9cy \ac{N} nie powinien przekroczy\xE6 rozmiaru jednego ekranu standardowego terminala (80x60 znak\xF3w), zapisany bez znak\xF3w ko\xF1ca linii. Po uwzgl\xEAdnieniu nag\xB3\xF3wka pliku N (odj\xEAciu trzech pierwszych wierszy) ograniczenia s\xB9siedztwa zebrane zosta\xB3y w tabeli \ref{tab:os}. +Nak\xB3ad pracy wynikaj\xB9cy z przygotowania pliku \ac{N} o maksymalnych udost\xEApnionych przez pakiet rozmiarach, czy to w postaci tekstowej (por. \ref{subsubsec:fda}), czy za pomoc\xB9 narz\xEAdzi wspomagaj\xB9cych (por. \ref{subsec:rfp}) przerasta mo\xBFliwo\x9Cci u\xBFytkownika. W zwi\xB9zku z tym przyj\xEAto, i\xBF plik reprezentuj\xB9cy \ac{N} nie powinien przekroczy\xE6 rozmiaru 4kB. Obliczone na podstawie powy\xBFszych za\xB3o\xBFe\xF1 ograniczenia zebrano w tabeli \ref{tab:os} \begin{table}[!hpt] \caption{Ograniczenia s\xB9siedztwa\hspace*{\textwidth}} @@ -364,7 +364,11 @@ \begin{tabular}{p{15em}|c} Liczba s\xB9siad\xF3w & \maxchar \\ \hline - Liczba kom\xF3rek & 4000 + Rozmiar s\xB9siedztwa 3D & 15 x 15 x 15 \\ + \hline + Rozmiar s\xB9siedztwa 2D & 63 x 63 \\ + \hline + Rozmiar s\xB9siedztwa 1D & 4000 \end{tabular} \label{tab:os} \end{table} @@ -372,7 +376,7 @@ \subsection{Ograniczenia funkcji lokalnej} Teoretyczne mo\xBFliwo\x9Cci modu\xB3u obliczeniowego pozwalaj\xB9 na przechowywanie funkcji sk\xB3adaj\xB9cej si\xEA z~\maxint{} (por. \ref{sec:zws} oraz \ref{subsec:jmo}) argument\xF3w, jednak\xBFe spos\xF3b wczytywania funkcji z~pliku nak\xB3ada ograniczenia wynikaj\xB9ce z~liczby znak\xF3w czytelnych dla u\xBFytkownika ko\xF1cowego. Podobnie jak w przypadku ogranicze\xF1 s\xB9siedztwa, przygotowanie \ac{FL} (u\xBFywaj\xB9c formatu \ac{FQT}) w pliku (por. \ref{subsubsec:fda}), b\xB9d\x9F przy pomocy narz\xEAdzi dostarczonych przez pakiet (por. \ref{subsec:rfp}), wykorzystuj\xB9cej maksymalne mo\xBFliwo\x9Cci modu\xB3u obliczeniowego jest nierealne. -Z uwagi na powy\xBFsze fakty przyj\xEAto, i\xBF maksymalny sensowny plik, tworzony przez u\xBFytkownika, nie powinien przekracza\xE6 jednego ekranu standardowego terminala (80x60 znak\xF3w) pomijaj\xB9c znaki ko\xF1ca linii, sekwencj\xEA rozdzielaj\xB9c\xB9 sum\xEA od warto\x9Cci (`: ') oraz odejmuj\xB9c trzy linie na nag\xB3\xF3wek (por. \ref{subsubsec:fda}). Powsta\xB3e w ten spos\xF3b ograniczenia zebrano w tabeli \ref{tab:ofl}. +Zale\xBFno\x9C\xE6 alfabetu od stopnia totalizacji funkcji zebrano w tabeli \ref{tab:mrfqt}. Pozosta\xB3e ograniczenia zebrano w tabeli \ref{tab:ofl}. \begin{table}[!hpt] \caption{Ograniczenia funkcji lokalnej\hspace*{\textwidth}} Modified: trunk/qcell/doc/licenciate_thesis/chap5/chap5.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap5/chap5.tex 2007-02-17 06:12:03 UTC (rev 346) +++ trunk/qcell/doc/licenciate_thesis/chap5/chap5.tex 2007-02-17 06:16:27 UTC (rev 347) @@ -52,4 +52,21 @@ Programy z sekcji \ref{sec:pmz} implementuj\xB9 tylko po jednym trybie wizualizowania. Zbudowany symulator oferuje 2 tryby graficzne (dla modeli \ac{TAK} i {DAK}) oraz dwa modele tekstowe (dla modeli \ac{DAK} oraz \ac{LAK}). Jedynie obrazowanie opartych na grafach \ac{AK}, oferowane przez program DDLab, nie zosta\xB3o zrealizowanie. +\subsection{Obrazy przetwarzania} +\label{subsec:obprze} +W tej sekcji umieszczone zosta\xB3y obrazy por\xF3wnawcze dla \ac{OL} i \ac{OG} modeli \ac{LAK}, \ac{DAK} i \ac{DAK} wygenerowane przez zaimplementowany pakiet programowy. Dla ka\xBFdej grupy przyk\xB3ad\xF3w podano pliki z kt\xF3rych skorzystano do przeprowadzenia prezentowanych eksperyment\xF3w. Pliki te dost\xEApne s\xB9 w katalogu examples na p\xB3ycie CD za\xB3\xB9czonej do pracy. + +\subsubsection{Obrazy modelu \acs{LAK}} + +%\begin{figure}[htbp] +% \begin{center} +% \mbox{ +% \subfigure[Honda]{\scalebox{0.3}{\includegraphics{chap5/og1d}}} \quad +% \subfigure[Toyota]{\scalebox{0.3}{\includegraphics{chap5/ol1d}}} +% } +% \caption{I like these!} +% \label{fig:my_car} +% \end{center} +%\end{figure} + % vim:fencs=cp1250:fenc=cp1250 Modified: trunk/qcell/doc/licenciate_thesis/chap6/chap6.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap6/chap6.tex 2007-02-17 06:12:03 UTC (rev 346) +++ trunk/qcell/doc/licenciate_thesis/chap6/chap6.tex 2007-02-17 06:16:27 UTC (rev 347) @@ -1,6 +1,5 @@ \usepackage{subfigure} - \chapterauthor{Leszek Smentek}{Obs\xB3uga programu} \label{chap:iop} \section{Interfejs programu} Modified: trunk/qcell/doc/licenciate_thesis/style.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/style.tex 2007-02-17 06:12:03 UTC (rev 346) +++ trunk/qcell/doc/licenciate_thesis/style.tex 2007-02-17 06:16:27 UTC (rev 347) @@ -4,6 +4,7 @@ % Grafika \usepackage{graphicx} +%\usepackage{subfigure} % \xAFeby mo\xBFna by\xB3o dawa\xE6 linki \usepackage{url} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dhu...@us...> - 2007-02-17 03:19:23
|
Revision: 344 http://svn.sourceforge.net/qcell/?rev=344&view=rev Author: dhubleizh Date: 2007-02-16 19:19:21 -0800 (Fri, 16 Feb 2007) Log Message: ----------- - a loooot of fixes Modified Paths: -------------- trunk/qcell/doc/licenciate_thesis/acronyms.gdf trunk/qcell/doc/licenciate_thesis/chap1/chap1.tex trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex trunk/qcell/doc/licenciate_thesis/chap4/chap4.tex trunk/qcell/doc/licenciate_thesis/chap5/chap5.tex trunk/qcell/doc/licenciate_thesis/chap6/chap6.tex trunk/qcell/doc/licenciate_thesis/chap7/chap7.tex trunk/qcell/doc/licenciate_thesis/titlepage.tex Modified: trunk/qcell/doc/licenciate_thesis/acronyms.gdf =================================================================== --- trunk/qcell/doc/licenciate_thesis/acronyms.gdf 2007-02-17 02:04:27 UTC (rev 343) +++ trunk/qcell/doc/licenciate_thesis/acronyms.gdf 2007-02-17 03:19:21 UTC (rev 344) @@ -11,7 +11,7 @@ @entry{KP, KP, Konfiguracja Pocz\xB9tkowa} @entry{LAK, LAK, Liniowy Automat Kom\xF3rkowy} Inaczej jednowymiarowy \glxref{AK}. @entry{MVC, MVC, Model View Controller} Wzorzec programistyczny charakteryzuj\xB9cy si\xEA rozdzieleniem komponent\xF3w aplikacji, tj. modelu danych, interfejsu u\xBFytkownika i logiki sterowania w taki spos\xF3b, aby modyfikacje jednego komponentu minimalnie wp\xB3ywa\xB3y na pozosta\xB3e. -@entry{N, N, s\xB9siedztwo} +@entry{N, N, s\xB9siedztwo} ang. \emph{Neighbourhood} @entry{NP, NP, Nondeterministic Polynomia} @entry{OG, OG, Obserwator Globalny} @entry{OL, OL, Obserwator Lokalny} @@ -21,5 +21,6 @@ @entry{TAK, TAK, Tr\xF3jwymiarowy Automat Kom\xF3rkowy} @entry{TUG, TUG, \TeX{} User Group} Grupy u\xBFytkownik\xF3w systemu \TeX{}.\\\url{http://www.tug.org/} @entry{XML, XML, eXtensive Markup Language} Uniwersalny j\xEAzyk formalny przeznaczony do reprezentowania r\xF3\xBFnych danych w ustrukturalizowany spos\xF3b. +@entry{LPM, LPM, Lewy Przycisk Myszy} % vim:fencs=cp1250:fenc=cp1250 Modified: trunk/qcell/doc/licenciate_thesis/chap1/chap1.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap1/chap1.tex 2007-02-17 02:04:27 UTC (rev 343) +++ trunk/qcell/doc/licenciate_thesis/chap1/chap1.tex 2007-02-17 03:19:21 UTC (rev 344) @@ -3,29 +3,30 @@ \section{Cel i~zakres pracy} Celem niniejszej pracy jest zbudowanie \x9Crodowiska do efektywnego przeprowadzania symulacji jedno-, dwu- oraz tr\xF3jwymiarowych \ac{AK}. Zakres pracy obejmuje opracowanie tekstowe oraz pakiet programowy. -W pierwszej kolejno\x9Cci przywo\xB3ana zosta\xB3a definicja automatu kom\xF3rkowego (por. \ref{subsec:dak}). W rozdziale \ref{subsec:mak} przedstawiono mechanizm przetwarzania kom\xF3rkowego, natomiast w~\ref{subsec:wiz} metody jego wizualizowania. Punkt \ref{subsubsec:oli} przybli\xBFa now\xB9 koncepcj\xEA obserwatora lokalnego oraz jej wp\xB3yw na obrazy przetwarzania. +W pierwszej kolejno\x9Cci przywo\xB3ana zosta\xB3a definicja automatu kom\xF3rkowego (por. \ref{subsec:dak}). W rozdziale \ref{subsec:mak} przedstawiono mechanizm przetwarzania kom\xF3rkowego, natomiast w~\ref{subsec:wiz} metody jego wizualizowania. Punkt \ref{subsubsec:oli} przybli\xBFa now\xB9 koncepcj\xEA obserwatora lokalnego oraz jej wp\xB3yw na obrazy przetwarzania\citep{siim,siwy}. Na podstawie analizy funkcji symulatora \ac{AK} z rozdzia\xB3u \ref{sec:syn} zaimplementowano pakiet programowy. Za\xB3o\xBFenia szczeg\xF3\xB3owe tego pakietu znajduj\xB9 si\xEA w rozdziale \ref{chap:zsz}, natomiast szczeg\xF3\xB3y implementacyjne w \ref{chap:imp}. Ocenie dzia\xB3ania powsta\xB3ego symulatora po\x9Cwi\xEAcony zosta\xB3 punkt \ref{chap:tes}. Do programu do\xB3\xB9czono instrukcj\xEA obs\xB3ugi umieszczon\xB9 w rozdziale \ref{chap:iop}. \section{Uzasadnienie tematu} \label{sec:ute} -Implementowanie symulator\xF3w jest integraln\xB9 cz\xEA\x9Cci\xB9 procesu formu\xB3owania i~dowodzenia nowych teorii. Gdy zdefiniowanie og\xF3lnego modelu opisuj\xB9cego badane zachowanie jest niemo\xBFliwe, przeprowadzenie i~przeanalizowanie pewnej liczby symulacji mo\xBFe prowadzi\xE6 do wyizolowania czynnik\xF3w wp\xB3ywaj\xB9cych na dany proces. W~konsekwencji tworzona jest robocza teoria, kt\xF3r\xB9 nast\xEApnie mo\xBFna pr\xF3bowa\xE6 udoskonala\xE6 lub potwierdzi\xE6 przy pomocy kolejnych eksperyment\xF3w. +Implementowanie symulator\xF3w jest integraln\xB9 cz\xEA\x9Cci\xB9 procesu formu\xB3owania i~dowodzenia nowych teorii. Gdy zdefiniowanie og\xF3lnego modelu opisuj\xB9cego badane zachowanie jest niemo\xBFliwe, przeprowadzenie i~przeanalizowanie pewnej liczby symulacji mo\xBFe prowadzi\xE6 do wyizolowania czynnik\xF3w wp\xB3ywaj\xB9cych na dany proces. W~konsekwencji tworzona jest hipoteza, kt\xF3r\xB9 nast\xEApnie mo\xBFna pr\xF3bowa\xE6 udoskonala\xE6 lub potwierdzi\xE6 przy pomocy kolejnych eksperyment\xF3w. -Dziedzin\xB9 w kt\xF3rej mo\xBFna wykorzysta\xE6 komputerowe symulowanie jest \ac{DSZ}. \ac{AK} jest modelem \ac{DSZ}. Zbudowanie odpowiedniego narz\xEAdzia do przeprowadzania eksperyment\xF3w na modelach kom\xF3rkowych jest celowe ze wzgl\xEAdu na wk\xB3ad w badanie samej dziedziny \ac{AK} jak i w szerszej perspektywie \ac{DSZ}. Ponadto symulatory \ac{AK} maj\xB9 swoje praktyczne zastosowania, jak modelowanie aglomeracji miejskich~--- \x9Cledzenie rozmieszczenia mieszka\xF1c\xF3w i korelowanie z przest\xEApstwami, wizualizowanie proces\xF3w biologicznych, jak np. erozja ko\x9Cci, symulowanie zachowania gaz\xF3w, czy rozprzestrzeniania si\xEA po\xBFar\xF3w las\xF3w\citep{aica}. +Dziedzin\xB9, w kt\xF3rej mo\xBFna wykorzysta\xE6 komputerowe symulowanie s\xB9 \ac{DSZ}. \ac{AK} jest modelem \ac{DSZ}. Zbudowanie odpowiedniego narz\xEAdzia do przeprowadzania eksperyment\xF3w na modelach kom\xF3rkowych jest celowe ze wzgl\xEAdu na wk\xB3ad w badanie samej dziedziny \ac{AK}, jak i w szerszej perspektywie \ac{DSZ}. Ponadto symulatory \ac{AK} maj\xB9 swoje praktyczne zastosowania, takie jak modelowanie aglomeracji miejskich (\x9Cledzenie rozmieszczenia mieszka\xF1c\xF3w i korelowanie z przest\xEApstwami), wizualizowanie proces\xF3w biologicznych (np. erozja ko\x9Cci), symulowanie zachowania gaz\xF3w czy rozprzestrzeniania si\xEA po\xBFar\xF3w las\xF3w\citep{aica}. -Powy\xBFsze rozumowanie doprowadzi\xB3o do stworzenia pewnej liczby symulator\xF3w. Skupi\xB3y si\xEA one jednak g\xB3\xF3wnie na zaprezentowaniu samej idei \ac{AK}, b\xB9d\x9F na przedstawieniu wybranego, zwykle bardzo w\xB9skiego, zakresu ich dzia\xB3ania. W~literaturze oraz w~internecie nie pojawi\xB3a si\xEA dotychczas inicjatywa opracowania i~zaimplementowania systemu pozwalaj\xB9cego bezpo\x9Crednio por\xF3wnywa\xE6 r\xF3\xBFne typy i modele \ac{AK}. +Powy\xBFsze rozumowanie doprowadzi\xB3o do stworzenia pewnej liczby symulator\xF3w. Skupi\xB3y si\xEA one jednak g\xB3\xF3wnie na zaprezentowaniu samej idei \ac{AK}, b\xB9d\x9F na przedstawieniu wybranego, zwykle bardzo w\xB9skiego, zakresu ich dzia\xB3ania. W~literaturze oraz w~internecie inicjatywa opracowania i~zaimplementowania systemu pozwalaj\xB9cego bezpo\x9Crednio por\xF3wnywa\xE6 r\xF3\xBFne typy i modele \ac{AK} pojawi\xB3a si\xEA w ograniczonym zakresie. + Dzisiejsze systemy komputerowe pozwalaj\xB9 na prowadzenie skomplikowanych oblicze\xF1 w~kr\xF3tkim czasie. Szczeg\xF3lnie na polu tr\xF3jwymiarowej grafiki komputerowej ostatnie lata pe\xB3ne by\xB3y innowacji wielokrotnie zwi\xEAkszaj\xB9cych mo\xBFliwo\x9Cci zwyk\xB3ych komputer\xF3w osobistych. Jest to idealne pod\xB3o\xBFe do pr\xF3by stworzenia symulatora \ac{AK} wykorzystuj\xB9cego mo\xBFliwo\x9Cci sprz\xEAtowe do zaprezentowania nowej jako\x9Cci wizualizacji tr\xF3jwymiarowych proces\xF3w kom\xF3rkowych. Punktem wyj\x9Ccia do podj\xEAcia tematu by\xB3y zaj\xEAcia z przedmiotu ,,Modele system\xF3w dyskretnych'' prowadzone przez dr Paw\xB3a Siwaka\citep{siwy,sicw}. Zosta\xB3y tam wprowadzone i przedstawione kluczowe poj\xEAcia stwarzaj\xB9ce mo\xBFliwo\x9Cci realizacji symulatora modeli kom\xF3rkowych ze znacznymi ulepszeniami funkcjonalnymi, w stosunku do symulator\xF3w znanych z literatury. Do poj\xEA\xE6 tych nale\xBF\xB9: \begin{itemize} - \item idea obserwatora lokalnego i obraz\xF3w dla r\xF3\xBFnych maksymalnych pr\xEAdko\x9Cci propagacji sygna\xB3u $c$ - \item idea cz\xEA\x9Cciowej totalizacji funkcji (funkcje quasi- i wielototalistyczne) - \item rozr\xF3\xBFnienie diagram\xF3w ST i TS - \item parametr przesuni\xEAcia $q$ na diagramach 1-D - \item zasada oddzielania alfabetu symboli (stany kom\xF3rek) od atrybut\xF3w ich wizualizacji znakowej i graficznej (st\xB9d interpretacja symboli w przetwarzancyh konfiguracjach) - \item poj\xEAcie regu\xB3y elementarnej (RE), 5 poziom\xF3w oblicze\xF1 w modelach AK oraz wyznaczanie regu\xB3 modelu LAK metod\xB9 przeszukiwania z nawrotami - \item standaryzacja opis\xF3w s\xB9siedztwa i funkcji lokalnych w plikach (formaty: N1, N2, N3 oraz FQT, FMT) - \item idea symbolu zast\xEApczego dla funkcji i konfiguracji nie w pe\xB3ni okre\x9Clonych + \item idea obserwatora lokalnego i obraz\xF3w dla r\xF3\xBFnych maksymalnych pr\xEAdko\x9Cci propagacji sygna\xB3u $c$, + \item idea cz\xEA\x9Cciowej totalizacji funkcji (funkcje quasi- i wielototalistyczne), + \item rozr\xF3\xBFnienie diagram\xF3w ST i TS, + \item parametr przesuni\xEAcia $q$ na diagramach 1-D, + \item zasada oddzielania alfabetu symboli (stany kom\xF3rek) od atrybut\xF3w ich wizualizacji znakowej i graficznej (st\xB9d interpretacja symboli w przetwarzancyh konfiguracjach), + \item poj\xEAcie regu\xB3y elementarnej (RE), 5 poziom\xF3w oblicze\xF1 w modelach AK oraz wyznaczanie regu\xB3 modelu \ac{LAK} metod\xB9 przeszukiwania z nawrotami, + \item standaryzacja opis\xF3w s\xB9siedztwa i funkcji lokalnych w plikach (formaty: N1, N2, N3 oraz FQT, FMT), + \item idea symbolu zast\xEApczego dla funkcji i konfiguracji nie w pe\xB3ni okre\x9Clonych. \end{itemize} \section{Podzia\xB3 zada\xF1 szczeg\xF3\xB3owych} @@ -42,22 +43,22 @@ Jest to implementacyjna cz\xEA\x9C\xE6 pracy. Polega na zaprojektowaniu \ac{GUI} pozwalaj\xB9cego w prosty i~czytelny spos\xF3b sterowa\xE6 przetwarzaniem \ac{AK}. Nale\xBFy r\xF3wnie\xBF zaimplementowa\xE6 metody doboru modelu. \subsubsection{Opracowanie i~wdro\xBFenie \x9Crodk\xF3w intensyfikacji eksperyment\xF3w} -Przez \x9Crodki intensyfikacji eksperyment\xF3w rozumiane s\xB9 dodatkowe narz\xEAdzia i~tryby wspomagaj\xB9ce zmiany w~modelu, b\xB9d\x9F danych, na bie\xBF\xB9co. Zadanie polega na ich zaprojektowaniu i zaimplementowaniu w budowanym pakiecie programowym (por. \ref{subsubsec:ddm}). +Przez \x9Crodki intensyfikacji eksperyment\xF3w rozumiane s\xB9 dodatkowe narz\xEAdzia i~tryby wspomagaj\xB9ce zmiany na bie\xBF\xB9co w modelu lub danych. Zadanie polega na ich zaprojektowaniu i zaimplementowaniu w budowanym pakiecie programowym (por. \ref{subsubsec:ddm}). \subsubsection{Testy programu} -Przeprowadzone zostan\xB9 dwie fazy test\xF3w. W~pierwszej fazie pakiet przetestowany zostanie pod wzgl\xEAdem poprawno\x9Cci prowadzonych oblicze\xF1 oraz zgodno\x9Cci z~ustalon\xB9 wcze\x9Cniej list\xB9 funkcji(por. \ref{sec:syn} oraz \ref{sec:pob}). W drugiej fazie pakiet zostanie oceniony pod wzgl\xEAdem wizualizacji na tle istniej\xB9cych rozwi\xB9za\xF1 oraz poddany testom ergonomii u\xBFytkowania (por. \ref{subsec:owp} oraz \ref{sec:eu\xBF}). +Przeprowadzone zostan\xB9 dwie fazy test\xF3w. W~pierwszej fazie pakiet przetestowany zostanie pod wzgl\xEAdem poprawno\x9Cci prowadzonych oblicze\xF1 oraz zgodno\x9Cci z~ustalon\xB9 wcze\x9Cniej list\xB9 funkcji (por. \ref{sec:syn} oraz \ref{sec:pob}). W drugiej fazie pakiet zostanie oceniony pod wzgl\xEAdem wizualizacji na tle istniej\xB9cych rozwi\xB9za\xF1 oraz poddany testom ergonomii u\xBFytkowania (por. \ref{subsec:owp} oraz \ref{sec:eu\xBF}). \subsectionauthor{Leszek Smentek}{Zadania szczeg\xF3\xB3owe - cz\xEA\x9C\xE6 druga} \label{subsec:lsm} \subsubsection {Symulator modelu \acs{AK}} -Zadanie ma na celu opracowanie i implementacje symulatora umo\xBFliwiaj\xB9cego prowadzenie poprawnej symulacji zgodnie z dobranym modelem oblicze\xF1. +Zadanie ma na celu opracowanie i implementacj\xEA symulatora umo\xBFliwiaj\xB9cego prowadzenie poprawnej symulacji zgodnie z dobranym modelem oblicze\xF1. \subsubsection {\x8Crodki doboru danych} Przez \x9Crodki doboru danych rozumiany jest zestaw narz\xEAdzi pakietu pozwalaj\xB9cych na swobodn\xB9 generacj\xEA danych eksperymentu oraz podstawowe mo\xBFliwo\x9Cci edycji. \subsubsection {Wizualizacja i tryby eksperyment\xF3w dla r\xF3\xBFnych obserwator\xF3w} -To zadanie szczeg\xF3\xB3owe ma na celu implementacje efektywnej i czytelnej metody wizualizacji przebiegu przetwarzania zar\xF3wno dla obserwatora globalnego, jak i trybu obserwatora lokalnego. +Zadanie szczeg\xF3\xB3owe ma na celu implementacje efektywnej i czytelnej metody wizualizacji przebiegu przetwarzania zar\xF3wno dla obserwatora globalnego, jak i trybu obserwatora lokalnego. \subsubsection {Opracowanie i wdro\xBFenie \x9Crodk\xF3w dokumentowania eksperyment\xF3w} Powy\xBFsze zadanie szczeg\xF3\xB3owe ma na celu opracowanie metod dokumentowania eksperyment\xF3w umo\xBFliwiaj\xB9cych prezentacje wynik\xF3w symulacji niezale\xBFnie od pakietu. Modified: trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex 2007-02-17 02:04:27 UTC (rev 343) +++ trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex 2007-02-17 03:19:21 UTC (rev 344) @@ -17,7 +17,7 @@ \begin{trivlist} \item $\alpha$~--- zbi\xF3r jednakowych kom\xF3rek -\item $S$~--- sko\xF1czony zbi\xF3r stan\xF3w, jaki mo\xBFe przyj\xB9\xE6 kom\xF3rka (inaczej zbi\xF3r symboli alfabetu) +\item $S$~--- sko\xF1czony zbi\xF3r stan\xF3w, jakie mo\xBFe przyj\xB9\xE6 kom\xF3rka (inaczej zbi\xF3r symboli alfabetu) \item $N$~--- sko\xF1czony ci\xB9g s\xB9siad\xF3w \item $f$~--- \ac{FL} definiuj\xB9ca zmian\xEA stan\xF3w na podstawie stanu s\xB9siedztwa $sN$ oraz stanu bie\xBF\xB9cej kom\xF3rki $c$ \end{trivlist} @@ -28,7 +28,7 @@ Wzajemne rozmieszczenie kom\xF3rek ze zbioru $\alpha$ wzgl\xEAdem siebie w przestrzeni jedno- lub wielowymiarowej wraz z przypisaniem ka\xBFdej kom\xF3rce stanu ze zbioru $S$ nazywamy {\bf konfiguracj\xB9 (lub stanem \ac{AK})}. Dla kompletno\x9Cci definicji konfiguracji kom\xF3rek nale\xBFy okre\x9Cli\xE6 r\xF3wnie\xBF {\bf warunki brzegowe}, tzn. jak okre\x9Cleni s\xB9 s\xB9siedzi dla kom\xF3rek na kraw\xEAdzi definiowanej przestrzeni\citep{siwy}. -Przekszta\xB3cenie aktualnego stanu \ac{AK}, {\bf tj. \ac{KB}}, w stan kolejny, {\bf tj. \ac{KN}}, stosuj\xB9c \ac{FL} dla ka\xBFdej kom\xF3rki $\alpha$ jednocze\x9Cnie nazywamy {\bf iteracj\xB9}\citep{si13,siwy}. +Przekszta\xB3cenie aktualnego stanu \ac{AK}, tj. {\bf \ac{KB}}, w stan kolejny, tj. {\bf \ac{KN}}, stosuj\xB9c \ac{FL} dla ka\xBFdej kom\xF3rki $\alpha$ jednocze\x9Cnie nazywamy {\bf iteracj\xB9}\citep{si13,siwy}. Par\xEA w postaci uporz\xB9dkowanego ci\xB9gu stan\xF3w s\xB9siad\xF3w oraz stanu nast\xEApnego kom\xF3rki jaki ten stan implikuje przez \ac{FL} nazywamy {\bf \ac{RE}}\citep{siit}. @@ -36,9 +36,9 @@ \subsection{Sieciowa interpretacja automatu kom\xF3rkowego} \label{subsec:siak} -O {\bf sieciowym \ac{AK}} m\xF3wimy wtedy, gdy kom\xF3rki wchodz\xB9ce w sk\xB3ad konfiguracji s\xB9 automatami Moore'a, a stan kom\xF3rki odzwierciedla stan wewn\xEAtrzny tego\xBF automatu. W przypadku \ac{DAK} s\xB9siedztwo w automacie sieciowym jest von Neumana\\($c_{x-1, y}, c_{x, y+1}, c_{x+1, y}, c_{x, y-1}$)\citep{siwy}. +O {\bf sieciowym \ac{AK}} m\xF3wimy wtedy, gdy kom\xF3rki wchodz\xB9ce w sk\xB3ad konfiguracji s\xB9 automatami Moore'a, a stan kom\xF3rki odzwierciedla stan wewn\xEAtrzny tego\xBF automatu. W przypadku \ac{DAK} s\xB9siedztwo w automacie sieciowym jest s\xB9siedztwem von Neumana\\($c_{x-1, y}, c_{x, y+1}, c_{x+1, y}, c_{x, y-1}$)\citep{siwy}. -Rozszerzeniem powy\xBFszej koncepcji s\xB9 automaty oparte na grafach. Wierzcho\xB3ki grafu reprezentuj\xB9 kom\xF3rki wchodz\xB9ce w sk\xB3ad \ac{AK}, natomiast kraw\xEAdzie grafu definiuj\xB9 s\xB9siedztwo\citep{siwy}. +Rozszerzeniem powy\xBFszej koncepcji s\xB9 automaty oparte na grafach. Wierzcho\xB3ki grafu reprezentuj\xB9 kom\xF3rki wchodz\xB9ce w sk\xB3ad \ac{AK}, natomiast kraw\xEAdzie grafu odzwierciedlaj\xB9 s\xB9siedztwo\citep{siwy}. \subsection{Elementy sk\xB3adowe automatu kom\xF3rkowego} \label{subsec:eak} @@ -68,7 +68,7 @@ Zwi\xEAz\xB3\xB9, a zarazem uniwersaln\xB9, reprezentacj\xB9 \ac{FL} jest \ac{FQT}\citep{siwy, sicw}. Polega na agregowaniu \ac{RE} przy pomocy sum argument\xF3w funkcji. Argumenty, kt\xF3re nie podlegaj\xB9 procesowi totalizacji (sumowania) nazywamy {\bf argumentami wolnymi}. Szczeg\xF3\xB3y techniczne zapisu \ac{FQT} (jak i innych format\xF3w obs\xB3ugiwanych przez zaimplementowany pakiet) znajduj\xB9 si\xEA w rozdziale \ref{chap:zsz}. -Konfiguracj\xB9 \ac{AK} nazywamy zbi\xF3r kom\xF3rek o okre\x9Clonym stanie oraz wzajemnym po\xB3o\xBFeniu wzgl\xEAdem siebie. Dla chwili zero m\xF3wimy o danych jako \ac{KP}. Zbi\xF3r kolejnych \ac{KB} powsta\xB3ych w wyniku przetwarzania \ac{AK} nazywamy {\bf histori\xB9 przetwarzania}. +Dla chwili zero m\xF3wimy o danych jako \ac{KP}. Zbi\xF3r kolejnych \ac{KB} powsta\xB3ych w wyniku przetwarzania \ac{AK} nazywamy {\bf histori\xB9 przetwarzania}. Formaty zapisu element\xF3w modelu oraz danych \ac{AK} przedstawione zosta\xB3y w rozdziale \ref{chap:zsz}. @@ -77,7 +77,6 @@ Aby przekszta\xB3ci\xE6 \ac{KN} w \ac{KB} symulator musi wyliczy\xE6 nowy stan ka\xBFdej kom\xF3rki. W tym celu dla ka\xBFdej z nich okre\x9Clana jest warto\x9C\xE6 \ac{FL} na podstawie stanu s\xB9siad\xF3w okre\x9Clonych przez \ac{N}. Kolejno\x9C\xE6 przetwarzania odbywa si\xEA od \x9Cciany najbli\xBFszej obserwatorowi (w przypadku \ac{TAK}), kolejnymi wierszami (dla \ac{DAK}) i od lewej do prawej (w \ac{LAK}). -Szczeg\xF3lnym przypadkiem przetwarzania jest sytuacja, gdy s\xB9siedztwo rozpatrywanej kom\xF3rki wykracza poza zdefiniowan\xB9 przestrze\xF1 \ac{KB}. Je\xBFeli warunki brzegowe nie definiuj\xB9 s\xB9siedztwa kom\xF3rek po\xB3o\xBFonych na kraw\xEAdziach (por. \ref{subsec:dak}), zak\xB3ada si\xEA, i\xBF warto\x9C\xE6 argument\xF3w z poza zdefiniowanej przestrzeni wynosi zero. W przeciwnym wypadku stany s\xB9siad\xF3w pobierane s\xB9 zgodnie z regu\xB3ami okre\x9Clonymi przez warunki brzegowe. W celu identyfikowania konkretnej konfiguracji z historii przetwarzania (por. \ref{subsec:eak}) symulator wykorzystuje tzw. {\bf licznik krok\xF3w iteracji}, kt\xF3ry rejestruje liczb\xEA dotychczasowych przetworze\xF1. @@ -92,7 +91,7 @@ Wspomaganie definiowania \ac{FL} jest bezpo\x9Crednio powi\xB9zane z~wykorzystywanym formatem. To prowadzi do potrzeby implementowania osobnej procedury pomocniczej dla ka\xBFdego obs\xB3ugiwanego sposobu okre\x9Clania funkcji. Wymagana jest mo\xBFliwo\x9C\xE6 niepe\xB3nego okre\x9Clenia funkcji poprzez jawne zadeklarowanie \ac{SN}. Symulator powinien akceptowa\xE6 takie symbole i~zaznacza\xE6 je w~wyra\x9Fny spos\xF3b celem ewentualnego p\xF3\x9Fniejszego uszczeg\xF3\xB3owienia. -Pakiet nie musi wymaga\xE6 konkretyzowania \ac{SN}. W takim przypadku wynik \ac{FL} dla s\xB9siedztwa zawieraj\xB9cego cho\xE6by jeden \ac{SN} powinno r\xF3wnie\xBF by\xE6 \ac{SN}. Implikuje to rozszerzanie si\xEA skupisk \ac{SN} z ka\xBFd\xB9 kolejn\xB9 iteracj\xB9. +Pakiet nie musi wymaga\xE6 konkretyzowania \ac{SN}. W takim przypadku wynik \ac{FL} dla s\xB9siedztwa zawieraj\xB9cego cho\xE6by jeden \ac{SN} powinien r\xF3wnie\xBF by\xE6 \ac{SN}. Implikuje to rozszerzanie si\xEA skupisk \ac{SN} z ka\xBFd\xB9 kolejn\xB9 iteracj\xB9. \subsubsection{Dane (konfiguracja kom\xF3rek)} \label{subsubsec:dane} @@ -104,17 +103,15 @@ \subsubsection{Rodzaje warunk\xF3w brzegowych} \label{subsubsec:rwb} -Definiuje si\xEA trzy podstawowe rodzaje warunk\xF3w brzegowych. +Szczeg\xF3lna sytuacja podczas przetwarzania kom\xF3rkowego wyst\xEApuje, gdy s\xB9siedztwo rozpatrywanej kom\xF3rki wykracza poza zdefiniowan\xB9 przestrze\xF1 \ac{KB}, czyli dla kom\xF3rek znajduj\xB9cych si\xEA stosunkowo blisko kraw\xEAdzi konfiguracji. W celu wyliczenia stanu takich kom\xF3rek konieczne jest zdefiniowanie {\bf warunk\xF3w brzegowych}. Poni\xBFej przedstawione zosta\xB3y dwa przyk\xB3adowe warunki brzegowe. Pierwszym przypadkiem jest, gdy kom\xF3rki znajduj\xB9ce si\xEA na kraw\xEAdziach konfiguracji nie posiadaj\xB9 s\xB9siad\xF3w poza jej obszarem. Przy wyznaczaniu ci\xB9gu s\xB9siad\xF3w dla kom\xF3rek z poza konfiguracji przyjmuje si\xEA stan zerowy. -Drugi przypadek wyst\xEApuje, gdy kom\xF3rki le\xBF\xB9ce na jednej z par przeciwleg\xB3ych kraw\xEAdzi konfiguracji s\xB9 wobec siebie s\xB9siadami. +Dwrugim przypadkiem s\xB9 torusowe warunki brzegowe. Sytuacja taka wyst\xEApuje, gdy kom\xF3rki le\xBF\xB9ce na przeciwleg\xB3ych kraw\xEAdziach konfiguracji s\xB9siaduj\xB9 ze sob\xB9. -Trzecim przypadkiem s\xB9 torusowe warunki brzegowe. Sytuacja taka wyst\xEApuje, gdy kom\xF3rki le\xBF\xB9ce na przeciwleg\xB3ych kraw\xEAdziach konfiguracji s\xB9siaduj\xB9 ze sob\xB9. - \subsection{Ustawienia domy\x9Clne i~przyk\xB3ady} \label{subsec:udip} -W~nat\xB3oku tryb\xF3w, narz\xEAdzi i~wizualizacji prezentowanie tylko i~wy\xB3\xB9cznie kluczowych dla danej sytuacji opcji znacznie usprawnia prac\xEA operatora. Na podstawie wczytywanych kolejno plik\xF3w, zar\xF3wno modelu jak i~danych, nale\xBFy przyj\xB9\xE6 najbardziej prawdopodobny typ eksperymentu i~dobra\xE6 odpowiednie narz\xEAdzia. +W\x9Cr\xF3d wielu tryb\xF3w, narz\xEAdzi i~wizualizacji prezentowanie tylko i~wy\xB3\xB9cznie kluczowych dla danej sytuacji opcji znacznie usprawnia prac\xEA operatora. Na podstawie wczytywanych kolejno plik\xF3w, zar\xF3wno modelu jak i~danych, nale\xBFy przyj\xB9\xE6 najbardziej prawdopodobny typ eksperymentu i~dobra\xE6 odpowiednie narz\xEAdzia. R\xF3wnie wa\xBFne s\xB9 logiczne ustawienia domy\x9Clne dla parametr\xF3w, kt\xF3rych u\xBFytkownik jawnie nie okre\x9Cli\xB3. Dob\xF3r tych ustawie\xF1 powinien by\xE6 konsekwentny i~jednolity w~ca\xB3ym pakiecie. @@ -127,35 +124,38 @@ \label{subsubsec:uog} Jednoznaczne i~wyra\x9Fne prezentowanie operatorowi element\xF3w modelu oraz~efekt\xF3w przetwarzania jest bezpo\x9Crednim powodem tworzenia symulator\xF3w. W~szczeg\xF3lno\x9Cci wizualizowanie skomplikowanych struktur tr\xF3jwymiarowych w~czytelny spos\xF3b jest niebanalnym wyzwaniem, nie do ko\xF1ca \x9Cci\x9Cle programistycznym. -\subsubsection{Funkcje podstawowe wizualizacji~--- wymagania} +\subsubsection{Funkcje podstawowe wizualizacji} \label{subsubsec:npo} Poni\xBFej zebrana zosta\xB3a lista wymaga\xF1 dot. wizualizacji, jakie powinien spe\xB3nia\xE6 ,,idealny symulator'' \ac{AK}. \begin{itemize} - \item Klarowny i jednoznaczny spos\xF3b reprezentacji konfiguracji \ac{AK} - \item Mo\xBFliwo\x9C\xE6 swobodnego poruszania si\xEA po konfiguracjach zajmuj\xB9cych wi\xEAcej, ni\xBF jeden ekran - \item Mo\xBFliwo\x9C\xE6 zaznaczenia dowolnej kom\xF3rki lub grupy kom\xF3rek w obr\xEAbie konfiguracji - \item Mo\xBFliwo\x9C\xE6 pozycjonowania pojedynczej kom\xF3rki, lub ca\xB3ych ich grup - \item Kopiowanie konfiguracji kom\xF3rek - \item Wklejanie konfiguracji - \item Przesuwanie konfiguracji kom\xF3rek + \item Klarowny i jednoznaczny spos\xF3b reprezentacji konfiguracji \ac{AK}. + \item Mo\xBFliwo\x9C\xE6 swobodnego poruszania si\xEA po konfiguracjach zajmuj\xB9cych wi\xEAcej, ni\xBF jeden ekran. + \item Mo\xBFliwo\x9C\xE6 zaznaczenia dowolnej kom\xF3rki lub grupy kom\xF3rek w obr\xEAbie konfiguracji. + \item Mo\xBFliwo\x9C\xE6 pozycjonowania pojedynczej kom\xF3rki, lub ca\xB3ych ich grup. + \item Operacje na kom\xF3rkach: + \begin{itemize} + \item kopiowanie konfiguracji kom\xF3rek, + \item wklejanie konfiguracji, + \item przesuwanie konfiguracji kom\xF3rek. + \end{itemize} \item Cechy charakterystyczne dla operacji na tr\xF3jwymiarowych przestrzeniach: \begin{itemize} - \item obroty - \item przesuni\xEAcia - \item zbli\xBFenia/oddalenia - \item manipulowanie perspektyw\xB9 (obcinanie przestrzeni p\xB3aszczyznami) + \item obroty, + \item przesuni\xEAcia, + \item zbli\xBFenia/oddalenia, + \item manipulowanie perspektyw\xB9 (obcinanie przestrzeni p\xB3aszczyznami). \end{itemize} \end{itemize} \subsubsection{Zestawienie technik obrazowania przetwarzania kom\xF3rkowego} \label{subsubsec:ztopk} -W punkcie tym przedstawione zosta\xB3y niekt\xF3re techniki obrazowania. +W punkcie tym przedstawione zosta\xB3y wybrane techniki obrazowania. \begin{description} - \item[dST] Pierwsz\xB9 technik\xB9 jest diagram dST, czyli odk\xB3adanie kolejnych stan\xF3w (S) na osi $OX$ oraz kolejnych \ac{KB} na osi czasu $OY$. Ten typ diagramu przeznaczony jest do prezentowania przetwarzania \ac{LAK}. - \item[dTS] Jest to diagram koncepcyjnie podobny do diagramu dST. Polega na odk\xB3adaniu kolejnych stan\xF3w na osi $OY$ oraz kolejnych iteracji na osi $OX$. Podobnie jak diagram dST przeznaczony jest do obrazowania przetwarzania w modelu \ac{LAK}. - \item[Plansza]Dla dwuwymiarowych \ac{AK} diagramy dST i dTS nie s\xB9 czytelne. W zwi\xB9zku z tym konfiguracje \ac{DAK} przedstawiane s\xB9 na dwuwymiarowych planszach (pikslowych lub znakowych~--- por. \ref{subsubsec:twy}). W celu przedstawienia zmian w \ac{DAK}, mo\xBFna umieszcza\xE6 kolejne konfiguracje obok siebie, zaznaczaj\xB9c przy tym chwile czasowe, w kt\xF3rych dana konfiguracja wyst\xB9pi\xB3a. + \item[dST] Pierwsz\xB9 technik\xB9 jest diagram ST, czyli odk\xB3adanie kolejnych stan\xF3w kom\xF3rek (S) na osi $OX$ oraz kolejnych \ac{KB} na osi czasu $OY$. Ten typ diagramu przeznaczony jest do prezentowania przetwarzania \ac{LAK}\citep{siwy,sicw}. + \item[dTS] Jest to diagram koncepcyjnie podobny do diagramu ST. Polega na odk\xB3adaniu kolejnych stan\xF3w kom\xF3rek na osi $OY$ oraz kolejnych iteracji na osi $OX$. Podobnie jak diagram ST przeznaczony jest do obrazowania przetwarzania w modelu \ac{LAK}\citep{siwy,sicw}. + \item[Plansza]Dla dwuwymiarowych \ac{AK} dST i dTS nie s\xB9 czytelne. W zwi\xB9zku z tym konfiguracje \ac{DAK} przedstawiane s\xB9 na dwuwymiarowych planszach (pikslowych lub znakowych~--- por. \ref{subsubsec:twy}). W celu przedstawienia zmian w \ac{DAK} mo\xBFna umieszcza\xE6 kolejne konfiguracje obok siebie, zaznaczaj\xB9c przy tym chwile czasowe, w kt\xF3rych dana konfiguracja wyst\xB9pi\xB3a. \item[Sze\x9Ccian] W przypadku \ac{TAK} najprostsz\xB9 technik\xB9 wizualizowania jest przyj\xEAcie sze\x9Ccianu jako kszta\xB3tu reprezentuj\xB9cego kom\xF3rk\xEA. Ten spos\xF3b wizualizowania jest intuicyjny dla obserwatora, lecz wprowadza pewne ograniczenia. Mianowicie w naturalny spos\xF3b sze\x9Ccian implikuje posiadanie dok\xB3adnie sze\x9Cciu s\xB9siad\xF3w umiejscowionych prostopadle do ka\xBFdej ze \x9Ccian. W og\xF3lno\x9Cci model \ac{TAK} mo\xBFe definiowa\xE6 inne s\xB9siedztwo. \end{description} @@ -164,9 +164,9 @@ \paragraph{Tryb tekstowy} \label{par:tek} -Jest to najbardziej oczywisty tryb wy\x9Cwietlania bior\xB9c pod uwag\xEA charakter plik\xF3w wej\x9Cciowych. Polega na tworzeniu linii (w~przypadku \ac{LAK}) lub tabel (w~\ac{DAK}) z\xB3o\xBFonych z symboli stan\xF3w kolejnych kom\xF3rek. Tekstowe wizualizowanie przestrzeni tr\xF3jwymiarowych nie jest tak efektywne i~czytelne z~uwagi na fakt, i\xBF w~zale\xBFno\x9Cci od aktualnej perspektywy, znaki znajduj\xB9ce si\xEA na tej samej osi g\xB3\xEAboko\x9Cci mog\xB9 si\xEA na siebie nak\xB3ada\xE6, utrudniaj\xB9c poprawn\xB9 ich identyfikacj\xEA. Dopiero za pomoc\xB9 wyboru wy\x9Cwietlanych p\xB3aszczyzn mo\xBFliwe jest efektywne obrazowanie cz\xEA\x9Cci przestrzeni tr\xF3jwymiarowej jednym z przekroj\xF3w. +Jest to najbardziej oczywisty tryb wy\x9Cwietlania, bior\xB9c pod uwag\xEA charakter plik\xF3w wej\x9Cciowych. Polega na tworzeniu linii (w~przypadku \ac{LAK}) lub tabel (w~\ac{DAK}) z\xB3o\xBFonych ze stan\xF3w kolejnych kom\xF3rek. Tekstowe wizualizowanie przestrzeni tr\xF3jwymiarowych nie jest tak efektywne i~czytelne bior\xB9c pod uwag\xEA fakt, i\xBF w~zale\xBFno\x9Cci od aktualnej perspektywy, znaki znajduj\xB9ce si\xEA na tej samej osi g\xB3\xEAboko\x9Cci mog\xB9 si\xEA na siebie nak\xB3ada\xE6, utrudniaj\xB9c poprawn\xB9 ich identyfikacj\xEA. Dopiero za pomoc\xB9 wyboru wy\x9Cwietlanych p\xB3aszczyzn mo\xBFliwe jest efektywne obrazowanie cz\xEA\x9Cci przestrzeni tr\xF3jwymiarowej jednym z przekroj\xF3w. -Tryb tekstowy u\xB3atwia analizowanie obraz\xF3w przetwarzania \ac{AK} z~uwagi na reprezentacj\xEA modelu (w~szczeg\xF3lno\x9Cci \ac{FL}). Mo\xBFna w~ten spos\xF3b \x9Cledzi\xE6 poprawno\x9C\xE6 dzia\xB3ania \ac{FL}, lub na bie\xBF\xB9co modyfikowa\xE6 jej posta\xE6 u\xBFywaj\xB9c symboli bezpo\x9Crednio prezentowanych na ekranie. +Tryb tekstowy u\xB3atwia analizowanie obraz\xF3w przetwarzania \ac{AK} z~uwagi na reprezentacj\xEA modelu (w~szczeg\xF3lno\x9Cci \ac{FL}). Mo\xBFna w~ten spos\xF3b \x9Cledzi\xE6 poprawno\x9C\xE6 dzia\xB3ania \ac{FL} lub na bie\xBF\xB9co modyfikowa\xE6 jej posta\xE6 u\xBFywaj\xB9c symboli bezpo\x9Crednio prezentowanych na ekranie. \paragraph{Tryb graficzny} \label{par:graf} @@ -174,11 +174,11 @@ Wy\x9Cwietlanie polega na zast\xEApowaniu symboli alfabetu \ac{AK} kszta\xB3tami i/lub kolorami na planszy pikslowej (\ac{LAK} i~\ac{DAK}) lub w~przestrzeni tr\xF3jwymiarowej. Stosowanie takiej formy prezentacji zdecydowanie poprawia czytelno\x9C\xE6 konfiguracji z\xB3o\xBFonych z~wielu r\xF3\xBFnowarto\x9Cciowych kom\xF3rek. Ponadto pozwala nada\xE6 wizualizacji charakter bardziej intuicyjny, np. upodobnienie konkretnych warto\x9Cci do kszta\xB3t\xF3w rzeczywistych obiekt\xF3w. -Efektywno\x9C\xE6 tworzenie obiekt\xF3w graficznych bezpo\x9Crednio przez nowoczesne uk\xB3ady graficzne wielokrotnie przewy\xBFsza renderowanie tekstu. To zdecydowanie poprawia wydajno\x9C\xE6 operowania rozleg\xB3ymi przestrzeniami, w~szczeg\xF3lno\x9Cci tr\xF3jwymiarowymi. W~po\xB3\xB9czeniu z~bardzo szybko rosn\xB9c\xB9 moc\xB9 obliczeniow\xB9 jednostek graficznych mo\xBFliwe jest wykorzystywanie efekt\xF3w dodatkowo poprawiaj\xB9cych czytelno\x9C\xE6 i~realistyczno\x9C\xE6 prezentacji, takich jak antyaliasing, czy przezroczysto\x9C\xE6. +Efektywno\x9C\xE6 tworzenia obiekt\xF3w graficznych bezpo\x9Crednio przez nowoczesne uk\xB3ady graficzne wielokrotnie przewy\xBFsza pr\xEAdko\x9C\xE6 wy\x9Cwietlanie tekstu. To zdecydowanie poprawia wydajno\x9C\xE6 operowania rozleg\xB3ymi przestrzeniami, w~szczeg\xF3lno\x9Cci tr\xF3jwymiarowymi. W~po\xB3\xB9czeniu z~bardzo szybko rosn\xB9c\xB9 moc\xB9 obliczeniow\xB9 jednostek graficznych mo\xBFliwe jest wykorzystywanie efekt\xF3w dodatkowo poprawiaj\xB9cych czytelno\x9C\xE6 i~realistyczno\x9C\xE6 prezentacji, takich jak antyaliasing czy przezroczysto\x9C\xE6. \subsubsection{Interpretacja wizualizacji} \label{subsubsec:iwy} -Efektywn\xB9 metod\xB9 zwi\xEAkszenia czytelno\x9Cci prezentowanych danych (w og\xF3lnym rozumieniu) jest interpretowanie symboli stan\xF3w kom\xF3rkowych przy wy\x9Cwietlaniu. W przypadku \ac{AK} polega ono na przypisywaniu znak\xF3w, kszta\xB3t\xF3w i~kolor\xF3w symbolom \ac{KB} przez operatora\citep{siwy,sicw}. Pozwala to uwypukli\xE6 te warto\x9Cci kom\xF3rek, kt\xF3re operatora najbardziej interesuj\xB9. Pakiet powinien umo\xBFliwi\xE6 definiowanie takich przyporz\xB9dkowa\xF1 zar\xF3wno dla trybu graficznego, jak i~tekstowego. Rozszerzeniem tej koncepcji jest mo\xBFliwo\x9C\xE6 definiowania interpretacji dla grup symboli. +Efektywn\xB9 metod\xB9 zwi\xEAkszenia czytelno\x9Cci prezentowanych danych jest interpretowanie symboli stan\xF3w kom\xF3rkowych przy wy\x9Cwietlaniu. W przypadku \ac{AK} polega ono na przypisywaniu znak\xF3w, kszta\xB3t\xF3w i~kolor\xF3w symbolom \ac{KB} przez operatora\citep{siwy,sicw}. Pozwala to uwypukli\xE6 te warto\x9Cci kom\xF3rek, kt\xF3re operatora najbardziej interesuj\xB9. Pakiet powinien umo\xBFliwi\xE6 definiowanie takich przyporz\xB9dkowa\xF1 zar\xF3wno dla trybu graficznego, jak i~tekstowego. Rozszerzeniem tej koncepcji jest mo\xBFliwo\x9C\xE6 okre\x9Clania interpretacji dla grup symboli. Potrzeb\xEA bardziej wyrafinowanego sterowania wizualizacj\xB9 zaspokajaj\xB9 filtry. Pozwalaj\xB9 one na ustalanie lu\x9Fniejszych regu\xB3 sterowania wy\x9Cwietlaniem, np. ukrywanie symboli o~warto\x9Cciach wi\xEAkszych lub mniejszych od zadanego progu, uwidacznianie pewnych struktur (np. 'poka\xBF co drug\xB9 kom\xF3rk\xEA', 'wy\x9Cwietl przekroje z niezerowymi stanami kom\xF3rek', \ldots). @@ -188,7 +188,7 @@ \subsubsection{Obserwator lokalny i~globalny} \label{subsubsec:oli} -Obowi\xB9zuj\xB9c\xB9 metod\xB9 wizualizowania przetwarzania jest przedstawianie widoku z~perspektywy obserwatora globalnego, czyli takiego, kt\xF3ry nie jest cz\xEA\x9Cci\xB9 konfiguracji i~ma nieograniczony oraz natychmiastowy dost\xEAp do wszystkich jej kom\xF3rek. Zupe\xB3nie now\xB9 koncepcj\xB9 jest mo\xBFliwo\x9C\xE6 zaprezentowania przebiegu oblicze\xF1 z~punktu widzenia jednego z~obiekt\xF3w symulowanej przestrzeni, zwana {\bf obserwatorem lokalnym}\citep{siim}. Koncepcja ta jest autorstwa dr Paw\xB3a Siwaka\citep{siim,siwy}. Kom\xF3rka wyznaczona na \ac{OL} ,,dowiaduje si\xEA'' o zmianie stanu bezpo\x9Crednich s\xB9siad\xF3w z pr\xEAdko\x9Cci\xB9 $c$. Natomiast z op\xF3\x9Fnieniem (wyra\xBFonym w iteracjach) o zmianie stan\xF3w reszty kom\xF3rek, proporcjonalnym do odleg\xB3o\x9Cci od obserwatora. +Obowi\xB9zuj\xB9c\xB9 metod\xB9 wizualizowania przetwarzania jest przedstawianie widoku z~perspektywy obserwatora globalnego, czyli takiego, kt\xF3ry nie jest cz\xEA\x9Cci\xB9 konfiguracji i~ma nieograniczony oraz natychmiastowy dost\xEAp do wszystkich jej kom\xF3rek. Zupe\xB3nie now\xB9 koncepcj\xB9 jest mo\xBFliwo\x9C\xE6 zaprezentowania przebiegu oblicze\xF1 z~punktu widzenia jednego z~obiekt\xF3w symulowanej przestrzeni, zwana {\bf obserwatorem lokalnym}\citep{siim}. Koncepcja ta jest autorstwa dr Paw\xB3a Siwaka\citep{siim,siwy}. Kom\xF3rka wyznaczona na \ac{OL} ,,dowiaduje si\xEA'' stopniowo o zmianie stanu s\xB9siad\xF3w. Jej ,,wiedza'' o otoczeniu poszerza si\xEA z pr\xEAdko\x9Cci\xB9 $c$.Zatem o zmianach stan\xF3w kom\xF3rek ,,dowiaduje si\xEA'' z tym wi\xEAkszym op\xF3\x9Fnieniem, im wi\xEAksza jest odleg\xB3o\x9C\xE6 do nich. Mo\xBFliwo\x9C\xE6 dynamicznego definiowania i~zmieniania punktu widzenia powinna by\xE6 cz\xEA\x9Cci\xB9 ,,idealnego symulatora''. W~bardziej z\xB3o\xBFonym przypadku mo\xBFna sobie wyobrazi\xE6, i\xBF obserwator jest ruchomy i~przemieszcza si\xEA wraz z~biegiem przetwarzania. @@ -196,9 +196,9 @@ \label{subsec:pek} \subsubsection{Rytmy przetwarzania} \label{subsubsec:rpr} -Podstawowym rytmem jest przetwarzanie krokowe~--- jedna iteracja naraz. Pakiet powinien przewidzie\xE6 mo\xBFliwo\x9C\xE6 wykonania ustalonej przez operatora liczby iteracji (domy\x9Clnie jednej). Skrajnym przypadkiem takiego zachowania jest eksperyment ci\xB9g\xB3y. Jest on przydatny do \x9Cledzenia pewnych charakterystycznych obiekt\xF3w \ac{AK}, takich jak ,,\xB3azik'', w~szczeg\xF3lno\x9Cci przy torusowych warunk\xF3w brzegowych (por. \ref{subsubsec:rwb}). +Podstawowym rytmem jest przetwarzanie krokowe~--- jedna iteracja na raz. Pakiet powinien przewidzie\xE6 mo\xBFliwo\x9C\xE6 wykonania ustalonej przez operatora liczby iteracji (domy\x9Clnie jednej). Skrajnym przypadkiem takiego zachowania jest eksperyment ci\xB9g\xB3y. Jest on przydatny do \x9Cledzenia pewnych charakterystycznych obiekt\xF3w \ac{AK}, takich jak ,,\xB3azik'', w~szczeg\xF3lno\x9Cci przy torusowych warunk\xF3w brzegowych (por. \ref{subsubsec:rwb}). -U\xBFytecznym sposobem prowadzenia symulacji jest wyznaczanie warunk\xF3w ko\xF1cowych. Wyst\xB9pienie kt\xF3regokolwiek z~nich przerywa eksperyment. Szczeg\xF3lnym przypadkiem takich warunk\xF3w jest liczba przeprowadzonych iteracji, kt\xF3ra zapobiega zap\xEAtleniu si\xEA przetwarzania w~sytuacji, gdy pozosta\xB3e warunki ko\xF1cowe okaza\xB3yby si\xEA nieosi\xB9galne. Opracowanie sposobu deklarowania, a~nast\xEApnie wyszukiwania nietrywialnych warunk\xF3w ko\xF1cowych (takich jak pusta konfiguracja czy pojawienie si\xEA konkretnego wzorca) znacz\xB9co zintensyfikowa\xB3o by mo\xBFliwo\x9Cci prowadzenia eksperyment\xF3w z pakietem. +U\xBFytecznym sposobem prowadzenia symulacji jest wyznaczanie warunk\xF3w ko\xF1cowych. Wyst\xB9pienie kt\xF3regokolwiek z~nich przerywa eksperyment. Szczeg\xF3lnym przypadkiem takich warunk\xF3w jest liczba przeprowadzonych iteracji, kt\xF3ra zapobiega zap\xEAtleniu si\xEA przetwarzania w~sytuacji, gdy pozosta\xB3e warunki ko\xF1cowe okaza\xB3yby si\xEA nieosi\xB9galne. Opracowanie sposobu deklarowania, a~nast\xEApnie wyszukiwania nietrywialnych warunk\xF3w ko\xF1cowych (takich jak pusta konfiguracja czy pojawienie si\xEA konkretnego wzorca) znacz\xB9co zintensyfikowa\xB3oby mo\xBFliwo\x9Cci prowadzenia eksperyment\xF3w z pakietem. Dla szybkiego oszacowania zmian wyst\xEApuj\xB9cych na przestrzeni wielu iteracji, pakiet powinien umo\xBFliwi\xE6 wy\x9Cwietlanie jedynie co $n$-tej konfiguracji. Proces taki nazywamy {\bf skalowaniem w czasie}\citep{siwy,sicw}. @@ -216,11 +216,11 @@ \subsubsection{Por\xF3wnywanie przetwarza\xF1} \label{subsubsec:ppr} -Cz\xEA\x9C\xE6 zaproponowanych powy\xBFej funkcjonalno\x9Cci s\xB3u\xBFy do wprowadzania zmian w modelu lub danych \ac{AK}. Zmiany te wp\xB3ywaj\xB9 na posta\xE6 kolejnych konfiguracji symulacji. Program powinien umo\xBFliwi\xE6 bezpo\x9Crednie por\xF3wnywanie obraz\xF3w powsta\xB3ych w wyniku manipulacji parametrami \ac{AK}, np. r\xF3wnoczesne \x9Cledzenie przetwarzania dla \ac{OG} i~\ac{OL}. W~celu uzyskania pe\xB3nej kontroli nad procesem por\xF3wnywania, nale\xBFy zaimplementowa\xE6 osobne, jak i~wsp\xF3lne taktowanie obu symulacji (por. \ref{subsubsec:rpr}). +Cz\xEA\x9C\xE6 zaproponowanych powy\xBFej funkcjonalno\x9Cci s\xB3u\xBFy do wprowadzania zmian w modelu lub danych \ac{AK}. Zmiany te wp\xB3ywaj\xB9 na posta\xE6 kolejnych konfiguracji symulacji. Program powinien umo\xBFliwi\xE6 bezpo\x9Crednie por\xF3wnywanie obraz\xF3w powsta\xB3ych w wyniku manipulacji parametrami \ac{AK}, np. r\xF3wnoczesne \x9Cledzenie przetwarzania dla \ac{OG} i~\ac{OL}. W~celu uzyskania pe\xB3nej kontroli nad procesem por\xF3wnywania, nale\xBFy zaimplementowa\xE6 zar\xF3wno osobne, jak i~wsp\xF3lne taktowanie obu symulacji (por. \ref{subsubsec:rpr}). \subsection{Utrwalanie wynik\xF3w symulacji} \label{subsec:uwy} -W najprostszym przypadku przez wynik symulacji rozumiana jest historia przetwarzania, gdy celem symulacji jest okre\x9Clenie konfiguracji \ac{AK} po zadanej liczbie iteracji podanego modelu. W og\xF3lnym przypadku wynikiem prowadzenia symulacji mo\xBFe by\xE6 zar\xF3wno konfiguracja, jak i elementy modelu (\ac{FL}, \ac{N}) przetworzone b\xB9d\x9F zestawione w trakcie dzia\xB3ania programu. +W najprostszym przypadku przez wynik symulacji rozumiana jest historia przetwarzania, gdy celem symulacji by\xB3o okre\x9Clenie konfiguracji \ac{AK} po zadanej liczbie iteracji podanego modelu. W og\xF3lnym przypadku wynikiem prowadzenia symulacji mo\xBFe by\xE6 zar\xF3wno konfiguracja, jak i elementy modelu (\ac{FL}, \ac{N}) przetworzone b\xB9d\x9F zestawione w trakcie dzia\xB3ania programu. \subsubsection{Utrwalanie pojedynczych element\xF3w} \label{subsubsec:upe} @@ -228,11 +228,11 @@ \subsubsection{Utrwalanie historii przetwarzania} \label{subsubsec:uch} -Zapisanie ca\xB3o\x9Cci eksperymentu w~pojedynczym pliku u\xB3atwia p\xF3\x9Fniejsze jego wznowienie (lub analiz\xEA). Plik ten powinien zawiera\xE6 zar\xF3wno specyfikacj\xEA modelu \ac{AK}, jak i~kompletn\xB9 histori\xEA przetwarzania \ac{KP} wraz z~rozga\xB3\xEAzieniami, wynikaj\xB9cymi ze zmian wprowadzonych w~trakcie trwania eksperymentu (por. \ref{subsec:eak} oraz \ref{subsubsec:hit}). +Zapisanie ca\xB3o\x9Cci eksperymentu w~pojedynczym pliku u\xB3atwia p\xF3\x9Fniejsze jego wznowienie lub analiz\xEA. Plik ten powinien zawiera\xE6 zar\xF3wno specyfikacj\xEA modelu \ac{AK}, jak i~kompletn\xB9 histori\xEA przetwarzania \ac{KP} wraz z~rozga\xB3\xEAzieniami, wynikaj\xB9cymi ze zmian wprowadzonych w~trakcie trwania eksperymentu (por. \ref{subsec:eak} oraz \ref{subsubsec:hit}). Nale\xBFy przy tym uwzgl\xEAdni\xE6 utrwalanie eksperyment\xF3w por\xF3wnawczych wraz z taktowaniem obu przebieg\xF3w. -\subsubsection{Tworzenie multimedi\xF3w} +\subsubsection{Tworzenie plik\xF3w multimedialnych} \label{subsubsec:tmu} Prowadzenie z\xB3o\xBFonych symulacji \ac{AK} wymaga znacznych zasob\xF3w obliczeniowych~--- w~szczeg\xF3lno\x9Cci manipulowanie wizualizacj\xB9 tr\xF3jwymiarowych przestrzeni. W~celu p\xF3\x9Fniejszej prezentacji przebiegu symulacji pakiet powinien umo\xBFliwi\xE6 tworzenie plik\xF3w multimedialnych archiwizuj\xB9cych eksperyment. Pozwala to na dalsze dystrybuowanie wynik\xF3w, w~szczeg\xF3lno\x9Cci w~internecie. @@ -252,15 +252,15 @@ MCell to pakiet autorstwa Miros\xB3awa W\xF3jtowicza. Zas\xB3uguje na uwag\xEA ze wzgl\xEAdu na bogaty zestaw mo\xBFliwo\x9Cci funkcjonalnych, w jakie zosta\xB3 wyposa\xBFony. Najwa\xBFniejsze z nich to: \begin{itemize} -\item obs\xB3uga jedno i dwuwymiarowych automat\xF3w kom\xF3rkowych -\item graficzna wizualizacja pracy symulatora -\item wsparcie dla czternastu rodzin AK -\item 256 elementowy alfabet -\item bogaty zestaw gotowych regu\xB3 i konfiguracji pocz\xB9tkowych -\item wsparcie dla kilku r\xF3\xBFnych rodzaj\xF3w s\xB9siedztwa -\item zestaw narz\xEAdzi do analizy symulacji -\item wygodny i prosty w obs\xB3udze interfejs u\xBFytkownika -\item mo\xBFliwo\x9C\xE6 wsp\xF3\xB3pracy z innymi pakietami +\item obs\xB3uga jedno- i dwuwymiarowych automat\xF3w kom\xF3rkowych, +\item graficzna wizualizacja pracy symulatora, +\item wsparcie dla czternastu rodzin AK, +\item 256-elementowy alfabet, +\item bogaty zestaw gotowych regu\xB3 i konfiguracji pocz\xB9tkowych, +\item wsparcie dla kilku r\xF3\xBFnych rodzaj\xF3w s\xB9siedztwa, +\item zestaw narz\xEAdzi do analizy symulacji, +\item wygodny i prosty w obs\xB3udze interfejs u\xBFytkownika, +\item mo\xBFliwo\x9C\xE6 wsp\xF3\xB3pracy z innymi pakietami. \end{itemize} \subsection {DDLab} @@ -271,8 +271,8 @@ \label{fig:} \end{figure} -DDLab jest interaktywnym programem graficznym przewidzianym do badania sko\xF1czonych sieci binarnych. Posiada dwa alternatywne sposoby postrzegania dynamiki sieci: dynamik\xEA lokaln\xB9 obrazuj\xB9c\xB9 dzia\xB3anie sieci wraz z nast\xEApuj\xB9cymi chwilami czasowymi, oraz dynamik\xEA globaln\xB9 przedstawiaj\xB9c\xB9 prac\xEA wsteczn\xB9 sieci. -Mo\xBFliwo\x9C\xE6 obrazowania dynamiki globalnej w postaci diagram\xF3w drzew mo\xBFliwych wcze\x9Cniejszych konfiguracji wyr\xF3\xBFnia ten produkt spo\x9Cr\xF3d innych symulator\xF3w sieci automat\xF3w kom\xF3rkowych. +DDLab jest interaktywnym programem graficznym przewidzianym do badania sko\xF1czonych sieci binarnych. Posiada dwie alternatywne dynamiki sieci: dynamik\xEA lokaln\xB9 obrazuj\xB9c\xB9 dzia\xB3anie sieci wraz z nast\xEApuj\xB9cymi chwilami czasowymi oraz dynamik\xEA globaln\xB9 przedstawiaj\xB9c\xB9 prac\xEA wsteczn\xB9 sieci. +Mo\xBFliwo\x9C\xE6 obrazowania dynamiki globalnej w postaci diagram\xF3w drzew mo\xBFliwych wcze\x9Cniejszych konfiguracji wyr\xF3\xBFnia ten produkt spo\x9Cr\xF3d innych symulator\xF3w sieci \ac{AK}. \subsection{Life32} \begin{figure}[!hpt] @@ -282,7 +282,7 @@ \label{fig:} \end{figure} -Life32 jest symulatorem ukierunkowanym na regu\xB3y "Game of Life". Do g\xB3\xF3wnych zalet tej aplikacji nale\xBF\xB9 maksymalny rozmiar przetwarzanej konfiguracji kt\xF3ry ograniczony jest do planszy o rozmiarach 1000000 x 1000000, oraz du\xBFa pr\xEAdko\x9C\xE6 przetwarzania. Ograniczeniem pakietu jest to \xBFe umo\xBFliwia przetwarzanie jedynie konfiguracji binarnych. Symulator posiada mo\xBFliwo\x9C\xE6 wczytywania plik\xF3w innych popularnych pakiet\xF3w. Przebieg symulacji obrazowany jest za pomoc\xB9 dwu wymiarowych plansz KB. Pakiet posiada zestaw narz\xEAdzi umo\xBFliwiaj\xB9cych +Life32 jest symulatorem ukierunkowanym na regu\xB3y "Game of Life". Do g\xB3\xF3wnych zalet tej aplikacji nale\xBF\xB9: maksymalny rozmiar przetwarzanej konfiguracji, kt\xF3ry ograniczony jest do planszy o rozmiarach 1000000 x 1000000, oraz du\xBFa pr\xEAdko\x9C\xE6 przetwarzania. Ograniczeniem pakietu jest przetwarzanie jedynie konfiguracji binarnych. Symulator posiada mo\xBFliwo\x9C\xE6 wczytywania plik\xF3w innych popularnych pakiet\xF3w. Przebieg symulacji obrazowany jest za pomoc\xB9 dwuwymiarowych plansz \ac{KB}. Pakiet posiada zestaw narz\xEAdzi umo\xBFliwiaj\xB9cych konfiguracje kolor\xF3w symboli. \subsection{CelLab} @@ -293,7 +293,7 @@ \label{fig:} \end{figure} -Pakiet CelLab wyr\xF3\xBFnia spo\x9Cr\xF3d innych symulator\xF3w mo\xBFliwo\x9C\xE6 definiowania w\xB3asnych funkcji lokalnych poprzez stworzenie kr\xF3tkiego programu w j\xEAzykach: Java, C, BASIC lub Pascal. Domy\x9Clnie program jest ograniczony jedynie do w\xB3asnego formatu opisu konfiguracji modelu oblicze\xF1. Sk\xB3adowanie KB mo\xBFliwe jest do plik\xF3w jcp lub bitmapy. Inn\xB9 funkcj\xB9 niespotykan\xB9 w innych pakietach jest mo\xBFliwo\x9C\xE6 tworzenia plik\xF3w avi z zapisem przebiegu eksperymentu. Post\xEAp symulacji obrazowany jest w trybie graficznym z mo\xBFliwo\x9Cci\xB9 dostosowania kolorystyki symboli. +Pakiet CelLab wyr\xF3\xBFnia spo\x9Cr\xF3d innych symulator\xF3w mo\xBFliwo\x9C\xE6 definiowania w\xB3asnych funkcji lokalnych poprzez stworzenie kr\xF3tkiego programu w j\xEAzykach: Java, C, BASIC lub Pascal. Domy\x9Clnie program jest ograniczony jedynie do w\xB3asnego formatu opisu konfiguracji modelu oblicze\xF1. Sk\xB3adowanie \ac{KB} mo\xBFliwe jest do plik\xF3w formatu jcp lub bitmapy. Inn\xB9 funkcj\xB9 niespotykan\xB9 w pozosta\xB3ych pakietach jest mo\xBFliwo\x9C\xE6 tworzenia plik\xF3w multimedialnych z rozszerzeniem avi. Pliki te zawieraj\xB9 zapis przebiegu eksperymentu. Post\xEAp symulacji obrazowany jest w trybie graficznym z mo\xBFliwo\x9Cci\xB9 dostosowania kolorystyki symboli. \subsection{WinLife} \begin{figure}[!hpt] @@ -303,11 +303,11 @@ \label{fig:} \end{figure} -WinLife to kolejny automat kom\xF3rkowy pracuj\xB9cy w oparciu o regu\xB3y "Game of Life". Ograniczeniem pakietu jak w przypadku aplikacji Life32 jest stosowanie alfabetu binarnego. Program obrazuje przebieg symulacji za pomoc\xB9 dwuwymiarowych plansz KB. Pakiet nie posiada narz\xEAdzi umo\xBFliwiaj\xB9cych modyfikacje wy\x9Cwietlonych symboli. +WinLife to kolejny automat kom\xF3rkowy pracuj\xB9cy w oparciu o regu\xB3y "Game of Life". Ograniczeniem pakietu, tak jak w przypadku aplikacji Life32, jest stosowanie alfabetu binarnego. Program obrazuje przebieg symulacji za pomoc\xB9 dwuwymiarowych plansz KB. Pakiet nie posiada narz\xEAdzi umo\xBFliwiaj\xB9cych modyfikacj\xEA wy\x9Cwietlonych symboli. \subsection {Por\xF3wnanie dost\xEApnych AK} -Przeprowadzona analiza funkcji szeroko znanych symulator\xF3w AK pokazuje i\xBF wi\xEAkszo\x9C\xE6 symulator\xF3w koncentruje si\xEA na wizualizacji wybranych modeli obliczeniowych. Zakres wizualizacji ogranicza si\xEA do jedno i dwu wymiarowych AK w trybie graficznym z mo\xBFliwo\x9Cci\xB9 zmiany interpretacji symboli. W trakcie analizy dost\xEApnych symulator\xF3w AK nie stwierdzono wyposa\xBFenia symulator\xF3w w funkcje dynamicznego doboru modelu przetwarzania oraz mo\xBFliwo\x9Cci dowolnego definiowania s\xB9siedztwa. Powszechnie stosuje si\xEA dwa rodzaje s\xB9siedztwa von Neumanna oraz Moora oba z mo\xBFliwo\x9Cci\xB9 niewielkiej modyfikacji s\xB9siad\xF3w. +Przeprowadzona analiza funkcji szeroko znanych symulator\xF3w AK pokazuje, i\xBF wi\xEAkszo\x9C\xE6 symulator\xF3w koncentruje si\xEA na wizualizacji wybranych modeli obliczeniowych. Jej zakres ogranicza si\xEA do jedno- i dwuwymiarowych \ac{AK} w trybie graficznym z mo\xBFliwo\x9Cci\xB9 zmiany interpretacji symboli. W trakcie analizy dost\xEApnych symulator\xF3w \ac{AK} stwierdzono niewystarczaj\xB9ce wyposa\xBFenie symulator\xF3w w funkcje dynamicznego doboru modelu przetwarzania, w tym definiowanie dowolnego s\xB9siedztwa. Powszechnie stosuje si\xEA dwa rodzaje s\xB9siedztwa: von Neumanna oraz Moora, oba z mo\xBFliwo\x9Cci\xB9 niewielkiej modyfikacji s\xB9siad\xF3w. \begin{landscape} \begin{table}[!p] Modified: trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex 2007-02-17 02:04:27 UTC (rev 343) +++ trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex 2007-02-17 03:19:21 UTC (rev 344) @@ -9,43 +9,43 @@ \subsubsection{Utrwalanie wynik\xF3w przetwarzania} Pakiet daje mo\xBFliwo\x9C\xE6 utrwalania efekt\xF3w eksperyment\xF3w w nast\xEApuj\xB9cych trybach: \begin{itemize} -\item zapis poszczeg\xF3lnych element\xF3w modelu do osobnych plik\xF3w(KI, N, FL) -\item zapis konfiguracji bie\xBF\xB9cej wraz z histori\xB9 przetwarzania do pojedynczego pliku -\item eksport konfiguracji do pliku LIF +\item zapis poszczeg\xF3lnych element\xF3w modelu do osobnych plik\xF3w (KI, N, FL), +\item zapis konfiguracji bie\xBF\xB9cej wraz z histori\xB9 przetwarzania do pojedynczego pliku, +\item eksport konfiguracji do pliku LIF (obs\xB3ugiwanego przez programy: MCell, XLife i Life32). \end{itemize} \subsubsection {Tryby pracy symulatora} Symulator daje mo\xBFliwo\x9C\xE6 pracy w trzech trybach: \begin{itemize} -\item praca ci\xB9g\xB3a -\item zadana liczba krok\xF3w -\item praca krokowa +\item praca ci\xB9g\xB3a, +\item zadana liczba krok\xF3w, +\item praca krokowa. \end{itemize} \subsubsection {Warunki brzegowe pracy symulatora} -Domy\x9Clnymi warunkami brzegowymi uwzgl\xEAdnionymi w pracy pakietu s\xB9 warunki torusowe. Symulator nie uwzgl\xEAdnia mo\xBFliwo\x9Cci zmiany warunk\xF3w brzegowych. +Warunkami brzegowymi uwzgl\xEAdnionymi w pracy pakietu s\xB9 warunki torusowe. Symulator nie obs\xB3uguje mo\xBFliwo\x9Cci zmiany warunk\xF3w brzegowych. \subsubsection {Wizualizacja symulacji} -Program pozwala wizualizowa\xE6 symulatory LAK(tryb tekstowy), DAK(tryb testowy, tryb graficzny), TAK(tryb graficzny z dwoma trybami perspektywy). +Program pozwala wizualizowa\xE6 modele \ac{LAK} (tryb tekstowy), \ac{DAK} (tryb testowy i graficzny) oraz \ac{TAK} (tryb graficzny z dwoma perspektywami). \subsection {Rozszerzone funkcje programu} \label{subsec:rfp} \subsubsection{Dynamiczne dobieranie modelu symulacji} \label{subsubsec:ddm} -Program umo\xBFliwia dynamiczne dobieranie funkcji lokalnej podczas pracy symulatora. +Program umo\xBFliwia dynamiczne dobieranie \ac{FL} podczas pracy symulatora. \subsubsection{Edycja KI} -Pakiet daje mo\xBFliwo\x9C\xE6 edycji konfiguracji bie\xBF\xB9cej oraz posiada zestaw narz\xEAdzi wspomagaj\xB9cych(wype\xB3nianie obszar\xF3w, kopiowanie/wklejanie obszar\xF3w). +Pakiet umo\xBFliwia edycj\xEA \ac{KB} oraz posiada zestaw narz\xEAdzi wspomagaj\xB9cych jej definiowanie (wype\xB3nianie obszar\xF3w, kopiowanie/wklejanie). \subsubsection{Wymiana danych z popularnymi pakietami} -Aplikacja umo\xBFliwia zapis/odczyt plik\xF3w w formacie "lif" i "life". +Aplikacja umo\xBFliwia zapis/odczyt plik\xF3w w formacie LIF i LIFE. Formaty te obs\xB3ugiwane s\xB9 przez programy: MCell, Life32 oraz XLife. Do pliku tekstowego zapisywany jest zar\xF3wno model, jak i dane. \subsubsection {Tryby obserwatora} -Aplikacja posiada funkcj\xEA prze\xB3\xB9czania trybu obserwatora. Dost\xEApne s\xB9 tryby lokalny i globalny. +Aplikacja posiada funkcj\xEA prze\xB3\xB9czania trybu obserwatora. Mo\xBFliwe jest obrazowanie przetwarzania kom\xF3rkowego dla \ac{OL} oraz \ac{OG}. \subsubsection {Regu\xB3y elementarne} -Pakiet umo\xBFliwia rejestrowanie regu\xB3 elementarnych wykorzystanych w danej KB +Pakiet rejestruje \ac{RE} u\xBFyte do przetworzenia \ac{KB} w \ac{KN}. Przechowywane s\xB9 regu\xB3y zebrane jedynie podczas jednej iteracji. \subsubsection {Formaty danych} \label{subsubsec:fda} @@ -55,36 +55,36 @@ \item funkcja lokalna \begin{itemize} -\item FQT - Jest formatem pliku tekstowego s\xB3u\xBF\xB9cego do opisu funkcji lokalnej, zawieraj\xB9cego w kolejnych wierszach: + \item FQT - Format pliku tekstowego do opisu \ac{FL}, zawieraj\xB9cego w kolejnych wierszach: \begin{itemize} \item identyfikator literowy typu funkcji, tj FQT, -\item trzy liczby (separowane spacj\xB9): liczba argument\xF3w, liczba warto\x9Cci argumentu i liczba warto\x9Cci funkcji, +\item trzy liczby (separowane spacj\xB9): liczba argument\xF3w, liczno\x9C\xE6 alfabetu wej\x9Cciowego oraz liczno\x9C\xE6 alfabetu wyj\x9Cciowego, \item numery zmiennych sumowanych (separowane przecinkiem), - -\item Wiersze nast\xEApne podaj\xB9 kolejne sumy s (dziesi\xEAtnie) i ci\xB9gi warto\x9Cci dla ustalonego s: $f(s,w_{max}) f(s,w_{max-1}) ... f(s,w_{min})$, gdzie $w_{max}$ oznacza maksymalny ci\xB9g wyraz\xF3w wolnych w porz\xB9dku leksykograficznym. +\item kolejne sumy $s$ (dziesi\xEAtnie) i ci\xB9gi warto\x9Cci dla ustalonego $s$: $f(s,w_{max}) f(s,w_{max-1}) ... f(s,w_{min})$, gdzie $w_{max}$ oznacza maksymalny ci\xB9g wyraz\xF3w wolnych w porz\xB9dku leksykograficznym. \end{itemize} \item ZIFW - zawiera w kolejnych wierszach: -\item identyfikator literowy typu funkcji, tj ZIFW, -\item trzy liczby (separowane spacj\xB9): liczba argument\xF3w, liczba warto\x9Cci argumentu i liczba warto\x9Cci funkcji, -\item kolejne wiersze zawieraj\xB9 zbiory sterowa\xF1 dla kolejnych warto\x9Cci funkcji -\item kreska (my\x9Clnik) oznacza warto\x9C\xE6 nieokre\x9Clon\xB9 (dowoln\xB9) + \begin{itemize} + \item identyfikator literowy typu funkcji, tj ZIFW, + \item trzy liczby (separowane spacj\xB9): liczba argument\xF3w, liczno\x9C\xE6 alfabetu wej\x9Cciowego oraz liczno\x9C\xE6 alfabetu wyj\x9Cciowego, + \item zbiory sterowa\xF1 dla kolejnych warto\x9Cci funkcji (my\x9Clnik oznacza warto\x9C\xE6 nieokre\x9Clon\xB9). + \end{itemize} \end{itemize} \item s\xB9siedztwo \begin{itemize} -\item N - Jest plikiem przeznaczonym do specyfikowania uk\xB3ad\xF3w s\xB9siedztwa, np. kolejno\x9Cci i po\xB3o\xBFenia s\xB9siad\xF3w kom\xF3rki. Ma on nast\xEApuj\xB9c\xB9 struktur\xEA: +\item N~--- Plik przeznaczony do specyfikowania uk\xB3adu s\xB9siedztwa, tj. kolejno\x9Cci i po\xB3o\xBFenia s\xB9siad\xF3w kom\xF3rki. W kolejnych wierszach zawiera: \begin{itemize} -\item Litera i cyfra: N{1,2,3} - identyfiktor pliku z rozmiarem przestrzeni s\xB9siad\xF3w; -\item do czterech liczb ca\xB3kowitych: \textit{W K S n} - okre\x9Clenie liczby wierszy, kolumn, \x9Ccian oraz s\xB9siad\xF3w. +\item Litera i cyfra: N{1,2,3} - identyfiktor pliku z rozmiarem przestrzeni s\xB9siad\xF3w, +\item do czterech liczb ca\xB3kowitych: $W K S n$ - okre\x9Clenie liczby wierszy, kolumn, \x9Ccian oraz s\xB9siad\xF3w, \item $W_{od} K_{od}, S_{od}$: pozycja odniesienia, od 0 (oznacza po\xB3o\xBFenie okna, lub miejsce zapisu jego wyniku). \end{itemize} -Pozosta\xB3e wiersze podaj\xB9 numery porz\xB9dkowe i rozmieszczenie s\xB9siad\xF3w w tablicy d-wymiarowej (liczby od 1 do n). Kolejno\x9C\xE6 \x9Ccian: \textit{s}=0, \textit{s}=1, ..., \textit{s}=\textit{S}-1. +Pozosta\xB3e wiersze podaj\xB9 numery porz\xB9dkowe i rozmieszczenie s\xB9siad\xF3w w tablicy $d$-wymiarowej (liczby od 1 do $n$). Kolejno\x9C\xE6 \x9Ccian: $s=0, s=1, ..., s=S-1$. \end{itemize} \item konfiguracja inicjalna \begin{itemize} -\item KI - Plik opisu konfiguracji inicjalnej. Poszczeg\xF3lne wiersze oddzielone s\xB9 znakami ko\xF1ca linii, \x9Cciany zaznaczone s\xB9 poprzez pust\xB9 lini\xEA w pliku. +\item KI~--- Plik opisu konfiguracji inicjalnej. Poszczeg\xF3lne wiersze oddzielone s\xB9 znakami ko\xF1ca linii, \x9Cciany zaznaczone s\xB9 poprzez pust\xB9 lini\xEA w pliku. \end{itemize} \end{itemize} Modified: trunk/qcell/doc/licenciate_thesis/chap4/chap4.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap4/chap4.tex 2007-02-17 02:04:27 UTC (rev 343) +++ trunk/qcell/doc/licenciate_thesis/chap4/chap4.tex 2007-02-17 03:19:21 UTC (rev 344) @@ -1,6 +1,6 @@ \chapterauthor{Cezary Krzy\xBFanowski}{Implementacja} \label{chap:imp} -Rozdzia\xB3 ten opisuje organizacj\xEA oraz techniczne aspekty zwi\xB9zane z~implementacj\xB9 symulatora. Znajduje si\xEA w~nim wykaz wykorzystanych narz\xEAdzi i~wzorc\xF3w programistycznych oraz jednostek programowych wchodz\xB9cych w~sk\xB3ad aplikacji. +Rozdzia\xB3 ten opisuje organizacj\xEA jednostek programowych oraz techniczne aspekty zwi\xB9zane z~implementacj\xB9 symulatora. Znajduje si\xEA w~nim wykaz wykorzystanych narz\xEAdzi i~wzorc\xF3w programistycznych oraz jednostek programowych wchodz\xB9cych w~sk\xB3ad aplikacji. \section{Stosowane narz\xEAdzia} \label{sec:sna} @@ -42,7 +42,7 @@ Modularn\xB9 organizacj\xEA programu zapewni\xB3a klasa \code{QtPlugin}. Do implementacji graficznej reprezentacji \ac{AK} u\xBFyto bibliotek OpenGL w~standardzie 1.1 (dla kompatybilno\x9Cci z~mo\xBFliwie najszersz\xB9 gam\xB9 uk\xB3ad\xF3w graficznych), opakowanych przez modu\xB3 \code{QtOpenGL}. \code{QtXML} zapewni\xB3 parser \ac{XML}. -Pozosta\xB3e elementy pakietu opieraj\xB9 si\xEA na g\xB3\xF3wnym module bibliotek \Qt{} (\code{QtCore}), implementuj\xB9cym podstawowe struktury og\xF3lnego u\xBFytku (listy, mapy, wektory), natomiast \ac{GUI} powsta\xB3o z~u\xBFyciem \code{QtGui}\citep{qt4}. +Pozosta\xB3e elementy pakietu opieraj\xB9 si\xEA na g\xB3\xF3wnym module bibliotek \Qt{} (\code{QtCore}), implementuj\xB9cym podstawowe struktury og\xF3lnego u\xBFytku (listy, mapy, wektory). Interfejs graficzny \ac{GUI} powsta\xB3 natomiast z~u\xBFyciem \code{QtGui}\citep{qt4}. \section{Og\xF3lna organizacja programu} \label{sec:asy} @@ -151,12 +151,12 @@ \end{table} \begin{enumerate} - \item Okno g\xB3\xF3wne aplikacji~--- implementowane przez \code{MainWindow}. Definiuje rozmieszczenie poszczeg\xF3lnych element\xF3w interfejsu oraz po\x9Credniczy w~przekazywaniu zdarze\xF1, generowanych przez u\xBFytkownika, mi\xEAdzy elementami podrz\xEAdnymi a~j\xB9drem logicznym\citep{iowp} (por. \ref{subsec:jjl}). - \item Obs\xB3uga trybu wy\x9Cwietlania. Klasy, kt\xF3rych nazwy ko\xF1cz\xB9 si\xEA s\xB3owem ,,Tools'' implementuj\xB9 przyborniki z~narz\xEAdziami do obs\xB3ugi konkretnego trybu wy\x9Cwietlania. Dla przyk\xB3adu pliki View3DTools.h oraz\\View3DTools.cpp opisuj\xB9 elementy \ac{GUI} do sterowania trybem 3D (por \ref{subsec:rfp}). + \item {\bf Okno g\xB3\xF3wne aplikacji}~--- implementowane przez \code{MainWindow}. Definiuje rozmieszczenie poszczeg\xF3lnych element\xF3w interfejsu oraz po\x9Credniczy w~przekazywaniu zdarze\xF1, generowanych przez u\xBFytkownika, mi\xEAdzy elementami podrz\xEAdnymi a~j\xB9drem logicznym\citep{iowp} (por. \ref{subsec:jjl}). + \item {\bf Obs\xB3uga trybu wy\x9Cwietlania}. Klasy, kt\xF3rych nazwy ko\xF1cz\xB9 si\xEA s\xB3owem ,,Tools'' implementuj\xB9 przyborniki z~narz\xEAdziami do obs\xB3ugi konkretnego trybu wy\x9Cwietlania. Dla przyk\xB3adu pliki View3DTools.h oraz\\View3DTools.cpp opisuj\xB9 elementy \ac{GUI} do sterowania trybem 3D (por \ref{subsec:rfp}). \item Wy\x9Cwietlanie \ac{RE}. Do wy\x9Cwietlania \ac{RE} s\xB3u\xBFy \code{ElementalRulesWidget}, kt\xF3ra wizualizuje dane zebrane przez \code{ElementalRules} (por. \ref{subsec:jmo}). - \item Okienko dialogowe~--- zaimplementowane w~pliku RuleProperties.cpp pozwala ustawia\xE6 regu\xB3y interpretacyjne dla zebranych \ac{RE}. - \item Wy\x9Cwietlanie \ac{FL}. Do wy\x9Cwietlania \ac{FL} s\xB3u\xBFy specjalizowany element \ac{GUI} zaimplementowany w pliku FunctionTable.cpp. - \item Wy\x9Cwietlanie wszystkich tryb\xF3w (por. \ref{subsubsec:twy}) realizowane jest przy pomocy \code{simulationWindow}. + \item {\bf Okienko dialogowe}~--- zaimplementowane w~pliku RuleProperties.cpp pozwala ustawia\xE6 regu\xB3y interpretacyjne dla zebranych \ac{RE}. + \item {\bf Wy\x9Cwietlanie \ac{FL}}. Do wy\x9Cwietlania \ac{FL} s\xB3u\xBFy specjalizowany element \ac{GUI} zaimplementowany w pliku FunctionTable.cpp. + \item {\bf Wy\x9Cwietlanie wszystkich tryb\xF3w}(por. \ref{subsubsec:twy})~--- realizowane jest przy pomocy \code{simulationWindow}. \end{enumerate} Diagram wsp\xF3\xB3pracy \ac{GUI} przedstawiony zosta\xB3 na rysunku \ref{fig:gui}. @@ -188,8 +188,8 @@ \end{table} \begin{enumerate} - \item Interfejs komunikacji mi\xEAdzy modu\xB3em j\xB9dra logicznego a~baz\xB9~--- znajduje si\xEA w~plikach St... [truncated message content] |