From: <dhu...@us...> - 2007-02-05 21:31:37
|
Revision: 287 http://svn.sourceforge.net/qcell/?rev=287&view=rev Author: dhubleizh Date: 2007-02-05 13:31:33 -0800 (Mon, 05 Feb 2007) Log Message: ----------- - rewritten chapter 2 - rewritten introduction - some labels here and there - general cleanup and checkups 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/thesis.gdf Modified: trunk/qcell/doc/licenciate_thesis/acronyms.gdf =================================================================== --- trunk/qcell/doc/licenciate_thesis/acronyms.gdf 2007-02-04 21:47:19 UTC (rev 286) +++ trunk/qcell/doc/licenciate_thesis/acronyms.gdf 2007-02-05 21:31:33 UTC (rev 287) @@ -3,7 +3,7 @@ @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 uzyskanych z analisy s\xB9siedztwa\glxref*{N}. -@entry{FQT, FQT, Funkcja kwazi-totalistyczna} +@entry{FQT, FQT, Funkcja Quazi-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 \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} Modified: trunk/qcell/doc/licenciate_thesis/chap1/chap1.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap1/chap1.tex 2007-02-04 21:47:19 UTC (rev 286) +++ trunk/qcell/doc/licenciate_thesis/chap1/chap1.tex 2007-02-05 21:31:33 UTC (rev 287) @@ -1,41 +1,51 @@ \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}). +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~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. +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. +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 detale implementacyjne w \ref{chap:imp}. Ocenie dzia\xB3ania powsta\xB3ego symulatora po\x9Cwi\xEAcony zosta\xB3 ust\xEAp \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 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. +Implementowanie symulator\xF3w jest integraln\xB9 cz\xEA\x9Cci\xB9 procesu powo\xB3ywania 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 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. +Dziedzin\xB9 szczeg\xF3lnie nadaj\xB9c\xB9 si\xEA do komputerowego symulowania 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}. -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. +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}. 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} +\label{sec:pzs} +Zakres pracy podzielony zosta\xB3 na dwie cz\xEA\x9Cci. Cz\xEA\x9C\xE6 pierwsz\xB9 wykona\xB3 Cezary Krzy\xBFanowski, cz\xEA\x9C\xE6 drug\xB9~--- Leszek Smentek. Podzia\xB3 oraz om\xF3wienie zada\xF1 szczeg\xF3\xB3owych znajduje si\xEA w~rozdzia\xB3ach \ref{subsec:ck} oraz \ref{subsec:lsm}. + +\subsection{Zadania szczeg\xF3\xB3owe - cz\xEA\x9C\xE6 pierwsza} +\label{subsec:ck} + \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}. +Zadanie polega na zestawieniu listy funkcji, jakie powinien posiada\xE6 pe\xB3nowarto\x9Cciowy pakiet do przeprowadzania eksperyment\xF3w na wielowymiarowych \ac{AK}. Lista ta zosta\xB3a zebrana na podstawie analizy istniej\xB9cych rozwi\xB9za\xF1 oraz nowych koncepcji (por. \ref{sec:syn}). -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{Program symulacji modelu \acs{AK} 3d - interfejs i~\x9Crodki doboru modelu} +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 (\ac{N} i~\ac{FL}), rozumianych jako sposoby wczytywania predefiniowanych element\xF3w oraz wspomaganie przy definiowaniu i~utrwalaniu nowych (por. \ref{subsubsec:model}, \ref{subsec:wkp} oraz \ref{subsubsec:tem}). + \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}. +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}. 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 funkcjonalno\x9Cci. W drugiej fazie pakiet zostanie poddany testom wydajno\x9Cciowym oraz subiektywnym testom ergonomii u\xBFytkowania. +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 poddany testom wydajno\x9Cciowym oraz subiektywnym testom ergonomii u\xBFytkowania (por. \ref{sec:wyd} oraz \ref{sec:eu\xBF}). -\subsectionauthor{Leszek Smentek}{Zadania szczeg\xF3\xB3owe} +\subsectionauthor{Leszek Smentek}{Zadania szczeg\xF3\xB3owe - cz\xEA\x9C\xE6 druga} \label{subsec:lsm} -\subsubsection {Symulator modelu \ac{AK}} +\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. \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. +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 prowadzonego eksperymentu zar\xF3wno dla obserwatora globalnego, jak i trybu obserwatora lokalnego. Modified: trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex 2007-02-04 21:47:19 UTC (rev 286) +++ trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex 2007-02-05 21:31:33 UTC (rev 287) @@ -7,7 +7,7 @@ \subsection{Definicja automatu kom\xF3rkowego} \label{subsec:dak} -{\bf Automat kom\xF3rkowy} (\ac{AK}) jest uporz\xB9dkowan\xB9 czw\xF3rk\xB9\citep{kul}: +{\bf \ac{AK}} jest uporz\xB9dkowan\xB9 czw\xF3rk\xB9\citep{kul}: \begin{displaymath} A \equiv (\alpha, S, N, f) @@ -19,57 +19,70 @@ \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$ +\item $f$~--- \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}. +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 \ac{AK}}. Szczeg\xF3lnym przypadkiem jest {\bf \ac{KP}}. Dla kompletno\x9Cci definicji konfiguracji kom\xF3rek nale\xBFy okre\x9Cli\xE6 r\xF3wnie\xBF {\bf warunki brzegowe}, tzn czy kom\xF3rki znajduj\xB9ce si\xEA na kraw\xEAdzi definiowanej przestrzeni s\xB9 swoimi s\xB9siadami\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}. +{\bf Iteracja} polega na przekszta\xB3ceniu aktualnego stanu \ac{AK} ({\bf \ac{KB}}) w stan kolejny ({\bf \ac{KN}}) stosuj\xB9c \ac{FL} dla ka\xBFdej kom\xF3rki zbioru $\alpha$\citep{siwy}. Dla pierwszej iteracji \ac{KP} jest to\xBFsama z \ac{KB}. 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} +\subsection{Elementy sk\xB3adowe automatu kom\xF3rkowego} +\label{subsec:eak} + \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}. +Przez model rozumiemy \ac{N} i \ac{FL}. S\xB9siedztwo definiuje liczb\xEA argument\xF3w (s\xB9siad\xF3w) pobieranych z \ac{KB}, ich kolejno\x9C\xE6 oraz rozmieszczenie w przestrzeni wzgl\xEAdem uaktualnianej kom\xF3rki. 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}. Z drugiej strony dopuszczalna jest sytuacja, 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. +Podstawowym sposobem zapisywania \ac{FL} jest lista \ac{RE}. Format ten jest czytelny i pozwala bezpo\x9Crednio 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. -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 +Zwi\xEAz\xB3\xB9, a zarazem uniwersaln\xB9, metod\xB9 opisu zachowa\xF1 \ac{AK} jest funkcja quazi-totalistyczna (\ac{FQT})\citep{siwy}. 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}. - 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}. +Formaty zapisu element\xF3w modelu oraz danych \ac{AK} przedstawione zosta\xB3y w rozdziale \ref{chap:zsz}. + +\subsection{Mechanika prowadzenia symulacji automat\xF3w kom\xF3rkowych} +\label{subsec:mak} + +Aby przekszta\xB3ci\xE6 \ac{KN} w \ac{KB} symulator musi wyliczy\xE6 now\xB9 warto\x9C\xE6 ka\xBFdej kom\xF3rki. W tym celu dla ka\xBFdej z nich okre\x9Clana jest warto\x9C\xE6 \ac{FL} na podstawie s\xB9siad\xF3w definiowanych przez \ac{N}. Przetwarzanie odbywa si\xEA od \x9Cciany najbli\xBFszej obserwatorowi (w przypadku \ac{TAK}) kolejnymi wierszami (dla \ac{DAK}) 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 warto\x9Cci s\xB9siad\xF3w pobierane s\xB9 zgodnie z regu\xB3ami okre\x9Clonymi przez warunki brzegowe. + +W celu identyfikowania konkretnej \ac{KB} z historii przetwarzania (por. \ref{subsec:eak}) symulator wykorzystuje tzw. {\bf licznik krok\xF3w iteracji}, kt\xF3ry rejestruje liczb\xEA dotychczasowych przetworze\xF1 (lub inaczej bie\xBF\xB9ce pokolenie). + \section{Synteza optymalnej funkcjonalno\x9Cci symulatora przetwarza\xF1 kom\xF3rkowych} \label{sec:syn} -\subsection{Dane wej\x9Cciowe} +\subsection{Dane wej\x9Cciowe symulatora} \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. +Dobieranie modelu jest podstawowym elementem prowadzenia przetwarza\xF1 \ac{AK}. 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}. +Niezale\xBFnie od przyj\xEAtego formatu funkcji, s\xB9siedztwo okre\x9Clane jest w~ten sam spos\xF3b, tak wi\xEAc jego dob\xF3r mo\xBFna ograniczy\xE6 do wczytywania z~jednego rodzaju pliku (por. \ref{chap:zsz}) oraz do wspomagania wizualnego (uwzgl\xEAdniaj\xB9cego do 3 wymiar\xF3w~--- por. \ref{subsec:tem}). 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}. +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 \ac{RE}, jak i~te z\xB3o\xBFone, kt\xF3re agreguj\xB9 du\xBF\xB9 ilo\x9C\xE6 \ac{RE}, pozwalaj\xB9c tym samym na tworzenie skomplikowanych zachowa\xF1 \ac{AK} (por. \ref{subsec:eak}). -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. +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. -\subsubsection{Dane} +Pakiet nie powinien 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. + +\subsubsection{Dane (konfiguracja kom\xF3rek)} \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. +Specyfikowanie wzajemnego rozmieszczenia kom\xF3rek, podobnie jak w przypadku s\xB9siedztwa, jest jednoznaczne dla przestrzeni jedno- i~dwuwymiarowych, natomiast nietrywialne dla przestrzeni tr\xF3jwymiarowych. Powtarzalno\x9C\xE6 tego procesu implikuje potrzeb\xEA jego usprawnienia. Zatem sam format zapisu \ac{KP} do pliku nie jest tutaj kluczow\xB9 cech\xB9~--- winien jedynie, dla zachowania sp\xF3jno\x9Cci, by\xE6 analogiczny do zapisu s\xB9siedztwa. Tak wi\xEAc szczeg\xF3ln\xB9 uwag\xEA nale\xBFy po\x9Cwi\xEAci\xE6 konstrukcji narz\xEAdzi automatyzuj\xB9cych najbardziej powtarzalne czynno\x9Cci. -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}. +Najcz\xEA\x9Cciej powtarzanym procesem jest kopiowanie istniej\xB9cych struktur i~ich nieznaczne modyfikowanie. Projektowany system powinien takie zachowania implementowa\xE6. W celu efektywnego poruszania si\xEA i~rozmieszczania obiekt\xF3w w~przestrzeni tr\xF3jwymiarowej potrzeba dodatkowych funkcji. 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. +W~celu zintensyfikowania zestawiania du\xBFej liczby \ac{KP} pakiet powinien leksykograficzne uzupe\xB3nia\xE6 \ac{SN}. Operator zyskuje mo\xBFliwo\x9C\xE6 wczytania nie w~pe\xB3ni okre\x9Clonej \ac{KP}, przegl\xB9dania kolejnych podstawie\xF1 i~na podstawie kilku pierwszy iteracji, wybrania tych, kt\xF3re odpowiadaj\xB9 jego potrzebom. \subsection{Ustawienia domy\x9Clne i~przyk\xB3ady} \label{subsec:udip} @@ -77,97 +90,96 @@ 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. +Praktyka wskazuje, i\xBF do\xB3\xB9czenie do pakietu zbioru przyk\xB3adowych eksperyment\xF3w znacznie skraca czas potrzebny na wdro\xBFenie operatora do obs\xB3ugi programu. Wraz z~bibliotek\xB9 cz\xEAsto u\xBFywanych obiekt\xF3w, w~szczeg\xF3lno\x9Cci tych obecnych w~literaturze, jak ,,\xB3aziki'' czy ``migacz'', u\xB3atwione jest zestawianie 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)\citep{cac}. -\subsection{Wizualizacja} +\subsection{Wizualizacja przetwarzania automat\xF3w kom\xF3rkowych} \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. +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{Funkcjonalno\x9C\xE6 podstawowa} +\subsubsection{Funkcje podstawowe wizualizacji} \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. +Elementarnym zadaniem wizualizacji jest zaprezentowanie danych w~klarowny 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. Wszystkie te aspekty winny zosta\xE6 rozwi\xB9zane w ,,idealnym symulatorze'' przetwarza\xF1 \ac{AK}. -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. +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 elementarne przyk\xB3ady. W~po\xB3\xB9czeniu z~manipulowaniem perspektyw\xB9 (patrz rozdzia\xB3 \ref{subsubsec:dane}) taki zestaw pozwala precyzyjnie pozycjonowa\xE6 pojedyncze obiekty w~przestrzeni, jak i~wskazywa\xE6 ca\xB3e ich grupy, bez potrzeby zaznaczenia ka\xBFdej kom\xF3rki z~osobna. Program powinien umo\xBFliwi\xE6 kopiowanie, wklejanie i przemieszczanie tak wybranych struktur. -\subsubsection{Tryby wy\x9Cwietlania} +\subsubsection{Tryby wizualizowania konfiguracji bie\xBF\xB9cej} \label{subsubsec:twy} -\paragraph{Tekstowy} +\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}-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. +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 reprezentuj\xB9cych warto\x9Cci kolejnych kom\xF3rek. Tekstowe wizualizowanie przestrzeni tr\xF3jwymiarowych nie jest tak efektywne i~czytelne z~uwagi na ma\xB3\xB9 foremno\x9C\xE6 symboli znakowych~--- 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 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. +Tryb tekstowy u\xB3atwia analizowanie przetwarza\xF1 \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{Graficzny} +\paragraph{Tryb 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). +Tryb graficzny jest szczeg\xF3lnie efektywny w~wizualizacji przestrzeni tr\xF3jwymiarowych oraz przy odnajdywaniu globalnych zachowa\xF1 \ac{AK} bez wg\xB3\xEAbiania si\xEA w~techniczne przyczyny ich powstania (np. \x9Cledzenie przemieszczania si\xEA konkretnego obiektu, 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. +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 zdecydowanej poprawia czytelno\x9C\xE6 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 do 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. +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 \gls{antyaliasing}, czy przezroczysto\x9C\xE6. -\subsubsection{Interpretacja wy\x9Cwietlania} +\subsubsection{Interpretacja wizualizacji} \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. +Bardzo efektywn\xB9 metod\xB9 zwi\xEAkszenia czytelno\x9Cci prezentowanych danych (w og\xF3lnym rozumieniu) jest interpretowanie przy wy\x9Cwietlaniu. W przypadku \ac{AK} polega ono na przypisywaniu znak\xF3w, kszta\xB3t\xF3w i~kolor\xF3w symbolom \ac{KB} przez operatora. 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 tworzenie interpretacji dla grup symboli. -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 sterowania wizualizacj\xB9 w~pe\xB3ni 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'). -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} +\subsubsection{Interpretacja przy pomocy regu\xB3 elementarnych} \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. +Wykorzystaniem koncepcji widoku interpretowanego jest prezentacja przetwarzania wskazuj\xB9ca \ac{RE}, kt\xF3re wp\xB3yn\xEA\xB3y na przekszta\xB3cenie \ac{KB} w~\ac{KN} (por. \ref{sec:pak}). 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 pojedynczej lub ca\xB3ych grup \ac{RE}. \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. +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 symulacji i~ma nieograniczony oraz natychmiastowy dost\xEAp do wszystkich jej obiekt\xF3w. Zupe\xB3nie now\xB9 koncepcj\xB9 jest mo\xBFliwo\x9C\xE6 zaprezentowania przebiegu oblicze\xF1 z~punktu widzenia jednego z~obiekt\xF3w symulowanej przestrzeni, {\bf zwanego \ac{OL}}\citep{siim}. Kom\xF3rka, wyznaczona na \ac{OL} i b\xEAd\xB9ca cz\xEA\x9Cci\xB9 \ac{KB} dowiaduje si\xEA o zmianie stanu bezpo\x9Crednich s\xB9siad\xF3w natychmiastowo, natomiast z op\xF3\x9Fnieniem (wyra\xBFonym w iteracjach) o zmianie stan\xF3w reszty kom\xF3rek, proporcjonalnym do odleg\xB3o\x9Cci od obserwatora\citep{sicw}. -W~bardziej z\xB3o\xBFonym przypadku mo\xBFna sobie wyobrazi\xE6, i\xBF obserwator jest ruchomy i~przemieszcza si\xEA wraz z~biegiem przetwarzania. +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. -\subsection{Przebieg eksperymentu} +\subsection{Przebieg przetwarzania kom\xF3rkowego} \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. +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{subsec:dak}). -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. +Najefektywniejszym 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 plansza czy pojawienie si\xEA konkretnego wzorca) znacz\xB9co zintensyfikowa\xB3o by mo\xBFliwo\x9Cci prowadzenia eksperyment\xF3w z pakietem. -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 jest wprowadzenie definiowalnego op\xF3\x9Fnienia czasowego mi\xEAdzy kolejnymi iteracjami, celem spowolnienia przetwarzania, np. dla dok\xB3adniejszej analizy zachowa\xF1 \ac{AK}. -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. +Przechowywanie ca\xB3ej historii przetwarzania pozwala na powr\xF3t do wcze\x9Cniejszych iteracji i dok\xB3adnej analizy, lub zmiany modelu lub danych \ac{AK}. W tym celu pakiet powinien udost\xEApni\xE6 p\xB3ynne poruszanie si\xEA wstecz historii 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. +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 poruszanie si\xEA po niej. \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. +Wprowadzanie dynamicznych zmian we wszystkich trzech elementach \ac{AK} (\ac{N}, \ac{FL} i~\ac{KB}) oraz ich uwzgl\xEAdnianie w~dalszych obliczeniach powinno by\xE6 cz\xEA\x9Cci\xB9 ,,idealnego symulatora''. Edycje nale\xBFy rejestrowa\xE6, 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, . +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 wygl\xB9d kolejnych pokole\xF1 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}). -\subsection{Utrwalanie wynik\xF3w} +\subsection{Utrwalanie wynik\xF3w symulacji} \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. +Pakiet 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. +Zapisania 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}). -Dodatkowym atutem by\xB3aby mo\xBFliwo\x9C\xE6 zachowania eksperymentu por\xF3wnawczego oraz taktowania obu przebieg\xF3w. +Nale\xBFy przy tym uwzgl\xEAdni\xE6 utrwalanie eksperyment\xF3w por\xF3wnawczych wraz z taktowaniem 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. +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. -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. +Nale\xBFy zwr\xF3ci\xE6 uwag\xEA na fakt, i\xBF forma multimedialna pozwala p\xB3ynnie prezentowa\xE6 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} Modified: trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex 2007-02-04 21:47:19 UTC (rev 286) +++ trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex 2007-02-05 21:31:33 UTC (rev 287) @@ -3,6 +3,7 @@ \section{Mo\xBFliwo\x9Cci funkcjonalne pakietu} \subsection {Podstawowe funkcje programu} \subsubsection {Wczytywanie konfiguracji z pliku} +\label{subsec:wkp} 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 @@ -40,6 +41,8 @@ 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} +\label{subsubsec:tem} +\label{subsec:tem} 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: @@ -62,9 +65,11 @@ 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} +\label{subsubsec:ddm} 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} +\label{subsubsec:msi} 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} Modified: trunk/qcell/doc/licenciate_thesis/chap4/chap4.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap4/chap4.tex 2007-02-04 21:47:19 UTC (rev 286) +++ trunk/qcell/doc/licenciate_thesis/chap4/chap4.tex 2007-02-05 21:31:33 UTC (rev 287) @@ -16,7 +16,7 @@ \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} +\subsection{Narz\xEAdzia stosowane przy pisaniu opracowania tekstowego} \label{subsec:npt} \begin{description} \item [AcrobatReader] Interpreter plik\xF3w pdf.\\\url{http://www.adobe.com/products/acrobat/readstep2.html}. Modified: trunk/qcell/doc/licenciate_thesis/chap5/chap5.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap5/chap5.tex 2007-02-04 21:47:19 UTC (rev 286) +++ trunk/qcell/doc/licenciate_thesis/chap5/chap5.tex 2007-02-05 21:31:33 UTC (rev 287) @@ -1,4 +1,4 @@ -\chapterauthor{Cezary Krzy\xBFanowski}{Ocena dzia\xB3ania systemu} +\chapterauthor{Cezary Krzy\xBFanowski}{Ocena dzia\xB3ania pakietu} \label{chap:tes} \section{Dane} \label{sec:dan} Modified: trunk/qcell/doc/licenciate_thesis/thesis.gdf =================================================================== --- trunk/qcell/doc/licenciate_thesis/thesis.gdf 2007-02-04 21:47:19 UTC (rev 286) +++ trunk/qcell/doc/licenciate_thesis/thesis.gdf 2007-02-05 21:31:33 UTC (rev 287) @@ -10,6 +10,6 @@ @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{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. +@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\xEAdzi, pojedynczy przycisk, czy etykieta. % vim:fencs=cp1250:fenc=cp1250 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |