From: <dhu...@us...> - 2007-02-11 17:58:59
|
Revision: 301 http://svn.sourceforge.net/qcell/?rev=301&view=rev Author: dhubleizh Date: 2007-02-11 09:58:55 -0800 (Sun, 11 Feb 2007) Log Message: ----------- - a fucking lot of corrections - made almost all things dr Siwak wants 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/style.tex trunk/qcell/doc/licenciate_thesis/thesis.gdf trunk/qcell/doc/licenciate_thesis/titlepage.tex Modified: trunk/qcell/doc/licenciate_thesis/acronyms.gdf =================================================================== --- trunk/qcell/doc/licenciate_thesis/acronyms.gdf 2007-02-09 20:26:35 UTC (rev 300) +++ trunk/qcell/doc/licenciate_thesis/acronyms.gdf 2007-02-11 17:58:55 UTC (rev 301) @@ -1,26 +1,25 @@ @entry{AK, AK, Automat Kom\xF3rkowy} @entry{DAK, DAK, Dwuwymiarowy Automat Kom\xF3rkowy} @entry{DSZ, DSZ, Dyskretne Systemy Z\xB3o\xBFone} -@entry{EPS, EPS, Encapsulated PostScript} 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. @entry{FL, FL, Funkcja Lokalna} -@entry{FQT, FQT, Funkcja Quazi-Totalistyczna} -@entry{GUI, GUI, Graphical User Interface} Og\xF3lne okre\x9Clenie sposobu prezentacji informacji przez komputer oraz interakcji z u\xBFytkownikiem, polegaj\xB9cego na rysowaniu i obs\xB3ugiwaniu kontrolek. -@entry{GUST, GUST, Grupa U\xBFytkownik\xF3w System \TeX{}} Polski oddzia\xB3 \glxref{TUG}~-a.\\\url{http://www.gust.org.pl/} +@entry{FQT, FQT, Funkcja Quasi-Totalistyczna} +@entry{GUI, GUI, graficzny interfejs u\xBFytkownika} Spos\xF3b prezentacji informacji przez komputer oraz interakcji z u\xBFytkownikiem, polegaj\xB9cego na rysowaniu i obs\xB3ugiwaniu okienek i kontrolek. +@entry{GUST, GUST, Grupa U\xBFytkownik\xF3w System \TeX{}} --- Polski oddzia\xB3.\\\url{http://www.gust.org.pl/} @entry{IDE, IDE, Integrated Development Environment} Aplikacja lub zesp\xF3\xB3 aplikacji (\x9Crodowisko) s\xB3u\xBF\xB9cych do tworzenia, modyfikowania, testowania i konserwacji oprogramowania. @entry{KB, KB, Konfiguracja Bie\xBF\xB9ca} @entry{KN, KN, Konfiguracja Nast\xEApna} @entry{KP, KP, Konfiguracja Pocz\xB9tkowa} @entry{LAK, LAK, Liniowy Automat Kom\xF3rkowy} Inaczej jednowymiarowy \glxref{AK}. @entry{MVC, MVC, Model View Controller} Wzorzec programistyczny charakteryzuj\xB9cy si\xEA rozdzieleniem komponent\xF3w aplikacji, tj. modelu danych, interfejsu u\xBFytkownika i logiki sterowania w taki spos\xF3b, aby modyfikacje jednego komponentu minimalnie wp\xB3ywa\xB3y na pozosta\xB3e. -@entry{N, N, Neighbourhood} +@entry{N, N, s\xB9siedztwo} @entry{NP, NP, Nondeterministic Polynomia} @entry{OG, OG, Obserwator Globalny} @entry{OL, OL, Obserwator Lokalny} @entry{RE, RE, Regu\xB3a Elementarne} @entry{SN, SN, Symbol Nieokre\x9Clony} -@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. +@entry{SVG, SVG, Scalable Vector Graphics} Uniwersalny format grafiki wektorowej, nieobwarowany licencjami i patentami. SVG nale\xBFy do rodziny \glxref{XML}, wi\xEAc mo\xBFe by\xE6 integrowany z innymi j\xEAzykami, jak na przyk\xB3ad XHTML. @entry{TAK, TAK, Tr\xF3jwymiarowy Automat Kom\xF3rkowy} -@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} 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. +@entry{TUG, TUG, \TeX{} User Group} Grupy u\xBFytkownik\xF3w systemu \TeX{}.\\\url{http://www.tug.org/} +@entry{XML, XML, eXtensive Markup Language} Uniwersalny j\xEAzyk formalny przeznaczony do reprezentowania r\xF3\xBFnych danych w ustrukturalizowany spos\xF3b. % vim:fencs=cp1250:fenc=cp1250 Modified: trunk/qcell/doc/licenciate_thesis/chap1/chap1.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap1/chap1.tex 2007-02-09 20:26:35 UTC (rev 300) +++ trunk/qcell/doc/licenciate_thesis/chap1/chap1.tex 2007-02-11 17:58:55 UTC (rev 301) @@ -5,18 +5,21 @@ 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}. +Na podstawie analizy funkcji symulatora \ac{AK} z rozdzia\xB3u \ref{sec:syn} zaimplementowano pakiet programowy. Za\xB3o\xBFenia szczeg\xF3\xB3owe tego pakietu znajduj\xB9 si\xEA w rozdziale \ref{chap:zsz}, natomiast szczeg\xF3\xB3y implementacyjne w \ref{chap:imp}. Ocenie dzia\xB3ania powsta\xB3ego symulatora po\x9Cwi\xEAcony zosta\xB3 punkt \ref{chap:tes}. Do programu do\xB3\xB9czono instrukcj\xEA obs\xB3ugi umieszczon\xB9 w rozdziale \ref{chap:iop}. \section{Uzasadnienie tematu} \label{sec:ute} -Implementowanie symulator\xF3w jest integraln\xB9 cz\xEA\x9Cci\xB9 procesu 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. +Implementowanie symulator\xF3w jest integraln\xB9 cz\xEA\x9Cci\xB9 procesu formu\xB3owania i~dowodzenia nowych teorii. Gdy zdefiniowanie og\xF3lnego modelu opisuj\xB9cego badane zachowanie jest niemo\xBFliwe, przeprowadzenie i~przeanalizowanie pewnej liczby symulacji mo\xBFe prowadzi\xE6 do wyizolowania czynnik\xF3w wp\xB3ywaj\xB9cych na dany proces. W~konsekwencji tworzona jest robocza teoria, kt\xF3r\xB9 nast\xEApnie mo\xBFna pr\xF3bowa\xE6 udoskonala\xE6 lub potwierdzi\xE6 przy pomocy kolejnych eksperyment\xF3w. -Dziedzin\xB9 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}. +Dziedzin\xB9 w kt\xF3rej mo\xBFna wykorzysta\xE6 komputerowe symulowanie jest \ac{DSZ}. \ac{AK} jest modelem \ac{DSZ}. Zbudowanie odpowiedniego narz\xEAdzia do przeprowadzania eksperyment\xF3w na modelach kom\xF3rkowych jest celowe ze wzgl\xEAdu na wk\xB3ad w badanie samej dziedziny \ac{AK} jak i w szerszej perspektywie \ac{DSZ}. 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. +Punktem wyj\x9Ccia do podj\xEAcia tematu by\xB3y zaj\xEAcia z przedmiotu ,,Modele system\xF3w dyskretnych'' prowadzone przez dr Paw\xB3a Siwaka\citep{siwy,sicw}. Zasta\xB3y tam wprowadzone i przedstawione kluczowe poj\xEAcia stwarzaj\xB9ce mo\xBFliwo\x9Cci realizacji symulatora modeli kom\xF3rkowych ze znacznymi ulepszeniami funkcjonalnymi, w stosunku do symulator\xF3w znanych z literatury. Do poj\xEA\xE6 tych nale\xBF\xB9: +% uzupe\xB3ni\xE6 + \section{Podzia\xB3 zada\xF1 szczeg\xF3\xB3owych} \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}. @@ -28,12 +31,10 @@ 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}). \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}. +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. -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} oraz \ref{subsec:wkp}). - \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}. Zadanie polega na ich zaprojektowaniu i zaimplementowaniu w budowanym pakiecie programowym (por. \ref{subsubsec:ddm}). +Przez \x9Crodki intensyfikacji eksperyment\xF3w rozumiane s\xB9 dodatkowe narz\xEAdzia i~tryby wspomagaj\xB9ce zmiany w~modelu, b\xB9d\x9F danych, na bie\xBF\xB9co. Zadanie polega na ich zaprojektowaniu i zaimplementowaniu w budowanym pakiecie programowym (por. \ref{subsubsec:ddm}). \subsubsection{Testy programu} Przeprowadzone zostan\xB9 dwie fazy test\xF3w. W~pierwszej fazie pakiet przetestowany zostanie pod wzgl\xEAdem poprawno\x9Cci prowadzonych oblicze\xF1 oraz zgodno\x9Cci z~ustalon\xB9 wcze\x9Cniej list\xB9 funkcji(por. \ref{sec:syn} oraz \ref{sec:pob}). W drugiej fazie pakiet zostanie poddany testom wydajno\x9Cciowym oraz subiektywnym testom ergonomii u\xBFytkowania (por. \ref{sec:wyd} oraz \ref{sec:eu\xBF}). Modified: trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex 2007-02-09 20:26:35 UTC (rev 300) +++ trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex 2007-02-11 17:58:55 UTC (rev 301) @@ -7,7 +7,7 @@ \subsection{Definicja automatu kom\xF3rkowego} \label{subsec:dak} -{\bf \ac{AK}} jest uporz\xB9dkowan\xB9 czw\xF3rk\xB9\citep{kul}: +{\bf \ac{AK}} jest uporz\xB9dkowan\xB9 czw\xF3rk\xB9: \begin{displaymath} A \equiv (\alpha, S, N, f) @@ -17,7 +17,7 @@ \begin{trivlist} \item $\alpha$~--- zbi\xF3r jednakowych kom\xF3rek -\item $S$~--- sko\xF1czony zbi\xF3r stan\xF3w, jaki mo\xBFe przyj\xB9\xE6 kom\xF3rka +\item $S$~--- sko\xF1czony zbi\xF3r stan\xF3w, jaki mo\xBFe przyj\xB9\xE6 kom\xF3rka (inaczej zbi\xF3r symboli alfabetu) \item $N$~--- sko\xF1czony ci\xB9g s\xB9siad\xF3w \item $f$~--- \ac{FL} definiuj\xB9ca zmian\xEA stan\xF3w na podstawie stanu s\xB9siedztwa $sN$ oraz stanu bie\xBF\xB9cej kom\xF3rki $c$ \end{trivlist} @@ -26,38 +26,60 @@ f : S_{sN, 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 \ac{KP}}. Dla kompletno\x9Cci definicji konfiguracji kom\xF3rek nale\xBFy okre\x9Cli\xE6 r\xF3wnie\xBF {\bf warunki brzegowe}, tzn. jak okre\x9Cleni s\xB9 s\xB9siedzi dla kom\xF3rek na kraw\xEAdzi definiowanej przestrzeni\citep{siwy}. +Wzajemne rozmieszczenie kom\xF3rek ze zbioru $\alpha$ wzgl\xEAdem siebie w przestrzeni jedno- lub wielowymiarowej wraz z przypisaniem ka\xBFdej kom\xF3rce stanu ze zbioru $S$ nazywamy {\bf konfiguracj\xB9 (lub stanem \ac{AK})}. Dla kompletno\x9Cci definicji konfiguracji kom\xF3rek nale\xBFy okre\x9Cli\xE6 r\xF3wnie\xBF {\bf warunki brzegowe}, tzn. jak okre\x9Cleni s\xB9 s\xB9siedzi dla kom\xF3rek na kraw\xEAdzi definiowanej przestrzeni\citep{siwy}. -{\bf Iteracja} polega na przekszta\xB3ceniu aktualnego stanu \ac{AK} ({\bf tj. \ac{KB}}) w stan kolejny ({\bf tj. \ac{KN}}) stosuj\xB9c \ac{FL} dla ka\xBFdej kom\xF3rki zbioru $\alpha$ jednocze\x9Cnie\citep{siwy}. Dla pierwszej iteracji \ac{KP} jest to\xBFsama z \ac{KB}. +Przekszta\xB3cenie aktualnego stanu \ac{AK}, {\bf tj. \ac{KB}}, w stan kolejny, {\bf tj. \ac{KN}}, stosuj\xB9c \ac{FL} dla ka\xBFdej kom\xF3rki $\alpha$ jednocze\x9Cnie nazywamy {\bf iteracj\xB9}\citep{si13,siwy}. Par\xEA w postaci uporz\xB9dkowanego ci\xB9gu stan\xF3w s\xB9siad\xF3w oraz stanu nast\xEApnego kom\xF3rki jaki ten zbi\xF3r implikowanego przez \ac{FL} nazywamy {\bf \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{KP}, 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}. +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 u\xBFywamy poj\xEAcia {\bf chwila zero} przetwarzania dla okre\x9Clenia pocz\xB9tku symulacji\citep{siwy}. +\subsection{Sieciowa interpretacja automatu kom\xF3rkowego} +\label{subsec:siak} +O {\bf sieciowym \ac{AK}} m\xF3wimy wtedy, gdy kom\xF3rki wchodz\xB9ce w sk\xB3ad konfiguracji s\xB9 automatami Moore'a, a stan kom\xF3rki odzwierciedla stan wewn\xEAtrzny tego\xBF automatu. W przypadku \ac{DAK} s\xB9siedztwo w automacie sieciowym jest von. Neumana($c_{x-1, y}, c_{x, y+1}, c_{x+1, y}, c_{x, y-1}$)\citep{siiwy}. +Rozszerzeniem powy\xBFszej koncepcji s\xB9 automaty na grafach. Wierzcho\xB3ki grafu reprezentuj\xB9 kom\xF3rki wchodz\xB9ce w sk\xB3ad \ac{AK}, natomiast kraw\xEAdzie grafu definiuj\xB9 s\xB9siedztwo\citep{siwy}. + \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 \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 mie\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}. +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 mie\xE6 co najwy\xBFej tyle argument\xF3w, ilu s\xB9siad\xF3w definiuje \ac{N}. -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 korzysta si\xEA z innych format\xF3w. +Podstawowym sposobem zapisywania \ac{FL} jest lista \ac{RE}. Format ten jest czytelny i pozwala bezpo\x9Crednio identyfikowa\xE6 regu\xB3\xEA, kt\xF3ra okre\x9Cli stan kom\xF3rki w chwili nast\xEApnej. Jednak\xBFe zapisywanie skomplikowanych funkcji \ac{AK} w ten spos\xF3b jest nieefektywne. -Zwi\xEAz\xB3\xB9, a zarazem uniwersaln\xB9, metod\xB9 opisu \ac{FL} jest funkcja \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}. +Wynika to z~gwa\xB3townie rosn\xB9cej liczby \ac{RE} przy zwi\xEAkszaniu liczno\x9Cci alfabetu lub s\xB9siedztwa. Relacja ta opisana jest wzorem \ref{equ:ain}. -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 b\xB9d\x9F {\bf histori\xB9 przetwarzania}. +\begin{equation} + \label{equ:ain} + |\ac{RE}| = |A|^{|N|} +\end{equation} +gdzie: +\begin{trivlist} +\item $|\ac{RE}|$~--- liczno\x9C\xE6 zbioru \ac{RE} +\item $|A|$~--- moc alfabetu +\item $|N|$~--- liczno\x9C\xE6 ci\xB9gu s\xB9siad\xF3w definiowanego przez \ac{N} +\end{trivlist} + +Na podstawie wzoru \ref{equ:ain} mo\xBFna zauwa\xBFy\xE6, i\xBF ju\xBF dla stosunkowo ma\xB3ego alfabetu i s\xB9siedztwa, liczba mo\xBFliwych \ac{RE} przybiera stosunkowo du\xBF\xB9 warto\x9C\xE6. Np. dla s\xB9siedztwa w \ac{TAK} w postaci sze\x9Ccianu 3x3x3 (dwudziestu siedmiu s\xB9siad\xF3w) i binarnego alfabetu liczba mo\xBFliwych \ac{RE} wynosi $2^{27}$, czyli ponad 130 milion\xF3w. Konieczno\x9C\xE6 definiowana tak licznych zbior\xF3w \ac{RE} przez operatora jest nie do przyj\xEAcia, w zwi\xB9zku z tym korzysta si\xEA z innych format\xF3w. + +Zwi\xEAz\xB3\xB9, a zarazem uniwersaln\xB9, reprezentacj\xB9 \ac{FL} jest \ac{FQT}\citep{siwy, sicw}. Polega na agregowaniu \ac{RE} przy pomocy sum argument\xF3w funkcji. Argumenty, kt\xF3re nie podlegaj\xB9 procesowi totalizacji (sumowania) nazywamy {\bf argumentami wolnymi}. Szczeg\xF3\xB3y techniczne zapisu \ac{FQT} (jak i innych format\xF3w obs\xB3ugiwanych przez zaimplementowany pakiet) znajduj\xB9 si\xEA w rozdziale \ref{chap:zsz}. + + +Konfiguracj\xB9 \ac{AK} nazywamy zbi\xF3r kom\xF3rek o okre\x9Clonym stanie oraz wzajemnym po\xB3o\xBFeniu wzgl\xEAdem siebie. Dla chwili zero m\xF3wimy o danych jako \ac{KP}. Zbi\xF3r kolejnych \ac{KB} powsta\xB3ych w wyniku przetwarzania \ac{AK} nazywamy {\bf histori\xB9 przetwarzania}. + Formaty zapisu element\xF3w modelu oraz danych \ac{AK} przedstawione zosta\xB3y w rozdziale \ref{chap:zsz}. \subsection{Technika 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}). +Aby przekszta\xB3ci\xE6 \ac{KN} w \ac{KB} symulator musi wyliczy\xE6 nowy stan ka\xBFdej kom\xF3rki. W tym celu dla ka\xBFdej z nich okre\x9Clana jest warto\x9C\xE6 \ac{FL} na podstawie stanu s\xB9siad\xF3w okre\x9Clonych przez \ac{N}. Kolejno\x9C\xE6 przetwarzania odbywa si\xEA od \x9Cciany najbli\xBFszej obserwatorowi (w przypadku \ac{TAK}) kolejnymi wierszami (dla \ac{DAK}) 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. +Szczeg\xF3lnym przypadkiem przetwarzania jest sytuacja, gdy s\xB9siedztwo rozpatrywanej kom\xF3rki wykracza poza zdefiniowan\xB9 przestrze\xF1 \ac{KB}. Je\xBFeli warunki brzegowe nie definiuj\xB9 s\xB9siedztwa kom\xF3rek po\xB3o\xBFonych na kraw\xEAdziach (por. \ref{subsec:dak}), zak\xB3ada si\xEA, i\xBF warto\x9C\xE6 argument\xF3w z poza zdefiniowanej przestrzeni wynosi zero. W przeciwnym wypadku stany s\xB9siad\xF3w pobierane s\xB9 zgodnie z regu\xB3ami okre\x9Clonymi przez warunki brzegowe. -W celu identyfikowania konkretnej \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). +W celu identyfikowania konkretnej konfiguracji z historii przetwarzania (por. \ref{subsec:eak}) symulator wykorzystuje tzw. {\bf licznik krok\xF3w iteracji}, kt\xF3ry rejestruje liczb\xEA dotychczasowych przetworze\xF1. \section{Podstawowe funkcje symulatora} \label{sec:syn} @@ -66,27 +88,37 @@ \label{subsec:dw} \subsubsection{Model} \label{subsubsec:model} -Dobieranie modelu jest podstawowym elementem realizacji przetwarzania kom\xF3rkowego. 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 trzech wymiar\xF3w~--- por). 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{subsec:wiz}. +Dobieranie modelu jest podstawowym elementem realizacji przetwarzania kom\xF3rkowego. 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 trzech wymiar\xF3w~--- por \ref{subsec:rfp}). Rozmieszczanie s\xB9siad\xF3w w~przestrzeniach jedno- i~dwuwymiarowych jest \xB3atwe, natomiast tworzenie s\xB9siedztw w~przestrzeni tr\xF3jwymiarowej wymaga dodatkowych narz\xEAdzi, om\xF3wionych szerzej w~rozdziale \ref{subsec:wiz}. Wspomaganie definiowania \ac{FL} jest bezpo\x9Crednio powi\xB9zane z~wykorzystywanym formatem. To prowadzi do potrzeby implementowania osobnej procedury pomocniczej dla ka\xBFdego obs\xB3ugiwanego sposobu okre\x9Clania funkcji. Wymagana jest mo\xBFliwo\x9C\xE6 niepe\xB3nego okre\x9Clenia funkcji poprzez jawne zadeklarowanie \ac{SN}. Symulator powinien akceptowa\xE6 takie symbole i~zaznacza\xE6 je w~wyra\x9Fny spos\xF3b celem ewentualnego p\xF3\x9Fniejszego uszczeg\xF3\xB3owienia. -Pakiet nie 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. +Pakiet nie musi wymaga\xE6 konkretyzowania \ac{SN}. W takim przypadku wynik \ac{FL} dla s\xB9siedztwa zawieraj\xB9cego cho\xE6by jeden \ac{SN} powinno r\xF3wnie\xBF by\xE6 \ac{SN}. Implikuje to rozszerzanie si\xEA skupisk \ac{SN} z ka\xBFd\xB9 kolejn\xB9 iteracj\xB9. \subsubsection{Dane (konfiguracja kom\xF3rek)} \label{subsubsec:dane} -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. +Specyfikowanie wzajemnego rozmieszczenia kom\xF3rek, podobnie jak w przypadku s\xB9siedztwa, jest \xB3atwe 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. -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}. +Najcz\xEA\x9Cciej powtarzanym procesem jest kopiowanie istniej\xB9cych konfiguracji i~ich nieznaczne modyfikowanie. Projektowany system powinien takie zachowania realizowa\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 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. +W~celu zintensyfikowania zestawiania du\xBFej liczby \ac{KP} pakiet powinien uzupe\xB3nia\xE6 \ac{SN} kolejnymi symbolami alfabetu. 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. +\subsubsection{Rodzaje warunk\xF3w brzegowych} +\label{subsubsec:rwb} +Definiuje si\xEA trzy podstawowe rodzaje warunk\xF3w brzegowych. + +Pierwszym przypadkiem jest, gdy kom\xF3rki znajduj\xB9ce si\xEA na kraw\xEAdziach konfiguracji nie posiadaj\xB9 s\xB9siad\xF3w poza jej obszarem. Przy wyznaczaniu ci\xB9gu s\xB9siad\xF3w dla kom\xF3rek z poza konfiguracji przyjmuje si\xEA stan zerowy. + +Drugim przypadkiem wyst\xEApuje, gdy kom\xF3rki le\xBF\xB9ce na jednej z par przeciwleg\xB3ych kraw\xEAdzi konfiguracji s\xB9 wobec siebie s\xB9siadami. + +Trzecim przypadkiem s\xB9 torusowe warunki brzegowe. Sytuacja taka wyst\xEApuje, gdy kom\xF3rki le\xBF\xB9ce na przeciwleg\xB3ych kraw\xEAdziach konfiguracji s\xB9siaduj\xB9 ze sob\xB9. + \subsection{Ustawienia domy\x9Clne i~przyk\xB3ady} \label{subsec:udip} -W~nat\xB3oku tryb\xF3w, narz\xEAdzi i~wizualizacji prezentowanie tylko i~wy\xB3\xB9cznie kluczowych dla danej sytuacji opcji znacznie usprawnia prac\xEA operatora. Na podstawie wczytywanych kolejno plik\xF3w, zar\xF3wno modelu jak i~danych, aplikacja powinna oszacowa\xE6 najbardziej prawdopodobny typ eksperymentu i~dobra\xE6 odpowiednie narz\xEAdzia. +W~nat\xB3oku tryb\xF3w, narz\xEAdzi i~wizualizacji prezentowanie tylko i~wy\xB3\xB9cznie kluczowych dla danej sytuacji opcji znacznie usprawnia prac\xEA operatora. Na podstawie wczytywanych kolejno plik\xF3w, zar\xF3wno modelu jak i~danych, nale\xBFy przyj\xB9\xE6 najbardziej prawdopodobny typ eksperymentu i~dobra\xE6 odpowiednie narz\xEAdzia. -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. +R\xF3wnie wa\xBFne s\xB9 logiczne ustawienia domy\x9Clne dla parametr\xF3w, kt\xF3rych u\xBFytkownik jawnie nie okre\x9Cli\xB3. Dob\xF3r tych ustawie\xF1 powinien by\xE6 konsekwentny i~jednolity w~ca\xB3ym pakiecie. -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}. +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 konfiguracji, w~szczeg\xF3lno\x9Cci tych obecnych w~literaturze, jak ,,\xB3aziki'' czy ``migacz'', u\xB3atwione jest zestawianie nowych eksperyment\xF3w\citep{cac}. \subsection{Wizualizacja przetwarzania automat\xF3w kom\xF3rkowych} \label{subsec:wiz} @@ -95,42 +127,69 @@ \label{subsubsec:uog} Jednoznaczne i~wyra\x9Fne prezentowanie operatorowi element\xF3w modelu oraz~efekt\xF3w przetwarzania jest bezpo\x9Crednim powodem tworzenia symulator\xF3w. W~szczeg\xF3lno\x9Cci wizualizowanie skomplikowanych struktur tr\xF3jwymiarowych w~czytelny spos\xF3b jest niebanalnym wyzwaniem, nie do ko\xF1ca \x9Cci\x9Cle programistycznym. -\subsubsection{Funkcje podstawowe wizualizacji} +\subsubsection{Funkcje podstawowe wizualizacji~--- wymagania} \label{subsubsec:npo} -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}. +Poni\xBFej zebrana zosta\xB3a lista wymaga\xF1 dot. wizualizacji, jakie powinien spe\xB3nia\xE6 ,,idealny symulator'' \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 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. +\begin{itemize} + \item Klarowny i jednoznaczny spos\xF3b reprezentacji konfiguracji \ac{AK} + \item Mo\xBFliwo\x9C\xE6 swobodnego poruszania si\xEA po konfiguracjach zajmuj\xB9cych wi\xEAcej, ni\xBF jeden ekran + \item Mo\xBFliwo\x9C\xE6 zaznaczenia dowolnej kom\xF3rki lub grupy kom\xF3rek w obr\xEAbie konfiguracji + \item Mo\xBFliwo\x9C\xE6 pozycjonowania pojedynczej kom\xF3rki, lub ca\xB3ych ich grup + \item Kopiowanie konfiguracji kom\xF3rek + \item Wklejanie konfiguracji + \item Przesuwanie konfiguracji kom\xF3rek + \item Cechy charakterystyczne dla operacji na tr\xF3jwymiarowych przestrzeniach: + \begin{itemize} + \item obroty + \item przesuni\xEAcia + \item zbli\xBFenia/oddalenia + \item manipulowanie perspektyw\xB9 (obcinanie przestrzeni p\xB3aszczyznami) + \end{itemize} +\end{itemize} +\subsubsection{Zestawienie technik obrazowania przetwarzania kom\xF3rkowego} +\label{subsubsec:ztopk} +W punkcie tym przedstawione zosta\xB3y podstawowe techniki obrazowania. + +\paragraph{dST} Pierwsz\xB9 technik\xB9 jest diagram dST, czyli odk\xB3adanie kolejnych stan\xF3w (S) na osi $OX$ oraz kolejnych \ac{KB} na osi czasu $OY$. Ten typ diagramu przeznaczony jest do prezentowania przetwarzania \ac{LAK}. + +\paragraph{dTS} Jest to diagram koncepcyjnie podobny do diagramu dST. Polega na odk\xB3adaniu kolejnych stan\xF3w na osi $OY$ oraz kolejnych iteracji na osi $OX$. Podobnie jak diagram dST przeznaczony jest do obrazowania przetwarzania w modelu \ac{LAK}. + +\paragraph{plansza} Dla dwuwymiarowych \ac{AK} diagramy dST i dTS nie s\xB9 czytelne. W zwi\xB9zku z tym konfiguracje \ac{DAK} przedstawiane s\xB9 na dwuwymiarowych planszach (pikslowych lub znakowych~--- por. \ref{subsubsec:twy}). W celu przedstawienia zmian w \ac{DAK}, mo\xBFna umieszcza\xE6 kolejne konfiguracje obok siebie, zaznaczaj\xB9c przy tym chwile czasowe, w kt\xF3rych dana konfiguracja wyst\xB9pi\xB3a. + +\paragraph{sze\x9Ccian} W przypadku \ac{TAK} najprostsz\xB9 technik\xB9 wizualizowania jest przyj\xEAcie sze\x9Ccianu jako kszta\xB3tu reprezentuj\xB9cego kom\xF3rk\xEA. Ten spos\xF3b wizualizowania jest intuicyjny dla obserwatora, lecz wprowadza pewne ograniczenia. Mianowicie w naturalny spos\xF3b sze\x9Ccian implikuje posiadanie dok\xB3adnie sze\x9Cciu s\xB9siad\xF3w umiejscowionych prostopadle do ka\xBFdej ze \x9Ccian. W og\xF3lno\x9Cci model \ac{TAK} mo\xBFe definiowa\xE6 inne s\xB9siedztwo. + \subsubsection{Tryby wizualizowania konfiguracji bie\xBF\xB9cej} \label{subsubsec:twy} \paragraph{Tryb tekstowy} \label{par:tek} -Jest to najbardziej oczywisty tryb wy\x9Cwietlania bior\xB9c pod uwag\xEA charakter plik\xF3w wej\x9Cciowych. Polega na tworzeniu linii (w~przypadku \ac{LAK}) lub tabel (w~\ac{DAK}) z\xB3o\xBFonych z symboli 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. +Jest to najbardziej oczywisty tryb wy\x9Cwietlania bior\xB9c pod uwag\xEA charakter plik\xF3w wej\x9Cciowych. Polega na tworzeniu linii (w~przypadku \ac{LAK}) lub tabel (w~\ac{DAK}) z\xB3o\xBFonych z symboli stan\xF3w kolejnych kom\xF3rek. Tekstowe wizualizowanie przestrzeni tr\xF3jwymiarowych nie jest tak efektywne i~czytelne z~uwagi na fakt, i\xBF w~zale\xBFno\x9Cci od aktualnej perspektywy, znaki znajduj\xB9ce si\xEA na tej samej osi g\xB3\xEAboko\x9Cci mog\xB9 si\xEA na siebie nak\xB3ada\xE6, utrudniaj\xB9c poprawn\xB9 ich identyfikacj\xEA. Dopiero za pomoc\xB9 wyboru wy\x9Cwietlanych p\xB3aszczyzn mo\xBFliwe jest efektywne obrazowanie cz\xEA\x9Cci przestrzeni tr\xF3jwymiarowej jednym z przekroj\xF3w. -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. +Tryb tekstowy u\xB3atwia analizowanie obraz\xF3w przetwarzania \ac{AK} z~uwagi na reprezentacj\xEA modelu (w~szczeg\xF3lno\x9Cci \ac{FL}). Mo\xBFna w~ten spos\xF3b \x9Cledzi\xE6 poprawno\x9C\xE6 dzia\xB3ania \ac{FL}, lub na bie\xBF\xB9co modyfikowa\xE6 jej posta\xE6 u\xBFywaj\xB9c symboli bezpo\x9Crednio prezentowanych na ekranie. \paragraph{Tryb graficzny} \label{par:graf} 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 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. +Wy\x9Cwietlanie polega na zast\xEApowaniu symboli alfabetu \ac{AK} kszta\xB3tami i/lub kolorami na planszy pikslowej (\ac{LAK} i~\ac{DAK}) lub w~przestrzeni tr\xF3jwymiarowej. Stosowanie takiej formy prezentacji zdecydowanie poprawia czytelno\x9C\xE6 konfiguracji z\xB3o\xBFonych z~wielu r\xF3\xBFnowarto\x9Cciowych kom\xF3rek. Ponadto pozwala nada\xE6 wizualizacji charakter bardziej intuicyjny, np. upodobnienie konkretnych warto\x9Cci do kszta\xB3t\xF3w rzeczywistych obiekt\xF3w. -Efektywno\x9C\xE6 tworzenie obiekt\xF3w graficznych bezpo\x9Crednio przez nowoczesne uk\xB3ady graficzne wielokrotnie przewy\xBFsza renderowanie tekstu. To zdecydowanie poprawia wydajno\x9C\xE6 operowania rozleg\xB3ymi przestrzeniami, w~szczeg\xF3lno\x9Cci tr\xF3jwymiarowymi. W~po\xB3\xB9czeniu z~bardzo szybko rosn\xB9c\xB9 moc\xB9 obliczeniow\xB9 jednostek graficznych mo\xBFliwe jest wykorzystywanie efekt\xF3w dodatkowo poprawiaj\xB9cych czytelno\x9C\xE6 i~realistyczno\x9C\xE6 prezentacji, takich jak \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 antyaliasing, czy przezroczysto\x9C\xE6. \subsubsection{Interpretacja wizualizacji} \label{subsubsec:iwy} -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. +Efektywn\xB9 metod\xB9 zwi\xEAkszenia czytelno\x9Cci prezentowanych danych (w og\xF3lnym rozumieniu) jest interpretowanie symboli stan\xF3w kom\xF3rkowych przy wy\x9Cwietlaniu. W przypadku \ac{AK} polega ono na przypisywaniu znak\xF3w, kszta\xB3t\xF3w i~kolor\xF3w symbolom \ac{KB} przez operatora\citep{siwy,sicw}. Pozwala to uwypukli\xE6 te warto\x9Cci kom\xF3rek, kt\xF3re operatora najbardziej interesuj\xB9. Pakiet powinien umo\xBFliwi\xE6 definiowanie takich przyporz\xB9dkowa\xF1 zar\xF3wno dla trybu graficznego, jak i~tekstowego. Rozszerzeniem tej koncepcji jest mo\xBFliwo\x9C\xE6 definiowania interpretacji dla grup symboli. -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 sterowania wizualizacj\xB9 zaspokajaj\xB9 filtry. Pozwalaj\xB9 one na ustalanie lu\x9Fniejszych regu\xB3 sterowania wy\x9Cwietlaniem, np. ukrywanie symboli o~warto\x9Cciach wi\xEAkszych lub mniejszych od zadanego progu, uwidacznianie pewnych struktur (np. 'poka\xBF co drug\xB9 kom\xF3rk\xEA', 'wy\x9Cwietl przekroje z niezerowymi stanami kom\xF3rek', \ldots). \subsubsection{Interpretacja przy pomocy regu\xB3 elementarnych} \label{subsubsec:rel} -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}. +Wykorzystaniem koncepcji widoku interpretowanego jest prezentacja przetwarzania wskazuj\xB9ca \ac{RE}, kt\xF3re u\xBFyto w przekszta\xB3ceniu \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} -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}. +Obowi\xB9zuj\xB9c\xB9 metod\xB9 wizualizowania przetwarzania jest przedstawianie widoku z~perspektywy obserwatora globalnego, czyli takiego, kt\xF3ry nie jest cz\xEA\x9Cci\xB9 konfiguracji i~ma nieograniczony oraz natychmiastowy dost\xEAp do wszystkich jej kom\xF3rek. Zupe\xB3nie now\xB9 koncepcj\xB9 jest mo\xBFliwo\x9C\xE6 zaprezentowania przebiegu oblicze\xF1 z~punktu widzenia jednego z~obiekt\xF3w symulowanej przestrzeni, zwana {\bf obserwatorem lokalnym}\citep{siim}. Koncepcja ta jest autorstwa dr Paw\xB3a Siwaka\citep{siim,siwy}. Kom\xF3rka, wyznaczona na \ac{OL} ,,dowiaduje si\xEA'' o zmianie stanu bezpo\x9Crednich s\xB9siad\xF3w z pr\xEAdko\x9Cci\xB9 $c$. Natomiast z op\xF3\x9Fnieniem (wyra\xBFonym w iteracjach) o zmianie stan\xF3w reszty kom\xF3rek, proporcjonalnym do odleg\xB3o\x9Cci od obserwatora. 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. @@ -138,10 +197,12 @@ \label{subsec:pek} \subsubsection{Rytmy przetwarzania} \label{subsubsec:rpr} -Podstawowym rytmem jest przetwarzanie krokowe~--- jedna iteracja naraz. Pakiet powinien przewidzie\xE6 mo\xBFliwo\x9C\xE6 wykonania ustalonej przez operatora liczby iteracji (domy\x9Clnie jednej). Skrajnym przypadkiem takiego zachowania jest eksperyment ci\xB9g\xB3y. Jest on przydatny do \x9Cledzenia pewnych charakterystycznych obiekt\xF3w \ac{AK}, takich jak ,,\xB3azik'', w~szczeg\xF3lno\x9Cci przy torusowych warunk\xF3w brzegowych (por. \ref{subsec:dak}). +Podstawowym rytmem jest przetwarzanie krokowe~--- jedna iteracja naraz. Pakiet powinien przewidzie\xE6 mo\xBFliwo\x9C\xE6 wykonania ustalonej przez operatora liczby iteracji (domy\x9Clnie jednej). Skrajnym przypadkiem takiego zachowania jest eksperyment ci\xB9g\xB3y. Jest on przydatny do \x9Cledzenia pewnych charakterystycznych obiekt\xF3w \ac{AK}, takich jak ,,\xB3azik'', w~szczeg\xF3lno\x9Cci przy torusowych warunk\xF3w brzegowych (por. \ref{subsubsec:rwb}). -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. +U\xBFytecznym sposobem prowadzenia symulacji jest wyznaczanie warunk\xF3w ko\xF1cowych. Wyst\xB9pienie kt\xF3regokolwiek z~nich przerywa eksperyment. Szczeg\xF3lnym przypadkiem takich warunk\xF3w jest liczba przeprowadzonych iteracji, kt\xF3ra zapobiega zap\xEAtleniu si\xEA przetwarzania w~sytuacji, gdy pozosta\xB3e warunki ko\xF1cowe okaza\xB3yby si\xEA nieosi\xB9galne. Opracowanie sposobu deklarowania, a~nast\xEApnie wyszukiwania nietrywialnych warunk\xF3w ko\xF1cowych (takich jak pusta konfiguracja czy pojawienie si\xEA konkretnego wzorca) znacz\xB9co zintensyfikowa\xB3o by mo\xBFliwo\x9Cci prowadzenia eksperyment\xF3w z pakietem. +Dla szybkiego oszacowania zmian wyst\xEApuj\xB9cych na przestrzeni wielu iteracji, pakiet powinien umo\xBFliwi\xE6 wy\x9Cwietlanie jedynie co $n$-tej konfiguracji. Proces taki nazywamy {\bf skalowaniem w czasie}\citep{siwy,sicw}. + 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}. \subsubsection{Historia przetwarzania} @@ -152,22 +213,23 @@ \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 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. +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 zmian i~powr\xF3t do pierwotnej konfiguracji. \subsubsection{Por\xF3wnywanie przetwarza\xF1} \label{subsubsec:ppr} -Cz\xEA\x9C\xE6 zaproponowanych powy\xBFej funkcjonalno\x9Cci s\xB3u\xBFy do wprowadzania zmian w modelu lub danych \ac{AK}. Zmiany te wp\xB3ywaj\xB9 na 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}). +Cz\xEA\x9C\xE6 zaproponowanych powy\xBFej funkcjonalno\x9Cci s\xB3u\xBFy do wprowadzania zmian w modelu lub danych \ac{AK}. Zmiany te wp\xB3ywaj\xB9 na posta\xE6 kolejnych konfiguracji symulacji. Program powinien umo\xBFliwi\xE6 bezpo\x9Crednie por\xF3wnywanie obraz\xF3w powsta\xB3ych w wyniku manipulacji parametrami \ac{AK}, np. r\xF3wnoczesne \x9Cledzenie przetwarzania dla \ac{OG} i~\ac{OL}. W~celu uzyskania pe\xB3nej kontroli nad procesem por\xF3wnywania, nale\xBFy zaimplementowa\xE6 osobne, jak i~wsp\xF3lne taktowanie obu symulacji (por. \ref{subsubsec:rpr}). \subsection{Utrwalanie wynik\xF3w symulacji} \label{subsec:uwy} +W najprostszym przypadku przez wynik symulacji rozumiana jest historia przetwarzania, gdy celem symulacji jest okre\x9Clenie konfiguracji \ac{AK} po zadanej liczbie iteracji podanego modelu. W og\xF3lnym przypadku wynikiem prowadzenia symulacji mo\xBFe by\xE6 zar\xF3wno konfiguracja, jak i elementy modelu (\ac{FL}, \ac{N}) przetworzone b\xB9d\x9F zestawione w trakcie dzia\xB3ania programu. \subsubsection{Utrwalanie pojedynczych element\xF3w} \label{subsubsec:upe} -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. +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 ich formy, 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 powinien zawiera\xE6 zar\xF3wno specyfikacj\xEA modelu \ac{AK}, jak i~kompletn\xB9 histori\xEA przetwarzania \ac{KP} wraz z~rozga\xB3\xEAzieniami, wynikaj\xB9cymi ze zmian wprowadzonych w~trakcie trwania eksperymentu (por. \ref{subsec:eak} oraz \ref{subsubsec:hit}). +Zapisanie ca\xB3o\x9Cci eksperymentu w~pojedynczym pliku u\xB3atwia p\xF3\x9Fniejsze jego wznowienie (lub analiz\xEA). Plik ten powinien zawiera\xE6 zar\xF3wno specyfikacj\xEA modelu \ac{AK}, jak i~kompletn\xB9 histori\xEA przetwarzania \ac{KP} wraz z~rozga\xB3\xEAzieniami, wynikaj\xB9cymi ze zmian wprowadzonych w~trakcie trwania eksperymentu (por. \ref{subsec:eak} oraz \ref{subsubsec:hit}). Nale\xBFy przy tym uwzgl\xEAdni\xE6 utrwalanie eksperyment\xF3w por\xF3wnawczych wraz z taktowaniem obu przebieg\xF3w. @@ -175,7 +237,7 @@ \label{subsubsec:tmu} Prowadzenie z\xB3o\xBFonych symulacji \ac{AK} wymaga znacznych zasob\xF3w obliczeniowych~--- w~szczeg\xF3lno\x9Cci manipulowanie wizualizacj\xB9 tr\xF3jwymiarowych przestrzeni. W~celu p\xF3\x9Fniejszej prezentacji przebiegu symulacji pakiet powinien umo\xBFliwi\xE6 tworzenie plik\xF3w multimedialnych archiwizuj\xB9cych eksperyment. Pozwala to na dalsze dystrybuowanie wynik\xF3w, w~szczeg\xF3lno\x9Cci w~internecie. -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. +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. Przyk\xB3adami formy multimedialnej s\xB9: pliki GIF, animacje z wykorzystaniem technologi flash, czy wreszcie strumie\xF1 wideo. \sectionauthor{Leszek Smentek}{Przegl\xB9d mo\xBFliwo\x9Cci znanych symulator\xF3w} \label{sec:pmz} Modified: trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex 2007-02-09 20:26:35 UTC (rev 300) +++ trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex 2007-02-11 17:58:55 UTC (rev 301) @@ -1,7 +1,7 @@ \chapterauthor{Leszek Smentek}{Za\xB3o\xBFenia szczeg\xF3\xB3owe} \label{chap:zsz} \section{Funkcje pakietu} - \subsection {Podstawowe funkcje programu} +\subsection {Podstawowe funkcje programu} \subsubsection {Wczytywanie konfiguracji modelu z pliku} \label{subsec:wkp} Pakiet umo\xBFliwia wczytywanie plik\xF3w konfiguracji modelu w formatach FQT, N, KI. @@ -25,6 +25,7 @@ \end{itemize} \subsection {Rozszerzone funkcje programu} +\label{subsec:rfp} \subsubsection{Edycja KI} Pakiet daje mo\xBFliwo\x9C\xE6 edycji konfiguracji bie\xBF\xB9cej oraz posiada zestaw narz\xEAdzi wspomagaj\xB9cych(wype\xB3nianie obszar\xF3w, kopiowanie/wklejanie obszar\xF3w). @@ -40,7 +41,7 @@ uwzgl\xEAdnieniem lokalno\x9Cci obserwatora. \subsubsection {Formaty danych} -\label{subsec:fda} +\label{subsubsec:fda} Wspierane formaty danych to: \begin{itemize} Modified: trunk/qcell/doc/licenciate_thesis/chap4/chap4.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap4/chap4.tex 2007-02-09 20:26:35 UTC (rev 300) +++ trunk/qcell/doc/licenciate_thesis/chap4/chap4.tex 2007-02-11 17:58:55 UTC (rev 301) @@ -1,11 +1,11 @@ \chapterauthor{Cezary Krzy\xBFanowski}{Implementacja} \label{chap:imp} -Rozdzia\xB3 ten opisuje organizacj\xEA oraz techniczne aspekty zwi\xB9zane z~implementacj\xB9 symulatora. Znajduje si\xEA w~nim opis wykorzystanych narz\xEAdzi, paradygmat\xF3w i~wzorc\xF3w programistycznych oraz jednostek programowych wchodz\xB9cych w~sk\xB3ad aplikacji. +Rozdzia\xB3 ten opisuje organizacj\xEA oraz techniczne aspekty zwi\xB9zane z~implementacj\xB9 symulatora. Znajduje si\xEA w~nim wykaz wykorzystanych narz\xEAdzi i~wzorc\xF3w programistycznych oraz jednostek programowych wchodz\xB9cych w~sk\xB3ad aplikacji. \section{Stosowane narz\xEAdzia} \label{sec:sna} -Niniejszy podrozdzia\xB3 prezentuje narz\xEAdzia wykorzystane podczas implementowania pakietu programowego, jak i pisania teksty opracowanie tekstowego. +Niniejszy podrozdzia\xB3 prezentuje narz\xEAdzia wykorzystane podczas implementowania pakietu programowego, jak i pisania opracowanie tekstowego. \subsection{Narz\xEAdzia stosowane przy implementacji} @@ -13,12 +13,12 @@ \label{subsec:npi} \begin{description} - \item [autotools] GNU Build System~--- Zestaw narz\xEAdzi stworzonych przez projekt GNU\footnote{\url{http://www.gnu.org/}} cz\xEA\x9Cciowo automatyzuj\xB9cych budowanie pakiet\xF3w w wielu systemach UNIXopodobnych. Jest cz\xEA\x9Cci\xB9 GNU Toolchain.\\\url{http://sources.redhat.com/autobook/} - \item[gcc] Wieloplatformowy zestaw kompilator\xF3w. U\xBFyto kompilatora j\xEAzyka C++~--- gcc-c++ w wersji 4.2.\\\url{http://gcc.gnu.org/} - \item[gdb] Wieloplatformowy \gls{debugger} w wersji 6.6.\\\url{http://www.gnu.org/software/gdb/} - \item[Microsoft Visual Studio .Net 2003] Narz\xEAdzie do edycji i kompilacji program\xF3w w \x9Crodowisku Microsoft Windows. U\xBFyto kompilatora j\xEAzyka C++.\\\url{http://msdn.microsoft.com/vstudio/previous/2003/} - \item[\Qt{}] Zestaw bibliotek firmy Trolltech do implementowania wieloplatformowego oprogramowania, w szczeg\xF3lno\x9Cci \ac{GUI} o natywnym, dla danej platformy, wygl\xB9dzie. Zawiera r\xF3wnie\xBF klasy og\xF3lnego zastosowania, oraz w\xB3asny system kompilacji. U\xBFyto wersji 4.2.\\\url{http://www.trolltech.com/products/qt/} - \item[Vim] Zaawansowany edytor plik\xF3w tekstowych. Posiada ponad 1700 wtyczek do pracy z~wieloma r\xF3\xBFnymi formatami plik\xF3w.Vim zosta\xB3 wykorzystany jako \ac{IDE}, \gls{debugger} oraz program do sk\xB3adu tekstu. U\xBFyto wersji 7.0.\\\url{http://www.vim.org/} + \item [autotools] GNU Build System~--- Zestaw narz\xEAdzi cz\xEA\x9Cciowo automatyzuj\xB9cych budowanie pakiet\xF3w w wielu systemach UNIXopodobnych. Jest cz\xEA\x9Cci\xB9 GNU Toolchain. Narz\xEAdzia rodziny autotools wykorzystano do automatyzowania procesu kompilacji i linkowania pakietu programistycznego na platformie Linux.\\\url{http://sources.redhat.com/autobook/} + \item[gcc] Zestaw kompilator\xF3w. Gcc wykorzystano do kompilowania kodu \x9Fr\xF3d\xB3owego na platformie Linux. U\xBFyto kompilatora j\xEAzyka C++~--- gcc-c++ w wersji 4.2.\\\url{http://gcc.gnu.org/} + \item[gdb] Debugger w wersji 6.6. Gdb wykorzystano do usuwania b\xB3\xEAd\xF3w programistycznych na platformie Linux.\\\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. Wykorzystano je do pisania tekstu kodu \x9Fr\xF3d\xB3owego oraz kompilacji. U\xBFyto kompilatora j\xEAzyka C++.\\\url{http://msdn.microsoft.com/vstudio/previous/2003/} + \item[\Qt{}] Zestaw bibliotek do implementowania oprogramowania dzia\xB3aj\xB9cego na wielu systemach operacyjnych, w szczeg\xF3lno\x9Cci \ac{GUI} o natywnym, dla danej platformy, wygl\xB9dzie. Zawiera r\xF3wnie\xBF klasy og\xF3lnego zastosowania, oraz w\xB3asny system kompilacji. U\xBFyto wersji 4.2.\\\url{http://www.trolltech.com/products/qt/} + \item[Vim] Zaawansowany edytor plik\xF3w tekstowych. 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 opracowania tekstowego} @@ -27,47 +27,46 @@ \label{subsec:npt} \begin{description} - \item [AcrobatReader] Interpreter plik\xF3w pdf.\\\url{http://www.adobe.com/products/acrobat/readstep2.html}. + \item [AcrobatReader] Interpreter plik\xF3w pdf. AcrobatReader wykorzystano do podgl\xB9du tekstu pracy w \x9Crodowisku Windows.\\\url{http://www.adobe.com/products/acrobat/readstep2.html}. \item [aspell] Wolnodost\xEApny program do sprawdzania pisowni i gramatyki wraz ze s\xB3ownikami w wielu j\xEAzykach.\\\url{http://aspell.sourceforge.net/} - \item [cmake] Wieloplatformowy generator skrypt\xF3w budowania.\\\url{http://www.cmake.org/} - \item [Evince] Interpreter plik\xF3w pdf w \x9Crodowisku \gls{GNOME} na platformie Linux.\\\url{http://www.gnome.org/projects/evince/} - \item [GIMP] Program do tworzenia grafiki rastrowej i przekszta\xB3cania obraz\xF3w do formatu \ac{EPS} wykorzystywanego w \TeX{}-u.\\\url{http://www.gimp.org/} - \item [Inkspace] Program do tworzenia grafiki wektorowej, g\xB3\xF3wnie w formacie \ac{SVG}.\\\url{http://www.inkscape.org/} - \item [TeTex] Implementacja j\xEAzyka sk\xB3adania tekstu \Te... [truncated message content] |