From: <dhu...@us...> - 2007-02-03 11:24:51
|
Revision: 280 http://svn.sourceforge.net/qcell/?rev=280&view=rev Author: dhubleizh Date: 2007-02-03 03:24:48 -0800 (Sat, 03 Feb 2007) Log Message: ----------- - commented out deprecated pointers to dock boxes Modified Paths: -------------- trunk/qcell/baseheaders/simulationwindow.h trunk/qcell/doc/licenciate_thesis/CMakeLists.txt trunk/qcell/doc/licenciate_thesis/acronyms.gdf trunk/qcell/doc/licenciate_thesis/thesis.bib trunk/qcell/doc/licenciate_thesis/thesis.tex trunk/qcell/doc/licenciate_thesis/titlepage.tex trunk/qcell/visgui/ElementalRulesWidget.cpp trunk/qcell/visgui/ElementalRulesWidget.h Modified: trunk/qcell/baseheaders/simulationwindow.h =================================================================== --- trunk/qcell/baseheaders/simulationwindow.h 2007-01-30 10:56:35 UTC (rev 279) +++ trunk/qcell/baseheaders/simulationwindow.h 2007-02-03 11:24:48 UTC (rev 280) @@ -64,13 +64,13 @@ QToolBox *tools; - BaseTools *basetools; +// BaseTools *basetools; // View3DTools *view3DTools; // View2DTextTools *view2DTextTools; int view2DTextInterpretationMode; - View1DTextTools *view1DTextTools; +// View1DTextTools *view1DTextTools; int view1DTextInterpretationMode; Modified: trunk/qcell/doc/licenciate_thesis/CMakeLists.txt =================================================================== --- trunk/qcell/doc/licenciate_thesis/CMakeLists.txt 2007-01-30 10:56:35 UTC (rev 279) +++ trunk/qcell/doc/licenciate_thesis/CMakeLists.txt 2007-02-03 11:24:48 UTC (rev 280) @@ -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=batchmode --translate-file=il2-pl) +SET(LATEX_ARGS --interaction=nonstopmode) 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 @@ -49,7 +49,7 @@ 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 + ARGS -min-crossrefs=0 -terse ${CMAKE_CURRENT_BINARY_DIR}/thesis COMMENT "Bibtex" ) Modified: trunk/qcell/doc/licenciate_thesis/acronyms.gdf =================================================================== --- trunk/qcell/doc/licenciate_thesis/acronyms.gdf 2007-01-30 10:56:35 UTC (rev 279) +++ trunk/qcell/doc/licenciate_thesis/acronyms.gdf 2007-02-03 11:24:48 UTC (rev 280) @@ -2,24 +2,25 @@ @entry{DAK, DAK, Dwuwymiarowy Automat Kom\xF3rkowy} @entry{DSZ, DSZ, Dyskretne Systemy Z\xB3o\xBFone} @entry{EPS, EPS, Encapsulated PostScript} Jest to format plik\xF3w, b\xEAd\xB9cy podzbiorem j\xEAzyka PostScript, kt\xF3rego g\xB3\xF3wnym przeznaczeniem jest przechowywanie pojedynczych stron zawieraj\xB9cych grafik\xEA komputerow\xB9 w postaci umo\xBFliwiaj\xB9cej osadzanie ich w innych dokumentach.\citep{plwiki} -@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{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 uzyskanych z analisy s\xB9siedztwa\glxref*{N}. @entry{FQT, FQT, Funkcja kwazi-totalistyczna} -@entry{GUI, GUI, Graphical User Interface} Cz\xEAsto nazywany te\xBF \x9Crodowiskiem graficznym --- og\xF3lne okre\x9Clenie sposobu prezentacji informacji przez komputer oraz interakcji z u\xBFytkownikiem, polegaj\xB9cego na rysowaniu i obs\xB3ugiwaniu widget\xF3w.\citep{plwiki} -@entry{GUST, GUST, Grupa U\xBFytkownik\xF3w System \TeX{}} Polski oddzia\xB3 \ac{TUG}~-~a.\\\url{http://www.gust.org.pl/} +@entry{GUI, GUI, Graphical User Interface} Cz\xEAsto nazywany te\xBF \x9Crodowiskiem graficznym. Og\xF3lne okre\x9Clenie sposobu prezentacji informacji przez komputer oraz interakcji z u\xBFytkownikiem, polegaj\xB9cego na rysowaniu i obs\xB3ugiwaniu widget\xF3w.\citep{plwiki} +@entry{GUST, GUST, Grupa U\xBFytkownik\xF3w System \TeX{}} Polski oddzia\xB3 \glxref{TUG}~-a.\\\url{http://www.gust.org.pl/} @entry{IDE, IDE, Integrated Development Environment} zintegrowane \x9Crodowisko programistyczne --- jest to aplikacja lub zesp\xF3\xB3 aplikacji (\x9Crodowisko) s\xB3u\xBF\xB9cych do tworzenia, modyfikowania, testowania i konserwacji oprogramowania.\citep{plwiki} @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. -@entry{LAK, LAK, Liniowy Automat Kom\xF3rkowy} Inaczej jednowymiarowy \ac{AK}. -@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{KN, KN, Konfiguracja Nast\xEApna} Termin okre\x9Claj\xB9cy wzajemny rozk\xB3ad kom\xF3rek oraz ich warto\x9Cci powsta\xB3y w wyniku przetwarzania \glxref{KB}. +@entry{KP, KP, Konfiguracja Pocz\xB9tkowa} Termin okre\x9Claj\xB9cy wzajemny rozk\xB3ad kom\xF3rek oraz ich warto\x9Cci inicjuj\xB9cy \glxref{AK}, czyli przed pierwsz\xB9 iteracj\xB9. +@entry{LAK, LAK, Liniowy Automat Kom\xF3rkowy} Inaczej jednowymiarowy \glxref{AK}. +@entry{MVC, MVC, Model View Controller} Jest to wzorzec 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.\citep{plwiki} +@entry{N, N, Neighbourhood} Cz\xEA\x9C\xE6 modelu \glxref{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{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{RE, RE, Regu\xB3y Elementarne} Jest to spos\xF3b opisu \ac{FL} w \ac{AK}, kt\xF3ry \xB3\xB9czy s\xB9siedztwo z wynikiem, jakie to s\xB9siedztwo implikuje. -@entry{SN, SN, Symbol Nieokre\x9Clony} Umowny znak przy specyfikacji \ac{FL} oraz \ac{KP} wskazuj\xB9cy, i\xBF funkcja b\xB9d\x9F konfiguracja s\xB9 nie w pe\xB3ni okre\x9Clone. -@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{TAK, TAK, Tr\xF3jwymiarowy Automat Kom\xF3rkowy} -@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{OG, OG, Obserwator Globalny} Termin okre\x9Claj\xB9cy spos\xF3b prezentowania przebiegu eksperymentu z punktu widzenia obserwatora, kt\xF3ry ma natychmiastowy dost\xEAp do wszystkich obiekt\xF3w symulowanej przestrzeni. @entry{OL, OL, Obserwator Lokalny} Termin okre\x9Claj\xB9cy spos\xF3b prezentowania przebiegu eksperymentu z punktu widzenia obserwatora, kt\xF3ry jest cz\xEA\x9Cci\xB9 symulowanej przestrzeni i jego percepcja ograniczona jest do najbli\xBFszych s\xB9siad\xF3w, a informacje o dalszych wydarzeniach dochodz\xB9 do niego z op\xF3\x9Fnieniem. -@entry{XML, XML, Extensive Markup Language} Jest to uniwersalny j\xEAzyk formalny przeznaczony do reprezentowania r\xF3\xBFnych danych w ustrukturalizowany spos\xF3b. XML jest niezale\xBFny od platformy, co umo\xBFliwia \xB3atw\xB9 wymian\xEA dokument\xF3w pomi\xEAdzy r\xF3\xBFnymi systemami i znacz\xB9co przyczyni\xB3o si\xEA do popularno\x9Cci tego j\xEAzyka w dobie Internetu. XML jest podzbiorem j\xEAzyka SGML, tj. ka\xBFdy dokument XML jest te\xBF dokumentem SGML. XML jest rekomendowany oraz specyfikowany przez organizacj\xEA W3C.\citep{plwiki} -@entry{KN, KN, Konfiguracja Nast\xEApna} Termin okre\x9Claj\xB9cy wzajemny rozk\xB3ad kom\xF3rek oraz ich warto\x9Cci powsta\xB3y w wyniku przetwarzania \ac{KB}. +@entry{RE, RE, Regu\xB3y Elementarne} Jest to spos\xF3b opisu \glxref{FL} w \glxref{AK}, kt\xF3ry \xB3\xB9czy s\xB9siedztwo z wynikiem, jakie to s\xB9siedztwo implikuje. +@entry{SN, SN, Symbol Nieokre\x9Clony} Umowny znak przy specyfikacji \glxref{FL} oraz \glxref{KP} wskazuj\xB9cy, i\xBF funkcja b\xB9d\x9F konfiguracja s\xB9 nie w pe\xB3ni okre\x9Clone. +@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 \glxref{XML}, wi\xEAc mo\xBFe by\xE6 integrowany z innymi j\xEAzykami, jak na przyk\xB3ad XHTML.\citep{plwiki} +@entry{TAK, TAK, Tr\xF3jwymiarowy Automat Kom\xF3rkowy} +@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 \glxref{GUST}\\\url{http://www.tug.org/} +@entry{XML, XML, eXtensive Markup Language} Jest to uniwersalny j\xEAzyk formalny przeznaczony do reprezentowania r\xF3\xBFnych danych w ustrukturalizowany spos\xF3b. XML jest niezale\xBFny od platformy, co umo\xBFliwia \xB3atw\xB9 wymian\xEA dokument\xF3w pomi\xEAdzy r\xF3\xBFnymi systemami i znacz\xB9co przyczyni\xB3o si\xEA do popularno\x9Cci tego j\xEAzyka w dobie Internetu. XML jest podzbiorem j\xEAzyka SGML, tj. ka\xBFdy dokument XML jest te\xBF dokumentem SGML. XML jest rekomendowany oraz specyfikowany przez organizacj\xEA W3C.\citep{plwiki} % vim:fencs=cp1250:fenc=cp1250 Modified: trunk/qcell/doc/licenciate_thesis/thesis.bib =================================================================== --- trunk/qcell/doc/licenciate_thesis/thesis.bib 2007-01-30 10:56:35 UTC (rev 279) +++ trunk/qcell/doc/licenciate_thesis/thesis.bib 2007-02-03 11:24:48 UTC (rev 280) @@ -14,3 +14,45 @@ organization = {Wikimedia Foundation Inc.} } +@BOOK{latex, + author = {Tobias Oetiker and Hubert Partl and Irene Hyana and Elisabeth Schlegl}, + title = {The Not So Short Introduction to \LaTeX2e{}}, + publisher = {}, + year = {2006}, + otherinfo = {} +} + +@BOOK{cac, + author = {Stephen Wolfram}, + title = {Cellular Automata and Complexity}, + publisher = {Addison-Wesley}, + year = {1994}, + otherinfo = {} +} + +@BOOK{nks, + author = {Stephen Wolfram}, + title = {A New Kind Of Science}, + publisher = {Wolfram Media}, + year = {2002}, + otherinfo = {} +} + +@BOOK{kul, + author = {K. Ku\xB3akowski}, + editor = {}, + title = {Automaty kom\xF3rkowe}, + publisher = {AGH}, + year = {2000}, + otherinfo = {} +} + +@BOOK{qt4, + author = {Jasmin Blanchette and Mark Summerfield}, + editor = {}, + title = {GUI Programming with Qt 4}, + publisher = {Prentice Hall PTR}, + year = {2006}, + otherinfo = {} +} + Modified: trunk/qcell/doc/licenciate_thesis/thesis.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/thesis.tex 2007-01-30 10:56:35 UTC (rev 279) +++ trunk/qcell/doc/licenciate_thesis/thesis.tex 2007-02-03 11:24:48 UTC (rev 280) @@ -10,6 +10,8 @@ % Typ rekomendowany na prac\xEA PhD \documentclass[12pt,a4paper]{report} +\usepackage{tocloft} + %grafika \usepackage{graphicx} @@ -36,6 +38,8 @@ \glxheading{glo}{\chapter{\glossaryname}} \glxheading{acr}{\chapter{\listacronymname}} +\usepackage{lscape} + % Skorowidz %\usepackage{makeindex} @@ -63,13 +67,37 @@ \newcommand{\CA}{Comarch\textsuperscript{\textregistered}} % \xA3adne numerowanie stron wraz z nag\xB3\xF3wkami -\pagestyle{headings} +%\pagestyle{headings} % Spis tre\x9Cci automagicznie generowany z tytu\xB3\xF3w rozdzia\xB3\xF3w i sekcji +\def\author{\cftdot} +\renewcommand{\cftchapleader}{\cftdotfill{4.5}\author} +\renewcommand{\cftsecleader}{\cftdotfill{4.5}\author \cftdotfill{4.5}} +\renewcommand{\cftsubsecleader}{\cftdotfill{4.5}\author} \tableofcontents +% Tego nale\xBFy u\xBFywa\xE6 zamiast rozdzia\xB3\xF3w, \xBFeby umie\x9Cci\xE6 autora +% #1 - Autor +% #2 - Tytu\xB3 rozdzia\xB3u +\newcommand{\chapterauthor}[2]{% +\addtocontents{toc}{\def\protect\author{ \emph{#1}}}% +\chapter{#2} +\addtocontents{toc}{\def\protect\author{\cftdot}}} + +% J/w tylko sekcja +\newcommand{\sectionauthor}[2]{% +\addtocontents{toc}{\def\protect\author{ \emph{#1}}}% +\section{#2}% +\addtocontents{toc}{\def\protect\author{\cftdot}}} + +% J/w tylko subsekcja +\newcommand{\subsectionauthor}[2]{% +\addtocontents{toc}{\def\protect\author{ \emph{#1}}}% +\subsection{#2}% +\addtocontents{toc}{\def\protect\author{\cftdot}}} + %Jedziemy z koksem -\chapter{Wprowadzenie} +\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. @@ -98,7 +126,8 @@ 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. -\subsection{Zadania szczeg\xF3\xB3owe - Leszek Smentek} + +\subsectionauthor{Leszek Smentek}{Zadania szczeg\xF3\xB3owe} \label{subsec:lsm} \subsubsection {Symulator modelu \ac{AK}} @@ -113,7 +142,7 @@ \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. -\chapter{Zakres problematyki} +\chapterauthor{Cezary Krzy\xBFanowski}{Zakres problematyki} \label{chap:zpr} \section{Synteza optymalnej funkcjonalno\x9Cci symulatora przetwarza\xF1 kom\xF3rkowych} @@ -237,7 +266,7 @@ 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. -\section{Przegl\xB9d mo\xBFliwo\x9Cci znanych automat\xF3w kom\xF3rkowych} +\sectionauthor{Leszek Smentek}{Przegl\xB9d mo\xBFliwo\x9Cci znanych automat\xF3w kom\xF3rkowych} \label{sec:pmz} \subsection {MCell} @@ -304,12 +333,11 @@ \subsection {Por\xF3wnanie dost\xEApnych AK} -\rotatebox{90} -{ -\begin{table}[!hpt] +\begin{landscape} +\begin{table}[!p] \centering -\begin{tabular}{c|c|c|c|c|c|c|c|c} -AK & Dynamika globalna & Definiowanie dowolnych funkcji lokalnych & Wymiana danych pomi\xEAdzy pakietami & Graficzna reprezentacja symulacji & Tekstowa reprezentacja symulaci & Obserwator lokalny & Wspomaganie doboru modelu\\ +\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 @@ -319,26 +347,14 @@ \hline CelLab & Nie & Tak & Tak & Tak & Nie & Nie & Nie\\ \hline -WinLife & Nie & Nie & Nie & Tak & Nie & Nie & Nie\\ - +WinLife & Nie & Nie & Nie & Tak & Nie & Nie & Nie \end{tabular} \caption{Por\xF3wnanie dost\xEApnych AK} \label{tab:} \end{table} -} +\end{landscape} -\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} +\chapterauthor{Leszek Smentek}{Za\xB3o\xBFenia szczeg\xF3\xB3owe} \label{chap:zsz} \section{Mo\xBFliwo\x9Cci funkcjonalne pakietu} \subsection {Podstawowe funkcje programu} @@ -442,37 +458,40 @@ \end{itemize} -\chapter{Implementacja} +\chapterauthor{Cezary Krzy\xBFanowski}{Implementacja} \label{chap:imp} \section{Stosowane narz\xEAdzia} +\label{sec:sna} -\subsection{Przy pisaniu projektu} +\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/}} , kt\xF3re pomagaj\xB9 w budowaniu pakiet\xF3w w wielu systemach UNIXopodobnych. Jest cz\xEA\x9Cci\xB9 GNU Toolchain.\citep{plwiki}\\\url{http://sources.redhat.com/autobook/} \item[gcc] Wieloplatformowy zestaw kompilator\xF3w. W szczeg\xF3lno\x9Cci 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 \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[\Qt{}] Zestaw bibliotek firmy Trolltech\textsuperscript{\textregistered} do wieloplatformowego tworzenia oprogramowania, w szczeg\xF3lno\x9Cci \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\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} +\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{}ie.\\\url{http://www.gimp.org/} + \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{}.\\\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{}\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 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 QVector czy QString, kt\xF3re indeksowane s\xB9 liczbami ca\xB3kowitymi (int). -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 szerok\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 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. 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. @@ -491,7 +510,7 @@ \end{figure} \begin{description} - \item[\ac{GUI}] prezentuj\xB9ce wynik u\xBFytkownikowi i~przekazuj\xB9ce polecenia u\xBFytkownika do + \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} @@ -504,13 +523,19 @@ \end{description} \section{Ograniczenia pakietu} +\label{sec:opa} + \subsection{Liczba 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 \ac{KB}. +\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} -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{} 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} +\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 @@ -561,7 +586,7 @@ 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} -\chapter{Testy} +\chapterauthor{Cezary Krzy\xBFanowski}{Ocena dzia\xB3ania systemu} \label{chap:tes} \section{Dane} \label{sec:dan} @@ -570,11 +595,11 @@ \label{subsec:two} Przeprowadzono dwie grupy test\xF3w tworzenia danych - wczytywanie z~pliku oraz z~wykorzystaniem kreatora i~narz\xEAdzi graficznych. -W~celu weryfikacji poprawno\x9Cci parsowania wygenerowano po 5 plik\xF3w losowych z~poprawnymi danymi, 5 plik\xF3w losowych z~dowolnymi danymi (r\xF3wnie\xBF niepoprawnymi) oraz po jednym pliku wyczerpuj\xB9cym wszystkie poprawne symbole, dla ka\xBFdego obs\xB3ugiwanego przez program formatu. +W~celu weryfikacji poprawno\x9Cci parsowania wygenerowano po pi\xEAc plik\xF3w losowych z~poprawnymi danymi, pi\xEA\xE6 plik\xF3w losowych z~dowolnymi danymi (r\xF3wnie\xBF niepoprawnymi) oraz po jednym pliku wyczerpuj\xB9cym wszystkie poprawne symbole dla ka\xBFdego obs\xB3ugiwanego przez program formatu. -Aplikacja poprawnie rozpozna\xB3a pliki zgodne z~formatem oraz te niezgodne, sugeruj\xB9c przy tym przyczyn\xEA b\xB3\xEAdu i~miejsce jego wyst\xB9pienia, oraz przypomnia\xB3a poprawny format. W~przypadku plik\xF3w wyczerpuj\xB9cych zbi\xF3r symboli, program zachowa\xB3 si\xEA poprawnie i s\xB3usznie zwr\xF3ci\xB3 uwag\xEA na b\xB3\xEAdy logiczne plik\xF3w (np. nie mo\xBFna stworzy\xE6 poprawnej funkcji FQT u\xBFywaj\xB9c ka\xBFdego dozwolonego symbolu jednokrotnie). +Aplikacja poprawnie rozpozna\xB3a pliki zgodne i~niezgodne z~formatem. Sugerowa\xB3a przy tym przyczyn\xEA b\xB3\xEAdu i~miejsce jego wyst\xB9pienia. W~przypadku plik\xF3w wyczerpuj\xB9cych zbi\xF3r symboli, program zachowa\xB3 si\xEA poprawnie i s\xB3usznie zwr\xF3ci\xB3 uwag\xEA na b\xB3\xEAdy logiczne plik\xF3w (np. nie mo\xBFna stworzy\xE6 poprawnej funkcji FQT u\xBFywaj\xB9c ka\xBFdego dozwolonego symbolu jednokrotnie). -Testy graficznych narz\xEAdzi do tworzenia danych polega\xB3y na pr\xF3bie wygenerowania plik\xF3w wynikowych to\xBFsamych z~u\xBFytymi w~testach plik\xF3w wej\x9Cciowych. Powsta\xB3e pliki poprawne sk\xB3adniowo by\xB3y identyczne do tych stworzonych wcze\x9Cniej. Program uniemo\xBFliwi\xB3 stworzenie funkcji niepoprawnych logicznie, informuj\xB9c na bie\xBF\xB9co o~przyczynach b\xB3\xEAd\xF3w. Stworzenie plik\xF3w niepoprawnych sk\xB3adniowo by\xB3o niemo\xBFliwe. +Testy graficznych narz\xEAdzi do tworzenia danych polega\xB3y na pr\xF3bie wygenerowania plik\xF3w wynikowych to\xBFsamych z~tymi u\xBFytymi w~wcze\x9Cniej. Powsta\xB3e pliki, poprawne sk\xB3adniowo, by\xB3y identyczne. Program uniemo\xBFliwi\xB3 stworzenie funkcji niepoprawnych logicznie, informuj\xB9c na bie\xBF\xB9co o~przyczynach b\xB3\xEAd\xF3w. Stworzenie plik\xF3w niepoprawnych sk\xB3adniowo by\xB3o niemo\xBFliwe. \subsection{Modyfikacja} \label{subsec:mod} @@ -584,12 +609,13 @@ \subsection{Utrwalanie} \label{subsec:utr} -Osobno testowano dwa tryby utrwalania: pojedynczych element\xF3w \ac{AK} (\ac{N}, \ac{FL}, \ac{KB}) oraz ca\xB3o\x9Cci eksperymentu w~raz z~histori\xB9. +Osobno testowano dwa tryby utrwalania: pojedynczych element\xF3w \ac{AK} (\ac{N}, \ac{FL}, \ac{KB}) oraz ca\xB3o\x9Cci eksperymentu wraz z~histori\xB9. -Testy zapisywania pojedynczych element\xF3w \ac{AK} przeprowadzono wraz z~testami modyfikacji z~rozdzia\xB3u \ref{subsec:mod}. Dla ka\xBFdej dokonanej zmiany zachowywano jej wynik do pliku i~weryfikowano jego poprawno\x9C\xE6. Program poprawnie utrwali\xB3 wszystkie modyfikacje. -Testy zachowywania ca\xB3o\x9Cci eksperymentu zosta\xB3y przeprowadzone natomiast r\xF3wnolegle z~testami poprawno\x9Cci oblicze\xF1 z~rozdzia\xB3u \ref{sec:pob}. Ka\xBFdy z~nich uruchamiany by\xB3 dwukrotnie: raz poprzez wczytanie danych z~osobnych plik\xF3w, raz przy u\xBFyciu opcji zachowania ca\xB3o\x9Cci eksperymentu i~ponownego jego wczytania. Nast\xEApnie por\xF3wnano wyniki. Wszystkie symulacje z~rozdzia\xB3u \ref{sec:pob} przebiega\xB3y identycznie dla obu tryb\xF3w inicjowania oblicze\xF1. +Testy zapisywania pojedynczych element\xF3w \ac{AK} przeprowadzono razem z~testami modyfikacji z~rozdzia\xB3u \ref{subsec:mod}. Dla ka\xBFdej dokonanej zmiany zachowywano jej wynik do pliku i~weryfikowano jego poprawno\x9C\xE6. Program poprawnie utrwali\xB3 wszystkie modyfikacje. +Natomiast testy zachowywania ca\xB3o\x9Cci eksperymentu zosta\xB3y przeprowadzone r\xF3wnolegle z~testami poprawno\x9Cci oblicze\xF1 z~rozdzia\xB3u \ref{sec:pob}. Ka\xBFdy z~nich uruchamiany by\xB3 dwukrotnie: raz poprzez wczytanie danych z~osobnych plik\xF3w, raz przy u\xBFyciu opcji zachowania ca\xB3o\x9Cci eksperymentu i~ponownego jego wczytania. Nast\xEApnie por\xF3wnano wyniki. Wszystkie symulacje z~rozdzia\xB3u \ref{sec:pob} przebiega\xB3y identycznie dla obu tryb\xF3w inicjowania oblicze\xF1. + \section{Poprawno\x9C\xE6 oblicze\xF1} \label{sec:pob} Poprawno\x9C\xE6 oblicze\xF1 weryfikowana by\xB3a przy pomocy powszechnie znanych i~udokumentowanych obiekt\xF3w \ac{AK}. Wykorzystano w~tym celu g\xB3\xF3wnie ,,\xB3aziki'' i~,,\xB3\xF3deczki'' w~r\xF3\xBFnych wariantach. Zachowanie w~testowanym pakiecie por\xF3wnywane by\xB3o ze wzorcowym. Dodatkowo wykorzystano mo\xBFliwo\x9C\xE6 importu z~pakietu MCell por\xF3wnuj\xB9c przeniesione eksperymenty z~ich orygina\xB3ami. @@ -603,11 +629,11 @@ Procedura polega\xB3a na przeprowadzeniu test\xF3w poprawno\x9Cci oblicze\xF1 z~rozdzia\xB3u \ref{sec:pob} oraz powi\xB9zanych z~nimi testami utrwalania (por. \ref{subsec:utr}. -Og\xF3lny wystr\xF3j pakietu oraz czytelno\x9C\xE6 interfejsu zosta\xB3a oceniona jako zadowalaj\xB9ca. Opcje rozmieszczono poprawnie ze zrozumia\xB3ymi nazwami i~obja\x9Cnieniami. Pakiet poprawnie reagowa\xB3 na polecenia operatora i~informowa\xB3 o~jego b\xB3\xEAdach~--- w~razie potrzeby sugerowa\xB3 metody ich poprawienia. +Og\xF3lny wystr\xF3j pakietu oraz czytelno\x9C\xE6 interfejsu zosta\xB3a oceniona jako zadowalaj\xB9ca. Opcje rozmieszczono poprawnie ze zrozumia\xB3ymi nazwami i~obja\x9Cnieniami. Pakiet reagowa\xB3 na polecenia operatora i~informowa\xB3 o~jego b\xB3\xEAdach~--- w~razie potrzeby sugerowa\xB3 metody ich poprawienia. Jako og\xF3ln\xB9 wade pakietu wskazano brak menu kontekstowego specyficznego dla ka\xBFdego elementu symulacji. W~szczeg\xF3lno\x9Cci manipulowanie przestrzeniami tr\xF3jwymiarowymi - kopiowanie, wklejanie, utrudnione jest przez ci\xB9g\xB3e si\xEAganie do zasobnika bocznego. -Uwag\xB9 dodatkow\xB9 jest brak ikon/kursor\xF3w u\xB3atwiaj\xB9cych oszacowanie przeznaczenia poszczeg\xF3lnych tryb\xF3w i~opcji. +Uwag\xB9 dodatkow\xB9 jest brak ikon/kursor\xF3w u\xB3atwiaj\xB9cych odgadni\xEAcie przeznaczenia poszczeg\xF3lnych tryb\xF3w i~opcji. \section{Wydajno\x9Cci} \label{sec:wyd} @@ -635,12 +661,12 @@ \subsection{Procedura testowa} \label{subsec:pte} -Do test\xF3w wykorzystano scenariusze stworzone na potrzeby test\xF3w poprawno\x9Cci oblicze\xF1 z~rozdzia\xB3u \ref{sec:pob}. Dla ka\xBFdego z~obiekt\xF3w przeprowadzono 10,000 iteracji. Kluczowym parametrem by\xB3 czas, mierzony osobno dla tryb\xF3w graficznych, jak i~tekstowych. +Wykorzystano scenariusze stworzone na potrzeby test\xF3w poprawno\x9Cci oblicze\xF1 z~rozdzia\xB3u \ref{sec:pob}. Dla ka\xBFdego z~obiekt\xF3w przeprowadzono 10,000 iteracji. Kluczowym parametrem by\xB3 czas, mierzony osobno dla tryb\xF3w graficznych, jak i~tekstowych. \subsection{Automaty jednowymiarowe} \label{subsec:aje} - Wyniki wszystkich pomiar\xF3w oscylowa\xB3y w~granicy 2:40 min.~Zauwa\xBFalna jest wyra\x9Fna zale\xBFno\x9C\xE6 wydajno\x9Cci od liczby wierszy widocznych na ekranie. Spowodowane jest to znacznym nak\xB3adem potrzebnym do uaktualniania ca\xB3o\x9Cci tabeli, w~kt\xF3rej wy\x9Cwietlone s\xB9 kolejne iteracje. Z~ka\xBFdym nowym wierszem na ekranie przetwarzanie wyra\x9Fnie zwalnia, a\xBF do momentu zape\xB3nienia ca\xB3ej dost\xEApnej przestrzeni. Nast\xEApnie przetwarzanie obywa si\xEA ze sta\xB3a pr\xEAdko\x9Cci\xB9, w~zasadzie niezale\xBFn\xB9 od ilo\x9Cci przechowywanych iteracji. + Wyniki wszystkich pomiar\xF3w oscylowa\xB3y w~granicy dw\xF3ch minut i~czterdziestu sekund.~Zauwa\xBFalna jest wyra\x9Fna zale\xBFno\x9C\xE6 wydajno\x9Cci od liczby wierszy widocznych na ekranie. Spowodowane jest to znacznym nak\xB3adem potrzebnym do uaktualniania ca\xB3o\x9Cci tabeli, w~kt\xF3rej wy\x9Cwietlone s\xB9 kolejne iteracje. Z~ka\xBFdym nowym wierszem pojawiaj\xB9cym sie na ekranie przetwarzanie wyra\x9Fnie zwalnia, a\xBF dociera do momentu zape\xB3nienia ca\xB3ej dost\xEApnej przestrzeni. Nast\xEApnie przetwarzanie obywa si\xEA ze sta\xB3a pr\xEAdko\x9Cci\xB9, w~zasadzie niezale\xBFn\xB9 od ilo\x9Cci przechowywanych iteracji. Tryb rejestrowania \ac{RE} nie wp\xB3ywa znacz\xB9co na pr\xEAdko\x9C\xE6 oblicze\xF1 \ac{LAK}-a (w~por\xF3wnaniu do wielowymiarowych \ac{AK}). @@ -649,18 +675,18 @@ Tryb tekstowy dwuwymiarowych \ac{AK} osi\xB9ga\xB3 podobne rezultaty do \ac{LAK}-\xF3w. Czasy nieco si\xEA wyd\xB3u\xBFy\xB3y i~wynios\xB3y \x9Crednio 3:22 min.~Spos\xF3b prezentacji danych, identyczny do trybu jednowymiarowego, charakteryzuje si\xEA tym samym spowalnianiem do momentu ca\xB3kowitego wype\xB3nienia ekranu. -Graficzna reprezentacja \ac{DAK}-a, a~co za tym idzie wykorzystanie karty graficznej do uaktualniania stanu kom\xF3rek, zdecydowanie poprawia wyniki. D\xB3ugo\x9C\xE6 eksperymentu spad\xB3a \x9Crednio o~$23\%$, oscyluj\xB9c wok\xF3\xB3 2:43, rekompensuj\xB9c tym samym przyrost oblicze\xF1 wynikaj\xB9cych z~dodatkowego wymiaru. +Graficzna reprezentacja \ac{DAK}-a, a~co za tym idzie wykorzystanie karty graficznej do uaktualniania stanu kom\xF3rek, zdecydowanie poprawia wyniki. D\xB3ugo\x9C\xE6 eksperymentu spad\xB3a \x9Crednio o~$23\%$, oscyluj\xB9c wok\xF3\xB3 dw\xF3ch minut i~czterdziestu trzech sekund, rekompensuj\xB9c tym samym przyrost oblicze\xF1 wynikaj\xB9cych z~dodatkowego wymiaru. -Rejestrowanie \ac{RE} zauwa\xBFalnie wyd\xB3u\xBFa czas obliczania pojedynczej iteracji. Wynika to przede wszystkim ze znacznym wzrostem liczby \ac{RE} generowanych przez \ac{DAK}. Wp\xB3yw ten jest jednakowy zar\xF3wno na tryb tekstowy, jak i~graficzny. +Rejestrowanie \ac{RE} zauwa\xBFalnie wyd\xB3u\xBFa czas obliczania pojedynczej iteracji. Wynika to przede wszystkim ze znacznego wzrostu liczby \ac{RE} generowanych przez \ac{DAK}. Wp\xB3yw ten jest jednakowy zar\xF3wno dla trybu tekstowego, jak i~graficzny. \subsection{Automaty tr\xF3jwymiarowe} \label{subsec:atr} -W~przypadku \ac{TAK}-\xF3w dost\xEApny jest jedynie tryb graficzny. Wyniki osi\xB9gni\xEAte s\xB9 do\x9C\xE6 kontrowersyjne i~sprzeczne na pierwszy rzut oka. \x8Credni czas trwania eksperymentu nie przekracza\xB3 3:10. Wydawa\xE6 by si\xEA mog\xB3o, i\xBF wprowadzenie trzeciego wymiaru zdecydowanie pogorszy osi\xB9gi programu. Jednak\xBFe nowoczesne karty graficzne optymalizowane s\xB9 pod wzgl\xEAdem przetwarzania grafiki 3D. Nowe rozwi\xB9zania sprz\xEAtowe i~algorytmiczne nie s\xB9 wykorzystywane do wy\x9Cwietlania grafiki 2D. Zysk wynikaj\xB9cy z~ukierunkowania uk\xB3ad\xF3w graficznych jest szczeg\xF3lnie widoczny, gdy podczas przeprowadzania testu wydajno\x9Cci opr\xF3cz prowadzenia oblicze\xF1 dodatkowo manipulujemy wy\x9Cwietlaniem. Powoduje to znaczny spadek og\xF3lnej wydajno\x9Cci w~trybie 2D, podczas gdy tryb tr\xF3jwymiarowy w~zasadzie nie jest widocznie spowolniony, a~jedyne op\xF3\x9Fnienia wynikaj\xB9 raczej z~procedur obs\xB3ugi ruch\xF3w myszki, ni\xBF z~samych manipulacji. +W~przypadku \ac{TAK}-\xF3w dost\xEApny jest jedynie tryb graficzny. Osi\xB9gni\xEAte wyniki s\xB9 do\x9C\xE6 kontrowersyjne i~sprzeczne na pierwszy rzut oka. \x8Credni czas trwania eksperymentu nie przekracza\xB3 trzech minut i~dziesi\xEAciu sekund. Wydawa\xE6 by si\xEA mog\xB3o, i\xBF wprowadzenie trzeciego wymiaru zdecydowanie pogorszy osi\xB9gi programu. Jednak\xBFe nowoczesne karty graficzne optymalizowane s\xB9 pod wzgl\xEAdem przetwarzania grafiki 3D. Nowe rozwi\xB9zania sprz\xEAtowe i~algorytmiczne nie s\xB9 wykorzystywane do wy\x9Cwietlania grafiki 2D. Zysk wynikaj\xB9cy z~ukierunkowania uk\xB3ad\xF3w graficznych jest szczeg\xF3lnie widoczny, gdy podczas przeprowadzania testu wydajno\x9Cci opr\xF3cz prowadzenia oblicze\xF1 dodatkowo manipulujemy wy\x9Cwietlaniem. Powoduje to znaczny spadek og\xF3lnej wydajno\x9Cci w~trybie 2D, podczas gdy tryb tr\xF3jwymiarowy w~zasadzie nie jest widocznie spowolniony, a~jedyne op\xF3\x9Fnienia wynikaj\xB9 raczej z~procedur obs\xB3ugi ruch\xF3w myszki, ni\xBF z~samych manipulacji. Natomiast tworzenie listy \ac{RE} w~bardzo znacz\xB9cy spos\xF3b pogarsza osi\xB9gi. Pr\xEAdko\x9C\xE6 spada do $25\%$. Przetwarzanie zwalania do tego stopnia, i\xBF wyra\x9Fnie wida\xE6 przerwy mi\xEAdzy ka\xBFd\xB9 pojedyncz\xB9 iteracj\xB9. Liczba \ac{RE} tworzona w~\ac{TAK}-u stanowi znaczn\xB9 cz\xEA\x9C\xE6 og\xF3lnej liczby kom\xF3rek do obliczenia. -\chapter{Instrukcja obs\xB3ugi pakietu} +\chapterauthor{Leszek Smentek}{Instrukcja obs\xB3ugi pakietu} \label{chap:iop} \section{Typowy przebieg eksperymentu} @@ -678,7 +704,7 @@ Aby rozpocz\xB9\xE6 symulacje nale\xBFy za\xB3adowa\xE6 pliki zawieraj\xB9ce funkcje lokaln\xB9, s\xB9siedztwo oraz konfiguracje inicjaln\xB9. -Po za\xB3adowaniu wszystkich niezb\xEAdnych element\xF3w dost\xEApne jest menu symulacji, a tak\xBFe zak\xB3adki dost\xEApne dla danej symulacji. +Po wczytaniu niezb\xEAdnych element\xF3w dost\xEApne jest menu eksperymentu, a tak\xBFe zak\xB3adki charakterystyczne dla danej konfiguracji AK. \subsection {Zak\xB3adki wizualizacji} @@ -692,9 +718,9 @@ Narz\xEAdzia trybu 1D: \begin{itemize} \item kolory - tryb widoku uwzgl\xEAdniaj\xB9cy kolory dla symboli -\item warto\x9Cci - tryb domy\x9Clny +\item warto\x9Cci - tryb domy\x9Clny przedstawiaj\xB9cy liczbow\xB9 reprezentacje kom\xF3rek. \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 +\item wyczy\x9C\xE6 - powoduje usuni\xEAcie wszystkich zachowanych chwil czasowych z diagramu historii przetwarzania \end{itemize} \subsubsection {Tekstowy widok 2D} @@ -708,9 +734,9 @@ \begin{itemize} \item kolory - tryb widoku uwzgl\xEAdniaj\xB9cy kolory dla symboli -\item warto\x9Cci - tryb domy\x9Clny +\item warto\x9Cci - tryb domy\x9Clny przedstawiaj\xB9cy liczbow\xB9 reprezentacje kom\xF3rek \item symbole - warto\x9Cci kom\xF3rek zamieniane s\xB9 na symbole graficzne -\item p\xB3aszczyzna z - warto\x9C\xE6 wsp\xF3\xB3rz\xEAdnej z p\xB3aszczyzny na znajduje si\xEA przekr\xF3j(wyst\xEApuje jedynie dla konfiguracji 3D) +\item p\xB3aszczyzna z - warto\x9C\xE6 przesuni\xEAcia w~p\xB3aszczy\x9Fnie XY ) \end{itemize} \subsubsection {Graficzny widok 2D} @@ -720,6 +746,8 @@ \caption{Graficzny widok 2D} \end{figure} +Widok ten obrazuje KB z~zastosowaniem konfiguracji kolor\xF3w. + \subsubsection {Widok 3D} \begin{figure}[h] \centering @@ -730,8 +758,8 @@ Narz\xEAdzia trybu 3D: \begin{itemize} -\item Perspektywa - tryb perspektywy -\item Ortho - tryb perspektywy +\item Perspektywa - tryb perspektywy odzwierciedlaj\xB9cy spos\xF3b postrzegania \x9Cwiata przez ludzkie oko +\item Ortho - tryb perspektywy ortogonalnej. \item przekr\xF3j - zbi\xF3r narz\xEAdzi umo\xBFliwiaj\xB9cych wykonywania przekroj\xF3w w przestrzeni 3D \end{itemize} @@ -742,10 +770,8 @@ \caption{Zak\xB3adka funkcja} \end{figure} -Widok przedstawia tabele funkcji lokalnej. Kolumny przedstawiaj\xB9 sumy argument\xF3w totalizowanych. +Widok przedstawia tabele funkcji lokalnej. Warto\x9Cci nieokre\x9Clone w tablicy funkcji przedstawione s\xB9 w postaci symbolu "?". -Warto\x9Cci nieokre\x9Clone w tablicy funkcji przedstawione s\xB9 w postaci symbolu "?". - \subsection {Zak\xB3adka s\xB9siedztwo} \begin{figure}[h] \centering @@ -765,12 +791,12 @@ \end{itemize} \subsection {Edycja funkcji lokalnej} -W celu zmiany warto\x9Cci funkcji nale\xBFy wybra\xE6 pozycje w tabeli a nast\xEApnie wprowadzi\xE6 now\xB9 warto\x9C\xE6 za pomoc\xB9 klawiatury. Wprowadzenie warto\x9Cci ujemnej lub znaku "?" spowoduje i\xBF funkcja dla danych argument\xF3w jest nieokre\x9Clona. Po natrafieniu na warto\x9C\xE6 nieokre\x9Clon\xB9 podczas oblicze\xF1 spowoduje zatrzymanie symulacji i zaznaczenie w tabeli miejsca nieokre\x9Clonego, oraz w widokach 1D, tekstowym 2D i 3D miejsca, dla kt\xF3rego wyst\xB9pi\xB3a nieokre\x9Clono\x9C\xE6. +W celu zmiany warto\x9Cci funkcji nale\xBFy wybra\xE6 pole w tabeli a nast\xEApnie wprowadzi\xE6 now\xB9 warto\x9C\xE6 za pomoc\xB9 klawiatury. Wprowadzenie warto\x9Cci ujemnej lub znaku "?" spowoduje, i\xBF funkcja dla danych argument\xF3w jest nieokre\x9Clona. Po natrafieniu na warto\x9C\xE6 nieokre\x9Clon\xB9 podczas oblicze\xF1 spowoduje zatrzymanie symulacji, i zaznaczenie w tabeli miejsca nieokre\x9Clonego, oraz w widokach 1D, tekstowym 2D i 3D miejsca, dla kt\xF3rego wyst\xB9pi\xB3a nieokre\x9Clono\x9C\xE6. \subsection {Edycja s\xB9siedztwa} Edycja s\xB9siedztwa nast\xEApuje poprzez zaznaczenie wybranej kom\xF3rki w przestrzeni 3D i u\xBFycia przycisku "Ustaw zaznaczone". Zmiana zostaje dokonana na warto\x9C\xE6 wybran\xB9 z tabeli "S\xB9siedztwo". -Aby zmiany zosta\xB3y zachowane nale\xBF u\xBFy\xE6 przycisku "Zatwierd\x9F". Przycisku "Prze\xB3aduj" spowoduje powr\xF3t do poprzedniej konfiguracji. +Aby zmiany zosta\xB3y zachowane nale\xBF u\xBFy\xE6 przycisku "Zatwierd\x9F". Naci\x9Cni\xEAcie "Prze\xB3aduj" prze\xB3adowanie poprzedniej konfiguracji. \chapter{Podzia\xB3 pracy} \label{chap:ppr} @@ -816,15 +842,23 @@ Tabela \ref{tab:apm} mo\xBFe mylnie sugerowa\xE6 rozk\xB3ad pracy. Modu\xB3 silnika obliczeniowego jest najbardziej pracoch\xB3onn\xB9 cz\xEA\x9Cci\xB9 symulatora. -\chapter{Wnioski} +\chapterauthor{Cezary Krzy\xBFanowski}{Wnioski} \label{chap:wni} -Stworzenie bogato wyposa\xBFonego pakietu symulacyjnego jest zadaniem nietrywialnym. Nie tylko z~uwagi na z\xB3o\xBFono\x9C\xE6 programistyczn\xB9 zagadnienia, ale r\xF3wnie\xBF precyzyjne sformu\xB3owanie za\xB3o\xBFe\xF1. Trzy miesi\xB9ce pracy w~zespole pozwoli\xB3y obiektywnie oszacowa\xE6 swoje mo\xBFliwo\x9Cci oraz wypracowa\xE6 metody pracy grupowej. Szczeg\xF3lnie pouczaj\xB9ca okaza\xB3a si\xEA wsp\xF3\xB3praca z~operatorem ko\xF1cowym pakietu, kt\xF3ry, podobnie jak klient sp\xF3\xB3ki programistycznej, nie jest zainteresowany technikaliami, a~ko\xF1cow\xB9 funkcjonalno\x9Cci\xB9 wytwarzanego produktu. +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. -Najbardziej owocn\xB9 decyzj\xB9 projektu by\xB3o wykorzystanie paradygmatu \ac{MVC} w~implementacji. Dodatkowy nak\xB3ad pracy wynikaj\xB9cy z~budowy infrastruktury komunikacyjnej mi\xEAdzy modelem a~jego widokiem zwraca\xB3 si\xEA bardzo szybko, gdy system nabiera\xB3 na z\xB3o\xBFono\x9Cci. Przemy\x9Clane interfejsy zmniejsza\xB3y pracoch\xB3onno\x9C\xE6 dodawania nowych funkcjonalno\x9Cci do pakietu, jakkolwiek i~tak coraz wi\xEAksz\xB9 si\xEA z~ka\xBFd\xB9, cho\xE6by trywialn\xB9, zmian\xB9. +Wytworzony symulator\ac{AK} zawiera mo\xBFliwo\x9Cci funkcjonalne nie implementowane wcze\x9Cniej, w~szczeg\xF3lno\x9Cci koncepcja \ac{OL} w~przestrzeni tr\xF3jwymiarowej. -Perspektyw\xB9 na rozw\xF3j, naszym zdaniem, jest przeniesienie ci\xEA\xBFaru oblicze\xF1 w~symulatorach \ac{AK} z~silnika obliczeniowego na dobrze zaprojektowany modu\xB3 przechowywania i~indeksowania \ac{RE}. Wydajno\x9C\xE6 ca\xB3ego systemu wzros\xB3a by znacznie, gdy\xBF po skompletowaniu listy \ac{RE} dla danej symulacji, co dzieje zwykle po kilku pierwszych iteracjach, warto\x9Cci kolejnych kom\xF3rek mo\xBFna by bezpo\x9Crednio wpisywa\xE6, bez potrzeby ponownego ich wyznaczania. Ponadto przechowywanie pe\xB3nej listy \ac{RE} umo\xBFliwia implementowanie nowych funkcjonalno\x9Cci, zwi\xB9zanych z~analizowaniem dzia\xB3ania \ac{FL}. +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. +Zaprojektowanie bogato wyposa\xBFonego pakietu symulacyjnego jest zadaniem nietrywialnym. Nie tylko z~uwagi na z\xB3o\xBFono\x9C\xE6 programistyczn\xB9 zagadnienia, ale r\xF3wnie\xBF precyzyjne sformu\xB3owanie za\xB3o\xBFe\xF1. Interkcja w~zespole pozwoli\xB3a obiektywnie oszacowa\xE6 swoje mo\xBFliwo\x9Cci oraz wypracowa pracy grupowej. Szczeg\xF3lnie pouczaj\xB9ca okaza\xB3a si\xEA wsp\xF3\xB3praca z~operatorem ko\xF1cowym pakietu, kt\xF3ry, podobnie jak klient sp\xF3\xB3ki programistycznej, nie jest zainteresowany technikaliami, a~ko\xF1cow\xB9 funkcjonalno\x9Cci\xB9 wytwarzanego produktu. + +Najbardziej owocn\xB9 decyzj\xB9 projektu by\xB3o wykorzystanie paradygmatu \ac{MVC} w~implementacji. Dodatkowy nak\xB3ad pracy wynikaj\xB9cy z~budowy infrastruktury komunikacyjnej, mi\xEAdzy modelem a~jego widokiem, procentowa\xB3, gdy system nabiera\xB3 na z\xB3o\xBFono\x9Cci. + % Bibliografia w zewn\xEAtrznym pliku w/g standardu natbib +\nocite{cac} +\nocite{nks} +\nocite{kul} +\nocite{qt4} \bibliographystyle{plain} \bibliography{thesis} @@ -852,9 +886,8 @@ 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. +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 oraz dr~Andrzejowi Szwabe za zadanie kluczowego pytanie ,,dlaczego''. -\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-30 10:56:35 UTC (rev 279) +++ trunk/qcell/doc/licenciate_thesis/titlepage.tex 2007-02-03 11:24:48 UTC (rev 280) @@ -22,7 +22,8 @@ % Tytu\xB3 \begin{Huge} - ,,Wizualizacja przetwarzania w automacie kom\xF3rkowym z wybranym obserwatorem'' + \bfseries + Wizualizacja przetwarzania w automacie kom\xF3rkowym z wybranym obserwatorem \end{Huge} \end{center} @@ -34,17 +35,17 @@ \item[Promotor:] dr~in\xBF.~Pawe\xB3 Siwak \item[Recenzent:] dr~in\xBF.~Tomasz Bilski \end{description} + + \cleardoublepage + \pagestyle{empty} + \vspace*{\fill} + {\hfill\sffamily\itshape ...} + \begin{flushright} + Cezary Krzy\xBFanowski:\\ + \emph{Mamie\ldots po prostu} + \end{flushright} + \rmfamily + \normalfont \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 - Modified: trunk/qcell/visgui/ElementalRulesWidget.cpp =================================================================== --- trunk/qcell/visgui/ElementalRulesWidget.cpp 2007-01-30 10:56:35 UTC (rev 279) +++ trunk/qcell/visgui/ElementalRulesWidget.cpp 2007-02-03 11:24:48 UTC (rev 280) @@ -94,7 +94,7 @@ rules.append(item->text(0).toInt()); } - emit rulesSelected(rules); +// emit rulesSelected(rules); } void ElementalRulesWidget::setVisible(bool visible) @@ -140,7 +140,7 @@ // Make it look good rp.rulePropertiesTable->resizeColumnsToContents(); - // Finally if the dialog is accepted, set the resulg + // Finally if the dialog is accepted, set the result // in the tree if (rp.exec() == QDialog::Accepted) { @@ -151,3 +151,8 @@ } } +//void ElementalRulesWidget::rulesSelected(QHash<int, QList<QVector<int> > > rules) +//{ +// +//} + Modified: trunk/qcell/visgui/ElementalRulesWidget.h =================================================================== --- trunk/qcell/visgui/ElementalRulesWidget.h 2007-01-30 10:56:35 UTC (rev 279) +++ trunk/qcell/visgui/ElementalRulesWidget.h 2007-02-03 11:24:48 UTC (rev 280) @@ -13,6 +13,9 @@ #include <QStringList> #include <QTreeWidgetItem> #include <QTableWidgetItem> +#include <QList> +#include <QVector> +#include <QHash> #include "ui_ElementalRulesWidget.h" #include "RuleProperties.h" @@ -21,7 +24,7 @@ Q_OBJECT signals: void visible(bool visible); - void rulesSelected(QVector<int> rules); +// void rulesSelected(QHash<int, QList<QVector<int> > > rules); public slots: void setVisible(bool visible); void show(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |