From: <dhu...@us...> - 2007-02-17 03:19:23
|
Revision: 344 http://svn.sourceforge.net/qcell/?rev=344&view=rev Author: dhubleizh Date: 2007-02-16 19:19:21 -0800 (Fri, 16 Feb 2007) Log Message: ----------- - a loooot of fixes Modified Paths: -------------- trunk/qcell/doc/licenciate_thesis/acronyms.gdf trunk/qcell/doc/licenciate_thesis/chap1/chap1.tex trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex trunk/qcell/doc/licenciate_thesis/chap4/chap4.tex trunk/qcell/doc/licenciate_thesis/chap5/chap5.tex trunk/qcell/doc/licenciate_thesis/chap6/chap6.tex trunk/qcell/doc/licenciate_thesis/chap7/chap7.tex trunk/qcell/doc/licenciate_thesis/titlepage.tex Modified: trunk/qcell/doc/licenciate_thesis/acronyms.gdf =================================================================== --- trunk/qcell/doc/licenciate_thesis/acronyms.gdf 2007-02-17 02:04:27 UTC (rev 343) +++ trunk/qcell/doc/licenciate_thesis/acronyms.gdf 2007-02-17 03:19:21 UTC (rev 344) @@ -11,7 +11,7 @@ @entry{KP, KP, Konfiguracja Pocz\xB9tkowa} @entry{LAK, LAK, Liniowy Automat Kom\xF3rkowy} Inaczej jednowymiarowy \glxref{AK}. @entry{MVC, MVC, Model View Controller} Wzorzec programistyczny charakteryzuj\xB9cy si\xEA rozdzieleniem komponent\xF3w aplikacji, tj. modelu danych, interfejsu u\xBFytkownika i logiki sterowania w taki spos\xF3b, aby modyfikacje jednego komponentu minimalnie wp\xB3ywa\xB3y na pozosta\xB3e. -@entry{N, N, s\xB9siedztwo} +@entry{N, N, s\xB9siedztwo} ang. \emph{Neighbourhood} @entry{NP, NP, Nondeterministic Polynomia} @entry{OG, OG, Obserwator Globalny} @entry{OL, OL, Obserwator Lokalny} @@ -21,5 +21,6 @@ @entry{TAK, TAK, Tr\xF3jwymiarowy Automat Kom\xF3rkowy} @entry{TUG, TUG, \TeX{} User Group} Grupy u\xBFytkownik\xF3w systemu \TeX{}.\\\url{http://www.tug.org/} @entry{XML, XML, eXtensive Markup Language} Uniwersalny j\xEAzyk formalny przeznaczony do reprezentowania r\xF3\xBFnych danych w ustrukturalizowany spos\xF3b. +@entry{LPM, LPM, Lewy Przycisk Myszy} % vim:fencs=cp1250:fenc=cp1250 Modified: trunk/qcell/doc/licenciate_thesis/chap1/chap1.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap1/chap1.tex 2007-02-17 02:04:27 UTC (rev 343) +++ trunk/qcell/doc/licenciate_thesis/chap1/chap1.tex 2007-02-17 03:19:21 UTC (rev 344) @@ -3,29 +3,30 @@ \section{Cel i~zakres pracy} Celem niniejszej pracy jest zbudowanie \x9Crodowiska do efektywnego przeprowadzania symulacji jedno-, dwu- oraz tr\xF3jwymiarowych \ac{AK}. Zakres pracy obejmuje opracowanie tekstowe oraz pakiet programowy. -W pierwszej kolejno\x9Cci przywo\xB3ana zosta\xB3a definicja automatu kom\xF3rkowego (por. \ref{subsec:dak}). W rozdziale \ref{subsec:mak} przedstawiono mechanizm przetwarzania kom\xF3rkowego, natomiast w~\ref{subsec:wiz} metody jego wizualizowania. Punkt \ref{subsubsec:oli} przybli\xBFa now\xB9 koncepcj\xEA obserwatora lokalnego oraz jej wp\xB3yw na obrazy przetwarzania. +W pierwszej kolejno\x9Cci przywo\xB3ana zosta\xB3a definicja automatu kom\xF3rkowego (por. \ref{subsec:dak}). W rozdziale \ref{subsec:mak} przedstawiono mechanizm przetwarzania kom\xF3rkowego, natomiast w~\ref{subsec:wiz} metody jego wizualizowania. Punkt \ref{subsubsec:oli} przybli\xBFa now\xB9 koncepcj\xEA obserwatora lokalnego oraz jej wp\xB3yw na obrazy przetwarzania\citep{siim,siwy}. Na podstawie analizy funkcji symulatora \ac{AK} z rozdzia\xB3u \ref{sec:syn} zaimplementowano pakiet programowy. Za\xB3o\xBFenia szczeg\xF3\xB3owe tego pakietu znajduj\xB9 si\xEA w rozdziale \ref{chap:zsz}, natomiast szczeg\xF3\xB3y implementacyjne w \ref{chap:imp}. Ocenie dzia\xB3ania powsta\xB3ego symulatora po\x9Cwi\xEAcony zosta\xB3 punkt \ref{chap:tes}. Do programu do\xB3\xB9czono instrukcj\xEA obs\xB3ugi umieszczon\xB9 w rozdziale \ref{chap:iop}. \section{Uzasadnienie tematu} \label{sec:ute} -Implementowanie symulator\xF3w jest integraln\xB9 cz\xEA\x9Cci\xB9 procesu formu\xB3owania i~dowodzenia nowych teorii. Gdy zdefiniowanie og\xF3lnego modelu opisuj\xB9cego badane zachowanie jest niemo\xBFliwe, przeprowadzenie i~przeanalizowanie pewnej liczby symulacji mo\xBFe prowadzi\xE6 do wyizolowania czynnik\xF3w wp\xB3ywaj\xB9cych na dany proces. W~konsekwencji tworzona jest robocza teoria, kt\xF3r\xB9 nast\xEApnie mo\xBFna pr\xF3bowa\xE6 udoskonala\xE6 lub potwierdzi\xE6 przy pomocy kolejnych eksperyment\xF3w. +Implementowanie symulator\xF3w jest integraln\xB9 cz\xEA\x9Cci\xB9 procesu formu\xB3owania i~dowodzenia nowych teorii. Gdy zdefiniowanie og\xF3lnego modelu opisuj\xB9cego badane zachowanie jest niemo\xBFliwe, przeprowadzenie i~przeanalizowanie pewnej liczby symulacji mo\xBFe prowadzi\xE6 do wyizolowania czynnik\xF3w wp\xB3ywaj\xB9cych na dany proces. W~konsekwencji tworzona jest hipoteza, kt\xF3r\xB9 nast\xEApnie mo\xBFna pr\xF3bowa\xE6 udoskonala\xE6 lub potwierdzi\xE6 przy pomocy kolejnych eksperyment\xF3w. -Dziedzin\xB9 w kt\xF3rej mo\xBFna wykorzysta\xE6 komputerowe symulowanie jest \ac{DSZ}. \ac{AK} jest modelem \ac{DSZ}. Zbudowanie odpowiedniego narz\xEAdzia do przeprowadzania eksperyment\xF3w na modelach kom\xF3rkowych jest celowe ze wzgl\xEAdu na wk\xB3ad w badanie samej dziedziny \ac{AK} jak i w szerszej perspektywie \ac{DSZ}. Ponadto symulatory \ac{AK} maj\xB9 swoje praktyczne zastosowania, jak modelowanie aglomeracji miejskich~--- \x9Cledzenie rozmieszczenia mieszka\xF1c\xF3w i korelowanie z przest\xEApstwami, wizualizowanie proces\xF3w biologicznych, jak np. erozja ko\x9Cci, symulowanie zachowania gaz\xF3w, czy rozprzestrzeniania si\xEA po\xBFar\xF3w las\xF3w\citep{aica}. +Dziedzin\xB9, w kt\xF3rej mo\xBFna wykorzysta\xE6 komputerowe symulowanie s\xB9 \ac{DSZ}. \ac{AK} jest modelem \ac{DSZ}. Zbudowanie odpowiedniego narz\xEAdzia do przeprowadzania eksperyment\xF3w na modelach kom\xF3rkowych jest celowe ze wzgl\xEAdu na wk\xB3ad w badanie samej dziedziny \ac{AK}, jak i w szerszej perspektywie \ac{DSZ}. Ponadto symulatory \ac{AK} maj\xB9 swoje praktyczne zastosowania, takie jak modelowanie aglomeracji miejskich (\x9Cledzenie rozmieszczenia mieszka\xF1c\xF3w i korelowanie z przest\xEApstwami), wizualizowanie proces\xF3w biologicznych (np. erozja ko\x9Cci), symulowanie zachowania gaz\xF3w czy rozprzestrzeniania si\xEA po\xBFar\xF3w las\xF3w\citep{aica}. -Powy\xBFsze rozumowanie doprowadzi\xB3o do stworzenia pewnej liczby symulator\xF3w. Skupi\xB3y si\xEA one jednak g\xB3\xF3wnie na zaprezentowaniu samej idei \ac{AK}, b\xB9d\x9F na przedstawieniu wybranego, zwykle bardzo w\xB9skiego, zakresu ich dzia\xB3ania. W~literaturze oraz w~internecie nie pojawi\xB3a si\xEA dotychczas inicjatywa opracowania i~zaimplementowania systemu pozwalaj\xB9cego bezpo\x9Crednio por\xF3wnywa\xE6 r\xF3\xBFne typy i modele \ac{AK}. +Powy\xBFsze rozumowanie doprowadzi\xB3o do stworzenia pewnej liczby symulator\xF3w. Skupi\xB3y si\xEA one jednak g\xB3\xF3wnie na zaprezentowaniu samej idei \ac{AK}, b\xB9d\x9F na przedstawieniu wybranego, zwykle bardzo w\xB9skiego, zakresu ich dzia\xB3ania. W~literaturze oraz w~internecie inicjatywa opracowania i~zaimplementowania systemu pozwalaj\xB9cego bezpo\x9Crednio por\xF3wnywa\xE6 r\xF3\xBFne typy i modele \ac{AK} pojawi\xB3a si\xEA w ograniczonym zakresie. + Dzisiejsze systemy komputerowe pozwalaj\xB9 na prowadzenie skomplikowanych oblicze\xF1 w~kr\xF3tkim czasie. Szczeg\xF3lnie na polu tr\xF3jwymiarowej grafiki komputerowej ostatnie lata pe\xB3ne by\xB3y innowacji wielokrotnie zwi\xEAkszaj\xB9cych mo\xBFliwo\x9Cci zwyk\xB3ych komputer\xF3w osobistych. Jest to idealne pod\xB3o\xBFe do pr\xF3by stworzenia symulatora \ac{AK} wykorzystuj\xB9cego mo\xBFliwo\x9Cci sprz\xEAtowe do zaprezentowania nowej jako\x9Cci wizualizacji tr\xF3jwymiarowych proces\xF3w kom\xF3rkowych. Punktem wyj\x9Ccia do podj\xEAcia tematu by\xB3y zaj\xEAcia z przedmiotu ,,Modele system\xF3w dyskretnych'' prowadzone przez dr Paw\xB3a Siwaka\citep{siwy,sicw}. Zosta\xB3y tam wprowadzone i przedstawione kluczowe poj\xEAcia stwarzaj\xB9ce mo\xBFliwo\x9Cci realizacji symulatora modeli kom\xF3rkowych ze znacznymi ulepszeniami funkcjonalnymi, w stosunku do symulator\xF3w znanych z literatury. Do poj\xEA\xE6 tych nale\xBF\xB9: \begin{itemize} - \item idea obserwatora lokalnego i obraz\xF3w dla r\xF3\xBFnych maksymalnych pr\xEAdko\x9Cci propagacji sygna\xB3u $c$ - \item idea cz\xEA\x9Cciowej totalizacji funkcji (funkcje quasi- i wielototalistyczne) - \item rozr\xF3\xBFnienie diagram\xF3w ST i TS - \item parametr przesuni\xEAcia $q$ na diagramach 1-D - \item zasada oddzielania alfabetu symboli (stany kom\xF3rek) od atrybut\xF3w ich wizualizacji znakowej i graficznej (st\xB9d interpretacja symboli w przetwarzancyh konfiguracjach) - \item poj\xEAcie regu\xB3y elementarnej (RE), 5 poziom\xF3w oblicze\xF1 w modelach AK oraz wyznaczanie regu\xB3 modelu LAK metod\xB9 przeszukiwania z nawrotami - \item standaryzacja opis\xF3w s\xB9siedztwa i funkcji lokalnych w plikach (formaty: N1, N2, N3 oraz FQT, FMT) - \item idea symbolu zast\xEApczego dla funkcji i konfiguracji nie w pe\xB3ni okre\x9Clonych + \item idea obserwatora lokalnego i obraz\xF3w dla r\xF3\xBFnych maksymalnych pr\xEAdko\x9Cci propagacji sygna\xB3u $c$, + \item idea cz\xEA\x9Cciowej totalizacji funkcji (funkcje quasi- i wielototalistyczne), + \item rozr\xF3\xBFnienie diagram\xF3w ST i TS, + \item parametr przesuni\xEAcia $q$ na diagramach 1-D, + \item zasada oddzielania alfabetu symboli (stany kom\xF3rek) od atrybut\xF3w ich wizualizacji znakowej i graficznej (st\xB9d interpretacja symboli w przetwarzancyh konfiguracjach), + \item poj\xEAcie regu\xB3y elementarnej (RE), 5 poziom\xF3w oblicze\xF1 w modelach AK oraz wyznaczanie regu\xB3 modelu \ac{LAK} metod\xB9 przeszukiwania z nawrotami, + \item standaryzacja opis\xF3w s\xB9siedztwa i funkcji lokalnych w plikach (formaty: N1, N2, N3 oraz FQT, FMT), + \item idea symbolu zast\xEApczego dla funkcji i konfiguracji nie w pe\xB3ni okre\x9Clonych. \end{itemize} \section{Podzia\xB3 zada\xF1 szczeg\xF3\xB3owych} @@ -42,22 +43,22 @@ Jest to implementacyjna cz\xEA\x9C\xE6 pracy. Polega na zaprojektowaniu \ac{GUI} pozwalaj\xB9cego w prosty i~czytelny spos\xF3b sterowa\xE6 przetwarzaniem \ac{AK}. Nale\xBFy r\xF3wnie\xBF zaimplementowa\xE6 metody doboru modelu. \subsubsection{Opracowanie i~wdro\xBFenie \x9Crodk\xF3w intensyfikacji eksperyment\xF3w} -Przez \x9Crodki intensyfikacji eksperyment\xF3w rozumiane s\xB9 dodatkowe narz\xEAdzia i~tryby wspomagaj\xB9ce zmiany w~modelu, b\xB9d\x9F danych, na bie\xBF\xB9co. Zadanie polega na ich zaprojektowaniu i zaimplementowaniu w budowanym pakiecie programowym (por. \ref{subsubsec:ddm}). +Przez \x9Crodki intensyfikacji eksperyment\xF3w rozumiane s\xB9 dodatkowe narz\xEAdzia i~tryby wspomagaj\xB9ce zmiany na bie\xBF\xB9co w modelu lub danych. Zadanie polega na ich zaprojektowaniu i zaimplementowaniu w budowanym pakiecie programowym (por. \ref{subsubsec:ddm}). \subsubsection{Testy programu} -Przeprowadzone zostan\xB9 dwie fazy test\xF3w. W~pierwszej fazie pakiet przetestowany zostanie pod wzgl\xEAdem poprawno\x9Cci prowadzonych oblicze\xF1 oraz zgodno\x9Cci z~ustalon\xB9 wcze\x9Cniej list\xB9 funkcji(por. \ref{sec:syn} oraz \ref{sec:pob}). W drugiej fazie pakiet zostanie oceniony pod wzgl\xEAdem wizualizacji na tle istniej\xB9cych rozwi\xB9za\xF1 oraz poddany testom ergonomii u\xBFytkowania (por. \ref{subsec:owp} oraz \ref{sec:eu\xBF}). +Przeprowadzone zostan\xB9 dwie fazy test\xF3w. W~pierwszej fazie pakiet przetestowany zostanie pod wzgl\xEAdem poprawno\x9Cci prowadzonych oblicze\xF1 oraz zgodno\x9Cci z~ustalon\xB9 wcze\x9Cniej list\xB9 funkcji (por. \ref{sec:syn} oraz \ref{sec:pob}). W drugiej fazie pakiet zostanie oceniony pod wzgl\xEAdem wizualizacji na tle istniej\xB9cych rozwi\xB9za\xF1 oraz poddany testom ergonomii u\xBFytkowania (por. \ref{subsec:owp} oraz \ref{sec:eu\xBF}). \subsectionauthor{Leszek Smentek}{Zadania szczeg\xF3\xB3owe - cz\xEA\x9C\xE6 druga} \label{subsec:lsm} \subsubsection {Symulator modelu \acs{AK}} -Zadanie ma na celu opracowanie i implementacje symulatora umo\xBFliwiaj\xB9cego prowadzenie poprawnej symulacji zgodnie z dobranym modelem oblicze\xF1. +Zadanie ma na celu opracowanie i implementacj\xEA symulatora umo\xBFliwiaj\xB9cego prowadzenie poprawnej symulacji zgodnie z dobranym modelem oblicze\xF1. \subsubsection {\x8Crodki doboru danych} Przez \x9Crodki doboru danych rozumiany jest zestaw narz\xEAdzi pakietu pozwalaj\xB9cych na swobodn\xB9 generacj\xEA danych eksperymentu oraz podstawowe mo\xBFliwo\x9Cci edycji. \subsubsection {Wizualizacja i tryby eksperyment\xF3w dla r\xF3\xBFnych obserwator\xF3w} -To zadanie szczeg\xF3\xB3owe ma na celu implementacje efektywnej i czytelnej metody wizualizacji przebiegu przetwarzania zar\xF3wno dla obserwatora globalnego, jak i trybu obserwatora lokalnego. +Zadanie szczeg\xF3\xB3owe ma na celu implementacje efektywnej i czytelnej metody wizualizacji przebiegu przetwarzania zar\xF3wno dla obserwatora globalnego, jak i trybu obserwatora lokalnego. \subsubsection {Opracowanie i wdro\xBFenie \x9Crodk\xF3w dokumentowania eksperyment\xF3w} Powy\xBFsze zadanie szczeg\xF3\xB3owe ma na celu opracowanie metod dokumentowania eksperyment\xF3w umo\xBFliwiaj\xB9cych prezentacje wynik\xF3w symulacji niezale\xBFnie od pakietu. Modified: trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex 2007-02-17 02:04:27 UTC (rev 343) +++ trunk/qcell/doc/licenciate_thesis/chap2/chap2.tex 2007-02-17 03:19:21 UTC (rev 344) @@ -17,7 +17,7 @@ \begin{trivlist} \item $\alpha$~--- zbi\xF3r jednakowych kom\xF3rek -\item $S$~--- sko\xF1czony zbi\xF3r stan\xF3w, jaki mo\xBFe przyj\xB9\xE6 kom\xF3rka (inaczej zbi\xF3r symboli alfabetu) +\item $S$~--- sko\xF1czony zbi\xF3r stan\xF3w, jakie mo\xBFe przyj\xB9\xE6 kom\xF3rka (inaczej zbi\xF3r symboli alfabetu) \item $N$~--- sko\xF1czony ci\xB9g s\xB9siad\xF3w \item $f$~--- \ac{FL} definiuj\xB9ca zmian\xEA stan\xF3w na podstawie stanu s\xB9siedztwa $sN$ oraz stanu bie\xBF\xB9cej kom\xF3rki $c$ \end{trivlist} @@ -28,7 +28,7 @@ Wzajemne rozmieszczenie kom\xF3rek ze zbioru $\alpha$ wzgl\xEAdem siebie w przestrzeni jedno- lub wielowymiarowej wraz z przypisaniem ka\xBFdej kom\xF3rce stanu ze zbioru $S$ nazywamy {\bf konfiguracj\xB9 (lub stanem \ac{AK})}. Dla kompletno\x9Cci definicji konfiguracji kom\xF3rek nale\xBFy okre\x9Cli\xE6 r\xF3wnie\xBF {\bf warunki brzegowe}, tzn. jak okre\x9Cleni s\xB9 s\xB9siedzi dla kom\xF3rek na kraw\xEAdzi definiowanej przestrzeni\citep{siwy}. -Przekszta\xB3cenie aktualnego stanu \ac{AK}, {\bf tj. \ac{KB}}, w stan kolejny, {\bf tj. \ac{KN}}, stosuj\xB9c \ac{FL} dla ka\xBFdej kom\xF3rki $\alpha$ jednocze\x9Cnie nazywamy {\bf iteracj\xB9}\citep{si13,siwy}. +Przekszta\xB3cenie aktualnego stanu \ac{AK}, tj. {\bf \ac{KB}}, w stan kolejny, tj. {\bf \ac{KN}}, stosuj\xB9c \ac{FL} dla ka\xBFdej kom\xF3rki $\alpha$ jednocze\x9Cnie nazywamy {\bf iteracj\xB9}\citep{si13,siwy}. Par\xEA w postaci uporz\xB9dkowanego ci\xB9gu stan\xF3w s\xB9siad\xF3w oraz stanu nast\xEApnego kom\xF3rki jaki ten stan implikuje przez \ac{FL} nazywamy {\bf \ac{RE}}\citep{siit}. @@ -36,9 +36,9 @@ \subsection{Sieciowa interpretacja automatu kom\xF3rkowego} \label{subsec:siak} -O {\bf sieciowym \ac{AK}} m\xF3wimy wtedy, gdy kom\xF3rki wchodz\xB9ce w sk\xB3ad konfiguracji s\xB9 automatami Moore'a, a stan kom\xF3rki odzwierciedla stan wewn\xEAtrzny tego\xBF automatu. W przypadku \ac{DAK} s\xB9siedztwo w automacie sieciowym jest von Neumana\\($c_{x-1, y}, c_{x, y+1}, c_{x+1, y}, c_{x, y-1}$)\citep{siwy}. +O {\bf sieciowym \ac{AK}} m\xF3wimy wtedy, gdy kom\xF3rki wchodz\xB9ce w sk\xB3ad konfiguracji s\xB9 automatami Moore'a, a stan kom\xF3rki odzwierciedla stan wewn\xEAtrzny tego\xBF automatu. W przypadku \ac{DAK} s\xB9siedztwo w automacie sieciowym jest s\xB9siedztwem von Neumana\\($c_{x-1, y}, c_{x, y+1}, c_{x+1, y}, c_{x, y-1}$)\citep{siwy}. -Rozszerzeniem powy\xBFszej koncepcji s\xB9 automaty oparte na grafach. Wierzcho\xB3ki grafu reprezentuj\xB9 kom\xF3rki wchodz\xB9ce w sk\xB3ad \ac{AK}, natomiast kraw\xEAdzie grafu definiuj\xB9 s\xB9siedztwo\citep{siwy}. +Rozszerzeniem powy\xBFszej koncepcji s\xB9 automaty oparte na grafach. Wierzcho\xB3ki grafu reprezentuj\xB9 kom\xF3rki wchodz\xB9ce w sk\xB3ad \ac{AK}, natomiast kraw\xEAdzie grafu odzwierciedlaj\xB9 s\xB9siedztwo\citep{siwy}. \subsection{Elementy sk\xB3adowe automatu kom\xF3rkowego} \label{subsec:eak} @@ -68,7 +68,7 @@ Zwi\xEAz\xB3\xB9, a zarazem uniwersaln\xB9, reprezentacj\xB9 \ac{FL} jest \ac{FQT}\citep{siwy, sicw}. Polega na agregowaniu \ac{RE} przy pomocy sum argument\xF3w funkcji. Argumenty, kt\xF3re nie podlegaj\xB9 procesowi totalizacji (sumowania) nazywamy {\bf argumentami wolnymi}. Szczeg\xF3\xB3y techniczne zapisu \ac{FQT} (jak i innych format\xF3w obs\xB3ugiwanych przez zaimplementowany pakiet) znajduj\xB9 si\xEA w rozdziale \ref{chap:zsz}. -Konfiguracj\xB9 \ac{AK} nazywamy zbi\xF3r kom\xF3rek o okre\x9Clonym stanie oraz wzajemnym po\xB3o\xBFeniu wzgl\xEAdem siebie. Dla chwili zero m\xF3wimy o danych jako \ac{KP}. Zbi\xF3r kolejnych \ac{KB} powsta\xB3ych w wyniku przetwarzania \ac{AK} nazywamy {\bf histori\xB9 przetwarzania}. +Dla chwili zero m\xF3wimy o danych jako \ac{KP}. Zbi\xF3r kolejnych \ac{KB} powsta\xB3ych w wyniku przetwarzania \ac{AK} nazywamy {\bf histori\xB9 przetwarzania}. Formaty zapisu element\xF3w modelu oraz danych \ac{AK} przedstawione zosta\xB3y w rozdziale \ref{chap:zsz}. @@ -77,7 +77,6 @@ Aby przekszta\xB3ci\xE6 \ac{KN} w \ac{KB} symulator musi wyliczy\xE6 nowy stan ka\xBFdej kom\xF3rki. W tym celu dla ka\xBFdej z nich okre\x9Clana jest warto\x9C\xE6 \ac{FL} na podstawie stanu s\xB9siad\xF3w okre\x9Clonych przez \ac{N}. Kolejno\x9C\xE6 przetwarzania odbywa si\xEA od \x9Cciany najbli\xBFszej obserwatorowi (w przypadku \ac{TAK}), kolejnymi wierszami (dla \ac{DAK}) i od lewej do prawej (w \ac{LAK}). -Szczeg\xF3lnym przypadkiem przetwarzania jest sytuacja, gdy s\xB9siedztwo rozpatrywanej kom\xF3rki wykracza poza zdefiniowan\xB9 przestrze\xF1 \ac{KB}. Je\xBFeli warunki brzegowe nie definiuj\xB9 s\xB9siedztwa kom\xF3rek po\xB3o\xBFonych na kraw\xEAdziach (por. \ref{subsec:dak}), zak\xB3ada si\xEA, i\xBF warto\x9C\xE6 argument\xF3w z poza zdefiniowanej przestrzeni wynosi zero. W przeciwnym wypadku stany s\xB9siad\xF3w pobierane s\xB9 zgodnie z regu\xB3ami okre\x9Clonymi przez warunki brzegowe. W celu identyfikowania konkretnej konfiguracji z historii przetwarzania (por. \ref{subsec:eak}) symulator wykorzystuje tzw. {\bf licznik krok\xF3w iteracji}, kt\xF3ry rejestruje liczb\xEA dotychczasowych przetworze\xF1. @@ -92,7 +91,7 @@ Wspomaganie definiowania \ac{FL} jest bezpo\x9Crednio powi\xB9zane z~wykorzystywanym formatem. To prowadzi do potrzeby implementowania osobnej procedury pomocniczej dla ka\xBFdego obs\xB3ugiwanego sposobu okre\x9Clania funkcji. Wymagana jest mo\xBFliwo\x9C\xE6 niepe\xB3nego okre\x9Clenia funkcji poprzez jawne zadeklarowanie \ac{SN}. Symulator powinien akceptowa\xE6 takie symbole i~zaznacza\xE6 je w~wyra\x9Fny spos\xF3b celem ewentualnego p\xF3\x9Fniejszego uszczeg\xF3\xB3owienia. -Pakiet nie musi wymaga\xE6 konkretyzowania \ac{SN}. W takim przypadku wynik \ac{FL} dla s\xB9siedztwa zawieraj\xB9cego cho\xE6by jeden \ac{SN} powinno r\xF3wnie\xBF by\xE6 \ac{SN}. Implikuje to rozszerzanie si\xEA skupisk \ac{SN} z ka\xBFd\xB9 kolejn\xB9 iteracj\xB9. +Pakiet nie musi wymaga\xE6 konkretyzowania \ac{SN}. W takim przypadku wynik \ac{FL} dla s\xB9siedztwa zawieraj\xB9cego cho\xE6by jeden \ac{SN} powinien r\xF3wnie\xBF by\xE6 \ac{SN}. Implikuje to rozszerzanie si\xEA skupisk \ac{SN} z ka\xBFd\xB9 kolejn\xB9 iteracj\xB9. \subsubsection{Dane (konfiguracja kom\xF3rek)} \label{subsubsec:dane} @@ -104,17 +103,15 @@ \subsubsection{Rodzaje warunk\xF3w brzegowych} \label{subsubsec:rwb} -Definiuje si\xEA trzy podstawowe rodzaje warunk\xF3w brzegowych. +Szczeg\xF3lna sytuacja podczas przetwarzania kom\xF3rkowego wyst\xEApuje, gdy s\xB9siedztwo rozpatrywanej kom\xF3rki wykracza poza zdefiniowan\xB9 przestrze\xF1 \ac{KB}, czyli dla kom\xF3rek znajduj\xB9cych si\xEA stosunkowo blisko kraw\xEAdzi konfiguracji. W celu wyliczenia stanu takich kom\xF3rek konieczne jest zdefiniowanie {\bf warunk\xF3w brzegowych}. Poni\xBFej przedstawione zosta\xB3y dwa przyk\xB3adowe warunki brzegowe. Pierwszym przypadkiem jest, gdy kom\xF3rki znajduj\xB9ce si\xEA na kraw\xEAdziach konfiguracji nie posiadaj\xB9 s\xB9siad\xF3w poza jej obszarem. Przy wyznaczaniu ci\xB9gu s\xB9siad\xF3w dla kom\xF3rek z poza konfiguracji przyjmuje si\xEA stan zerowy. -Drugi przypadek wyst\xEApuje, gdy kom\xF3rki le\xBF\xB9ce na jednej z par przeciwleg\xB3ych kraw\xEAdzi konfiguracji s\xB9 wobec siebie s\xB9siadami. +Dwrugim przypadkiem s\xB9 torusowe warunki brzegowe. Sytuacja taka wyst\xEApuje, gdy kom\xF3rki le\xBF\xB9ce na przeciwleg\xB3ych kraw\xEAdziach konfiguracji s\xB9siaduj\xB9 ze sob\xB9. -Trzecim przypadkiem s\xB9 torusowe warunki brzegowe. Sytuacja taka wyst\xEApuje, gdy kom\xF3rki le\xBF\xB9ce na przeciwleg\xB3ych kraw\xEAdziach konfiguracji s\xB9siaduj\xB9 ze sob\xB9. - \subsection{Ustawienia domy\x9Clne i~przyk\xB3ady} \label{subsec:udip} -W~nat\xB3oku tryb\xF3w, narz\xEAdzi i~wizualizacji prezentowanie tylko i~wy\xB3\xB9cznie kluczowych dla danej sytuacji opcji znacznie usprawnia prac\xEA operatora. Na podstawie wczytywanych kolejno plik\xF3w, zar\xF3wno modelu jak i~danych, nale\xBFy przyj\xB9\xE6 najbardziej prawdopodobny typ eksperymentu i~dobra\xE6 odpowiednie narz\xEAdzia. +W\x9Cr\xF3d wielu tryb\xF3w, narz\xEAdzi i~wizualizacji prezentowanie tylko i~wy\xB3\xB9cznie kluczowych dla danej sytuacji opcji znacznie usprawnia prac\xEA operatora. Na podstawie wczytywanych kolejno plik\xF3w, zar\xF3wno modelu jak i~danych, nale\xBFy przyj\xB9\xE6 najbardziej prawdopodobny typ eksperymentu i~dobra\xE6 odpowiednie narz\xEAdzia. R\xF3wnie wa\xBFne s\xB9 logiczne ustawienia domy\x9Clne dla parametr\xF3w, kt\xF3rych u\xBFytkownik jawnie nie okre\x9Cli\xB3. Dob\xF3r tych ustawie\xF1 powinien by\xE6 konsekwentny i~jednolity w~ca\xB3ym pakiecie. @@ -127,35 +124,38 @@ \label{subsubsec:uog} Jednoznaczne i~wyra\x9Fne prezentowanie operatorowi element\xF3w modelu oraz~efekt\xF3w przetwarzania jest bezpo\x9Crednim powodem tworzenia symulator\xF3w. W~szczeg\xF3lno\x9Cci wizualizowanie skomplikowanych struktur tr\xF3jwymiarowych w~czytelny spos\xF3b jest niebanalnym wyzwaniem, nie do ko\xF1ca \x9Cci\x9Cle programistycznym. -\subsubsection{Funkcje podstawowe wizualizacji~--- wymagania} +\subsubsection{Funkcje podstawowe wizualizacji} \label{subsubsec:npo} Poni\xBFej zebrana zosta\xB3a lista wymaga\xF1 dot. wizualizacji, jakie powinien spe\xB3nia\xE6 ,,idealny symulator'' \ac{AK}. \begin{itemize} - \item Klarowny i jednoznaczny spos\xF3b reprezentacji konfiguracji \ac{AK} - \item Mo\xBFliwo\x9C\xE6 swobodnego poruszania si\xEA po konfiguracjach zajmuj\xB9cych wi\xEAcej, ni\xBF jeden ekran - \item Mo\xBFliwo\x9C\xE6 zaznaczenia dowolnej kom\xF3rki lub grupy kom\xF3rek w obr\xEAbie konfiguracji - \item Mo\xBFliwo\x9C\xE6 pozycjonowania pojedynczej kom\xF3rki, lub ca\xB3ych ich grup - \item Kopiowanie konfiguracji kom\xF3rek - \item Wklejanie konfiguracji - \item Przesuwanie konfiguracji kom\xF3rek + \item Klarowny i jednoznaczny spos\xF3b reprezentacji konfiguracji \ac{AK}. + \item Mo\xBFliwo\x9C\xE6 swobodnego poruszania si\xEA po konfiguracjach zajmuj\xB9cych wi\xEAcej, ni\xBF jeden ekran. + \item Mo\xBFliwo\x9C\xE6 zaznaczenia dowolnej kom\xF3rki lub grupy kom\xF3rek w obr\xEAbie konfiguracji. + \item Mo\xBFliwo\x9C\xE6 pozycjonowania pojedynczej kom\xF3rki, lub ca\xB3ych ich grup. + \item Operacje na kom\xF3rkach: + \begin{itemize} + \item kopiowanie konfiguracji kom\xF3rek, + \item wklejanie konfiguracji, + \item przesuwanie konfiguracji kom\xF3rek. + \end{itemize} \item Cechy charakterystyczne dla operacji na tr\xF3jwymiarowych przestrzeniach: \begin{itemize} - \item obroty - \item przesuni\xEAcia - \item zbli\xBFenia/oddalenia - \item manipulowanie perspektyw\xB9 (obcinanie przestrzeni p\xB3aszczyznami) + \item obroty, + \item przesuni\xEAcia, + \item zbli\xBFenia/oddalenia, + \item manipulowanie perspektyw\xB9 (obcinanie przestrzeni p\xB3aszczyznami). \end{itemize} \end{itemize} \subsubsection{Zestawienie technik obrazowania przetwarzania kom\xF3rkowego} \label{subsubsec:ztopk} -W punkcie tym przedstawione zosta\xB3y niekt\xF3re techniki obrazowania. +W punkcie tym przedstawione zosta\xB3y wybrane techniki obrazowania. \begin{description} - \item[dST] Pierwsz\xB9 technik\xB9 jest diagram dST, czyli odk\xB3adanie kolejnych stan\xF3w (S) na osi $OX$ oraz kolejnych \ac{KB} na osi czasu $OY$. Ten typ diagramu przeznaczony jest do prezentowania przetwarzania \ac{LAK}. - \item[dTS] Jest to diagram koncepcyjnie podobny do diagramu dST. Polega na odk\xB3adaniu kolejnych stan\xF3w na osi $OY$ oraz kolejnych iteracji na osi $OX$. Podobnie jak diagram dST przeznaczony jest do obrazowania przetwarzania w modelu \ac{LAK}. - \item[Plansza]Dla dwuwymiarowych \ac{AK} diagramy dST i dTS nie s\xB9 czytelne. W zwi\xB9zku z tym konfiguracje \ac{DAK} przedstawiane s\xB9 na dwuwymiarowych planszach (pikslowych lub znakowych~--- por. \ref{subsubsec:twy}). W celu przedstawienia zmian w \ac{DAK}, mo\xBFna umieszcza\xE6 kolejne konfiguracje obok siebie, zaznaczaj\xB9c przy tym chwile czasowe, w kt\xF3rych dana konfiguracja wyst\xB9pi\xB3a. + \item[dST] Pierwsz\xB9 technik\xB9 jest diagram ST, czyli odk\xB3adanie kolejnych stan\xF3w kom\xF3rek (S) na osi $OX$ oraz kolejnych \ac{KB} na osi czasu $OY$. Ten typ diagramu przeznaczony jest do prezentowania przetwarzania \ac{LAK}\citep{siwy,sicw}. + \item[dTS] Jest to diagram koncepcyjnie podobny do diagramu ST. Polega na odk\xB3adaniu kolejnych stan\xF3w kom\xF3rek na osi $OY$ oraz kolejnych iteracji na osi $OX$. Podobnie jak diagram ST przeznaczony jest do obrazowania przetwarzania w modelu \ac{LAK}\citep{siwy,sicw}. + \item[Plansza]Dla dwuwymiarowych \ac{AK} dST i dTS nie s\xB9 czytelne. W zwi\xB9zku z tym konfiguracje \ac{DAK} przedstawiane s\xB9 na dwuwymiarowych planszach (pikslowych lub znakowych~--- por. \ref{subsubsec:twy}). W celu przedstawienia zmian w \ac{DAK} mo\xBFna umieszcza\xE6 kolejne konfiguracje obok siebie, zaznaczaj\xB9c przy tym chwile czasowe, w kt\xF3rych dana konfiguracja wyst\xB9pi\xB3a. \item[Sze\x9Ccian] W przypadku \ac{TAK} najprostsz\xB9 technik\xB9 wizualizowania jest przyj\xEAcie sze\x9Ccianu jako kszta\xB3tu reprezentuj\xB9cego kom\xF3rk\xEA. Ten spos\xF3b wizualizowania jest intuicyjny dla obserwatora, lecz wprowadza pewne ograniczenia. Mianowicie w naturalny spos\xF3b sze\x9Ccian implikuje posiadanie dok\xB3adnie sze\x9Cciu s\xB9siad\xF3w umiejscowionych prostopadle do ka\xBFdej ze \x9Ccian. W og\xF3lno\x9Cci model \ac{TAK} mo\xBFe definiowa\xE6 inne s\xB9siedztwo. \end{description} @@ -164,9 +164,9 @@ \paragraph{Tryb tekstowy} \label{par:tek} -Jest to najbardziej oczywisty tryb wy\x9Cwietlania bior\xB9c pod uwag\xEA charakter plik\xF3w wej\x9Cciowych. Polega na tworzeniu linii (w~przypadku \ac{LAK}) lub tabel (w~\ac{DAK}) z\xB3o\xBFonych z symboli stan\xF3w kolejnych kom\xF3rek. Tekstowe wizualizowanie przestrzeni tr\xF3jwymiarowych nie jest tak efektywne i~czytelne z~uwagi na fakt, i\xBF w~zale\xBFno\x9Cci od aktualnej perspektywy, znaki znajduj\xB9ce si\xEA na tej samej osi g\xB3\xEAboko\x9Cci mog\xB9 si\xEA na siebie nak\xB3ada\xE6, utrudniaj\xB9c poprawn\xB9 ich identyfikacj\xEA. Dopiero za pomoc\xB9 wyboru wy\x9Cwietlanych p\xB3aszczyzn mo\xBFliwe jest efektywne obrazowanie cz\xEA\x9Cci przestrzeni tr\xF3jwymiarowej jednym z przekroj\xF3w. +Jest to najbardziej oczywisty tryb wy\x9Cwietlania, bior\xB9c pod uwag\xEA charakter plik\xF3w wej\x9Cciowych. Polega na tworzeniu linii (w~przypadku \ac{LAK}) lub tabel (w~\ac{DAK}) z\xB3o\xBFonych ze stan\xF3w kolejnych kom\xF3rek. Tekstowe wizualizowanie przestrzeni tr\xF3jwymiarowych nie jest tak efektywne i~czytelne bior\xB9c pod uwag\xEA fakt, i\xBF w~zale\xBFno\x9Cci od aktualnej perspektywy, znaki znajduj\xB9ce si\xEA na tej samej osi g\xB3\xEAboko\x9Cci mog\xB9 si\xEA na siebie nak\xB3ada\xE6, utrudniaj\xB9c poprawn\xB9 ich identyfikacj\xEA. Dopiero za pomoc\xB9 wyboru wy\x9Cwietlanych p\xB3aszczyzn mo\xBFliwe jest efektywne obrazowanie cz\xEA\x9Cci przestrzeni tr\xF3jwymiarowej jednym z przekroj\xF3w. -Tryb tekstowy u\xB3atwia analizowanie obraz\xF3w przetwarzania \ac{AK} z~uwagi na reprezentacj\xEA modelu (w~szczeg\xF3lno\x9Cci \ac{FL}). Mo\xBFna w~ten spos\xF3b \x9Cledzi\xE6 poprawno\x9C\xE6 dzia\xB3ania \ac{FL}, lub na bie\xBF\xB9co modyfikowa\xE6 jej posta\xE6 u\xBFywaj\xB9c symboli bezpo\x9Crednio prezentowanych na ekranie. +Tryb tekstowy u\xB3atwia analizowanie obraz\xF3w przetwarzania \ac{AK} z~uwagi na reprezentacj\xEA modelu (w~szczeg\xF3lno\x9Cci \ac{FL}). Mo\xBFna w~ten spos\xF3b \x9Cledzi\xE6 poprawno\x9C\xE6 dzia\xB3ania \ac{FL} lub na bie\xBF\xB9co modyfikowa\xE6 jej posta\xE6 u\xBFywaj\xB9c symboli bezpo\x9Crednio prezentowanych na ekranie. \paragraph{Tryb graficzny} \label{par:graf} @@ -174,11 +174,11 @@ Wy\x9Cwietlanie polega na zast\xEApowaniu symboli alfabetu \ac{AK} kszta\xB3tami i/lub kolorami na planszy pikslowej (\ac{LAK} i~\ac{DAK}) lub w~przestrzeni tr\xF3jwymiarowej. Stosowanie takiej formy prezentacji zdecydowanie poprawia czytelno\x9C\xE6 konfiguracji z\xB3o\xBFonych z~wielu r\xF3\xBFnowarto\x9Cciowych kom\xF3rek. Ponadto pozwala nada\xE6 wizualizacji charakter bardziej intuicyjny, np. upodobnienie konkretnych warto\x9Cci do kszta\xB3t\xF3w rzeczywistych obiekt\xF3w. -Efektywno\x9C\xE6 tworzenie obiekt\xF3w graficznych bezpo\x9Crednio przez nowoczesne uk\xB3ady graficzne wielokrotnie przewy\xBFsza renderowanie tekstu. To zdecydowanie poprawia wydajno\x9C\xE6 operowania rozleg\xB3ymi przestrzeniami, w~szczeg\xF3lno\x9Cci tr\xF3jwymiarowymi. W~po\xB3\xB9czeniu z~bardzo szybko rosn\xB9c\xB9 moc\xB9 obliczeniow\xB9 jednostek graficznych mo\xBFliwe jest wykorzystywanie efekt\xF3w dodatkowo poprawiaj\xB9cych czytelno\x9C\xE6 i~realistyczno\x9C\xE6 prezentacji, takich jak antyaliasing, czy przezroczysto\x9C\xE6. +Efektywno\x9C\xE6 tworzenia obiekt\xF3w graficznych bezpo\x9Crednio przez nowoczesne uk\xB3ady graficzne wielokrotnie przewy\xBFsza pr\xEAdko\x9C\xE6 wy\x9Cwietlanie tekstu. To zdecydowanie poprawia wydajno\x9C\xE6 operowania rozleg\xB3ymi przestrzeniami, w~szczeg\xF3lno\x9Cci tr\xF3jwymiarowymi. W~po\xB3\xB9czeniu z~bardzo szybko rosn\xB9c\xB9 moc\xB9 obliczeniow\xB9 jednostek graficznych mo\xBFliwe jest wykorzystywanie efekt\xF3w dodatkowo poprawiaj\xB9cych czytelno\x9C\xE6 i~realistyczno\x9C\xE6 prezentacji, takich jak antyaliasing czy przezroczysto\x9C\xE6. \subsubsection{Interpretacja wizualizacji} \label{subsubsec:iwy} -Efektywn\xB9 metod\xB9 zwi\xEAkszenia czytelno\x9Cci prezentowanych danych (w og\xF3lnym rozumieniu) jest interpretowanie symboli stan\xF3w kom\xF3rkowych przy wy\x9Cwietlaniu. W przypadku \ac{AK} polega ono na przypisywaniu znak\xF3w, kszta\xB3t\xF3w i~kolor\xF3w symbolom \ac{KB} przez operatora\citep{siwy,sicw}. Pozwala to uwypukli\xE6 te warto\x9Cci kom\xF3rek, kt\xF3re operatora najbardziej interesuj\xB9. Pakiet powinien umo\xBFliwi\xE6 definiowanie takich przyporz\xB9dkowa\xF1 zar\xF3wno dla trybu graficznego, jak i~tekstowego. Rozszerzeniem tej koncepcji jest mo\xBFliwo\x9C\xE6 definiowania interpretacji dla grup symboli. +Efektywn\xB9 metod\xB9 zwi\xEAkszenia czytelno\x9Cci prezentowanych danych jest interpretowanie symboli stan\xF3w kom\xF3rkowych przy wy\x9Cwietlaniu. W przypadku \ac{AK} polega ono na przypisywaniu znak\xF3w, kszta\xB3t\xF3w i~kolor\xF3w symbolom \ac{KB} przez operatora\citep{siwy,sicw}. Pozwala to uwypukli\xE6 te warto\x9Cci kom\xF3rek, kt\xF3re operatora najbardziej interesuj\xB9. Pakiet powinien umo\xBFliwi\xE6 definiowanie takich przyporz\xB9dkowa\xF1 zar\xF3wno dla trybu graficznego, jak i~tekstowego. Rozszerzeniem tej koncepcji jest mo\xBFliwo\x9C\xE6 okre\x9Clania interpretacji dla grup symboli. Potrzeb\xEA bardziej wyrafinowanego sterowania wizualizacj\xB9 zaspokajaj\xB9 filtry. Pozwalaj\xB9 one na ustalanie lu\x9Fniejszych regu\xB3 sterowania wy\x9Cwietlaniem, np. ukrywanie symboli o~warto\x9Cciach wi\xEAkszych lub mniejszych od zadanego progu, uwidacznianie pewnych struktur (np. 'poka\xBF co drug\xB9 kom\xF3rk\xEA', 'wy\x9Cwietl przekroje z niezerowymi stanami kom\xF3rek', \ldots). @@ -188,7 +188,7 @@ \subsubsection{Obserwator lokalny i~globalny} \label{subsubsec:oli} -Obowi\xB9zuj\xB9c\xB9 metod\xB9 wizualizowania przetwarzania jest przedstawianie widoku z~perspektywy obserwatora globalnego, czyli takiego, kt\xF3ry nie jest cz\xEA\x9Cci\xB9 konfiguracji i~ma nieograniczony oraz natychmiastowy dost\xEAp do wszystkich jej kom\xF3rek. Zupe\xB3nie now\xB9 koncepcj\xB9 jest mo\xBFliwo\x9C\xE6 zaprezentowania przebiegu oblicze\xF1 z~punktu widzenia jednego z~obiekt\xF3w symulowanej przestrzeni, zwana {\bf obserwatorem lokalnym}\citep{siim}. Koncepcja ta jest autorstwa dr Paw\xB3a Siwaka\citep{siim,siwy}. Kom\xF3rka wyznaczona na \ac{OL} ,,dowiaduje si\xEA'' o zmianie stanu bezpo\x9Crednich s\xB9siad\xF3w z pr\xEAdko\x9Cci\xB9 $c$. Natomiast z op\xF3\x9Fnieniem (wyra\xBFonym w iteracjach) o zmianie stan\xF3w reszty kom\xF3rek, proporcjonalnym do odleg\xB3o\x9Cci od obserwatora. +Obowi\xB9zuj\xB9c\xB9 metod\xB9 wizualizowania przetwarzania jest przedstawianie widoku z~perspektywy obserwatora globalnego, czyli takiego, kt\xF3ry nie jest cz\xEA\x9Cci\xB9 konfiguracji i~ma nieograniczony oraz natychmiastowy dost\xEAp do wszystkich jej kom\xF3rek. Zupe\xB3nie now\xB9 koncepcj\xB9 jest mo\xBFliwo\x9C\xE6 zaprezentowania przebiegu oblicze\xF1 z~punktu widzenia jednego z~obiekt\xF3w symulowanej przestrzeni, zwana {\bf obserwatorem lokalnym}\citep{siim}. Koncepcja ta jest autorstwa dr Paw\xB3a Siwaka\citep{siim,siwy}. Kom\xF3rka wyznaczona na \ac{OL} ,,dowiaduje si\xEA'' stopniowo o zmianie stanu s\xB9siad\xF3w. Jej ,,wiedza'' o otoczeniu poszerza si\xEA z pr\xEAdko\x9Cci\xB9 $c$.Zatem o zmianach stan\xF3w kom\xF3rek ,,dowiaduje si\xEA'' z tym wi\xEAkszym op\xF3\x9Fnieniem, im wi\xEAksza jest odleg\xB3o\x9C\xE6 do nich. Mo\xBFliwo\x9C\xE6 dynamicznego definiowania i~zmieniania punktu widzenia powinna by\xE6 cz\xEA\x9Cci\xB9 ,,idealnego symulatora''. W~bardziej z\xB3o\xBFonym przypadku mo\xBFna sobie wyobrazi\xE6, i\xBF obserwator jest ruchomy i~przemieszcza si\xEA wraz z~biegiem przetwarzania. @@ -196,9 +196,9 @@ \label{subsec:pek} \subsubsection{Rytmy przetwarzania} \label{subsubsec:rpr} -Podstawowym rytmem jest przetwarzanie krokowe~--- jedna iteracja naraz. Pakiet powinien przewidzie\xE6 mo\xBFliwo\x9C\xE6 wykonania ustalonej przez operatora liczby iteracji (domy\x9Clnie jednej). Skrajnym przypadkiem takiego zachowania jest eksperyment ci\xB9g\xB3y. Jest on przydatny do \x9Cledzenia pewnych charakterystycznych obiekt\xF3w \ac{AK}, takich jak ,,\xB3azik'', w~szczeg\xF3lno\x9Cci przy torusowych warunk\xF3w brzegowych (por. \ref{subsubsec:rwb}). +Podstawowym rytmem jest przetwarzanie krokowe~--- jedna iteracja na raz. Pakiet powinien przewidzie\xE6 mo\xBFliwo\x9C\xE6 wykonania ustalonej przez operatora liczby iteracji (domy\x9Clnie jednej). Skrajnym przypadkiem takiego zachowania jest eksperyment ci\xB9g\xB3y. Jest on przydatny do \x9Cledzenia pewnych charakterystycznych obiekt\xF3w \ac{AK}, takich jak ,,\xB3azik'', w~szczeg\xF3lno\x9Cci przy torusowych warunk\xF3w brzegowych (por. \ref{subsubsec:rwb}). -U\xBFytecznym sposobem prowadzenia symulacji jest wyznaczanie warunk\xF3w ko\xF1cowych. Wyst\xB9pienie kt\xF3regokolwiek z~nich przerywa eksperyment. Szczeg\xF3lnym przypadkiem takich warunk\xF3w jest liczba przeprowadzonych iteracji, kt\xF3ra zapobiega zap\xEAtleniu si\xEA przetwarzania w~sytuacji, gdy pozosta\xB3e warunki ko\xF1cowe okaza\xB3yby si\xEA nieosi\xB9galne. Opracowanie sposobu deklarowania, a~nast\xEApnie wyszukiwania nietrywialnych warunk\xF3w ko\xF1cowych (takich jak pusta konfiguracja czy pojawienie si\xEA konkretnego wzorca) znacz\xB9co zintensyfikowa\xB3o by mo\xBFliwo\x9Cci prowadzenia eksperyment\xF3w z pakietem. +U\xBFytecznym sposobem prowadzenia symulacji jest wyznaczanie warunk\xF3w ko\xF1cowych. Wyst\xB9pienie kt\xF3regokolwiek z~nich przerywa eksperyment. Szczeg\xF3lnym przypadkiem takich warunk\xF3w jest liczba przeprowadzonych iteracji, kt\xF3ra zapobiega zap\xEAtleniu si\xEA przetwarzania w~sytuacji, gdy pozosta\xB3e warunki ko\xF1cowe okaza\xB3yby si\xEA nieosi\xB9galne. Opracowanie sposobu deklarowania, a~nast\xEApnie wyszukiwania nietrywialnych warunk\xF3w ko\xF1cowych (takich jak pusta konfiguracja czy pojawienie si\xEA konkretnego wzorca) znacz\xB9co zintensyfikowa\xB3oby mo\xBFliwo\x9Cci prowadzenia eksperyment\xF3w z pakietem. Dla szybkiego oszacowania zmian wyst\xEApuj\xB9cych na przestrzeni wielu iteracji, pakiet powinien umo\xBFliwi\xE6 wy\x9Cwietlanie jedynie co $n$-tej konfiguracji. Proces taki nazywamy {\bf skalowaniem w czasie}\citep{siwy,sicw}. @@ -216,11 +216,11 @@ \subsubsection{Por\xF3wnywanie przetwarza\xF1} \label{subsubsec:ppr} -Cz\xEA\x9C\xE6 zaproponowanych powy\xBFej funkcjonalno\x9Cci s\xB3u\xBFy do wprowadzania zmian w modelu lub danych \ac{AK}. Zmiany te wp\xB3ywaj\xB9 na posta\xE6 kolejnych konfiguracji symulacji. Program powinien umo\xBFliwi\xE6 bezpo\x9Crednie por\xF3wnywanie obraz\xF3w powsta\xB3ych w wyniku manipulacji parametrami \ac{AK}, np. r\xF3wnoczesne \x9Cledzenie przetwarzania dla \ac{OG} i~\ac{OL}. W~celu uzyskania pe\xB3nej kontroli nad procesem por\xF3wnywania, nale\xBFy zaimplementowa\xE6 osobne, jak i~wsp\xF3lne taktowanie obu symulacji (por. \ref{subsubsec:rpr}). +Cz\xEA\x9C\xE6 zaproponowanych powy\xBFej funkcjonalno\x9Cci s\xB3u\xBFy do wprowadzania zmian w modelu lub danych \ac{AK}. Zmiany te wp\xB3ywaj\xB9 na posta\xE6 kolejnych konfiguracji symulacji. Program powinien umo\xBFliwi\xE6 bezpo\x9Crednie por\xF3wnywanie obraz\xF3w powsta\xB3ych w wyniku manipulacji parametrami \ac{AK}, np. r\xF3wnoczesne \x9Cledzenie przetwarzania dla \ac{OG} i~\ac{OL}. W~celu uzyskania pe\xB3nej kontroli nad procesem por\xF3wnywania, nale\xBFy zaimplementowa\xE6 zar\xF3wno osobne, jak i~wsp\xF3lne taktowanie obu symulacji (por. \ref{subsubsec:rpr}). \subsection{Utrwalanie wynik\xF3w symulacji} \label{subsec:uwy} -W najprostszym przypadku przez wynik symulacji rozumiana jest historia przetwarzania, gdy celem symulacji jest okre\x9Clenie konfiguracji \ac{AK} po zadanej liczbie iteracji podanego modelu. W og\xF3lnym przypadku wynikiem prowadzenia symulacji mo\xBFe by\xE6 zar\xF3wno konfiguracja, jak i elementy modelu (\ac{FL}, \ac{N}) przetworzone b\xB9d\x9F zestawione w trakcie dzia\xB3ania programu. +W najprostszym przypadku przez wynik symulacji rozumiana jest historia przetwarzania, gdy celem symulacji by\xB3o okre\x9Clenie konfiguracji \ac{AK} po zadanej liczbie iteracji podanego modelu. W og\xF3lnym przypadku wynikiem prowadzenia symulacji mo\xBFe by\xE6 zar\xF3wno konfiguracja, jak i elementy modelu (\ac{FL}, \ac{N}) przetworzone b\xB9d\x9F zestawione w trakcie dzia\xB3ania programu. \subsubsection{Utrwalanie pojedynczych element\xF3w} \label{subsubsec:upe} @@ -228,11 +228,11 @@ \subsubsection{Utrwalanie historii przetwarzania} \label{subsubsec:uch} -Zapisanie ca\xB3o\x9Cci eksperymentu w~pojedynczym pliku u\xB3atwia p\xF3\x9Fniejsze jego wznowienie (lub analiz\xEA). Plik ten powinien zawiera\xE6 zar\xF3wno specyfikacj\xEA modelu \ac{AK}, jak i~kompletn\xB9 histori\xEA przetwarzania \ac{KP} wraz z~rozga\xB3\xEAzieniami, wynikaj\xB9cymi ze zmian wprowadzonych w~trakcie trwania eksperymentu (por. \ref{subsec:eak} oraz \ref{subsubsec:hit}). +Zapisanie ca\xB3o\x9Cci eksperymentu w~pojedynczym pliku u\xB3atwia p\xF3\x9Fniejsze jego wznowienie lub analiz\xEA. Plik ten powinien zawiera\xE6 zar\xF3wno specyfikacj\xEA modelu \ac{AK}, jak i~kompletn\xB9 histori\xEA przetwarzania \ac{KP} wraz z~rozga\xB3\xEAzieniami, wynikaj\xB9cymi ze zmian wprowadzonych w~trakcie trwania eksperymentu (por. \ref{subsec:eak} oraz \ref{subsubsec:hit}). Nale\xBFy przy tym uwzgl\xEAdni\xE6 utrwalanie eksperyment\xF3w por\xF3wnawczych wraz z taktowaniem obu przebieg\xF3w. -\subsubsection{Tworzenie multimedi\xF3w} +\subsubsection{Tworzenie plik\xF3w multimedialnych} \label{subsubsec:tmu} Prowadzenie z\xB3o\xBFonych symulacji \ac{AK} wymaga znacznych zasob\xF3w obliczeniowych~--- w~szczeg\xF3lno\x9Cci manipulowanie wizualizacj\xB9 tr\xF3jwymiarowych przestrzeni. W~celu p\xF3\x9Fniejszej prezentacji przebiegu symulacji pakiet powinien umo\xBFliwi\xE6 tworzenie plik\xF3w multimedialnych archiwizuj\xB9cych eksperyment. Pozwala to na dalsze dystrybuowanie wynik\xF3w, w~szczeg\xF3lno\x9Cci w~internecie. @@ -252,15 +252,15 @@ MCell to pakiet autorstwa Miros\xB3awa W\xF3jtowicza. Zas\xB3uguje na uwag\xEA ze wzgl\xEAdu na bogaty zestaw mo\xBFliwo\x9Cci funkcjonalnych, w jakie zosta\xB3 wyposa\xBFony. Najwa\xBFniejsze z nich to: \begin{itemize} -\item obs\xB3uga jedno i dwuwymiarowych automat\xF3w kom\xF3rkowych -\item graficzna wizualizacja pracy symulatora -\item wsparcie dla czternastu rodzin AK -\item 256 elementowy alfabet -\item bogaty zestaw gotowych regu\xB3 i konfiguracji pocz\xB9tkowych -\item wsparcie dla kilku r\xF3\xBFnych rodzaj\xF3w s\xB9siedztwa -\item zestaw narz\xEAdzi do analizy symulacji -\item wygodny i prosty w obs\xB3udze interfejs u\xBFytkownika -\item mo\xBFliwo\x9C\xE6 wsp\xF3\xB3pracy z innymi pakietami +\item obs\xB3uga jedno- i dwuwymiarowych automat\xF3w kom\xF3rkowych, +\item graficzna wizualizacja pracy symulatora, +\item wsparcie dla czternastu rodzin AK, +\item 256-elementowy alfabet, +\item bogaty zestaw gotowych regu\xB3 i konfiguracji pocz\xB9tkowych, +\item wsparcie dla kilku r\xF3\xBFnych rodzaj\xF3w s\xB9siedztwa, +\item zestaw narz\xEAdzi do analizy symulacji, +\item wygodny i prosty w obs\xB3udze interfejs u\xBFytkownika, +\item mo\xBFliwo\x9C\xE6 wsp\xF3\xB3pracy z innymi pakietami. \end{itemize} \subsection {DDLab} @@ -271,8 +271,8 @@ \label{fig:} \end{figure} -DDLab jest interaktywnym programem graficznym przewidzianym do badania sko\xF1czonych sieci binarnych. Posiada dwa alternatywne sposoby postrzegania dynamiki sieci: dynamik\xEA lokaln\xB9 obrazuj\xB9c\xB9 dzia\xB3anie sieci wraz z nast\xEApuj\xB9cymi chwilami czasowymi, oraz dynamik\xEA globaln\xB9 przedstawiaj\xB9c\xB9 prac\xEA wsteczn\xB9 sieci. -Mo\xBFliwo\x9C\xE6 obrazowania dynamiki globalnej w postaci diagram\xF3w drzew mo\xBFliwych wcze\x9Cniejszych konfiguracji wyr\xF3\xBFnia ten produkt spo\x9Cr\xF3d innych symulator\xF3w sieci automat\xF3w kom\xF3rkowych. +DDLab jest interaktywnym programem graficznym przewidzianym do badania sko\xF1czonych sieci binarnych. Posiada dwie alternatywne dynamiki sieci: dynamik\xEA lokaln\xB9 obrazuj\xB9c\xB9 dzia\xB3anie sieci wraz z nast\xEApuj\xB9cymi chwilami czasowymi oraz dynamik\xEA globaln\xB9 przedstawiaj\xB9c\xB9 prac\xEA wsteczn\xB9 sieci. +Mo\xBFliwo\x9C\xE6 obrazowania dynamiki globalnej w postaci diagram\xF3w drzew mo\xBFliwych wcze\x9Cniejszych konfiguracji wyr\xF3\xBFnia ten produkt spo\x9Cr\xF3d innych symulator\xF3w sieci \ac{AK}. \subsection{Life32} \begin{figure}[!hpt] @@ -282,7 +282,7 @@ \label{fig:} \end{figure} -Life32 jest symulatorem ukierunkowanym na regu\xB3y "Game of Life". Do g\xB3\xF3wnych zalet tej aplikacji nale\xBF\xB9 maksymalny rozmiar przetwarzanej konfiguracji kt\xF3ry ograniczony jest do planszy o rozmiarach 1000000 x 1000000, oraz du\xBFa pr\xEAdko\x9C\xE6 przetwarzania. Ograniczeniem pakietu jest to \xBFe umo\xBFliwia przetwarzanie jedynie konfiguracji binarnych. Symulator posiada mo\xBFliwo\x9C\xE6 wczytywania plik\xF3w innych popularnych pakiet\xF3w. Przebieg symulacji obrazowany jest za pomoc\xB9 dwu wymiarowych plansz KB. Pakiet posiada zestaw narz\xEAdzi umo\xBFliwiaj\xB9cych +Life32 jest symulatorem ukierunkowanym na regu\xB3y "Game of Life". Do g\xB3\xF3wnych zalet tej aplikacji nale\xBF\xB9: maksymalny rozmiar przetwarzanej konfiguracji, kt\xF3ry ograniczony jest do planszy o rozmiarach 1000000 x 1000000, oraz du\xBFa pr\xEAdko\x9C\xE6 przetwarzania. Ograniczeniem pakietu jest przetwarzanie jedynie konfiguracji binarnych. Symulator posiada mo\xBFliwo\x9C\xE6 wczytywania plik\xF3w innych popularnych pakiet\xF3w. Przebieg symulacji obrazowany jest za pomoc\xB9 dwuwymiarowych plansz \ac{KB}. Pakiet posiada zestaw narz\xEAdzi umo\xBFliwiaj\xB9cych konfiguracje kolor\xF3w symboli. \subsection{CelLab} @@ -293,7 +293,7 @@ \label{fig:} \end{figure} -Pakiet CelLab wyr\xF3\xBFnia spo\x9Cr\xF3d innych symulator\xF3w mo\xBFliwo\x9C\xE6 definiowania w\xB3asnych funkcji lokalnych poprzez stworzenie kr\xF3tkiego programu w j\xEAzykach: Java, C, BASIC lub Pascal. Domy\x9Clnie program jest ograniczony jedynie do w\xB3asnego formatu opisu konfiguracji modelu oblicze\xF1. Sk\xB3adowanie KB mo\xBFliwe jest do plik\xF3w jcp lub bitmapy. Inn\xB9 funkcj\xB9 niespotykan\xB9 w innych pakietach jest mo\xBFliwo\x9C\xE6 tworzenia plik\xF3w avi z zapisem przebiegu eksperymentu. Post\xEAp symulacji obrazowany jest w trybie graficznym z mo\xBFliwo\x9Cci\xB9 dostosowania kolorystyki symboli. +Pakiet CelLab wyr\xF3\xBFnia spo\x9Cr\xF3d innych symulator\xF3w mo\xBFliwo\x9C\xE6 definiowania w\xB3asnych funkcji lokalnych poprzez stworzenie kr\xF3tkiego programu w j\xEAzykach: Java, C, BASIC lub Pascal. Domy\x9Clnie program jest ograniczony jedynie do w\xB3asnego formatu opisu konfiguracji modelu oblicze\xF1. Sk\xB3adowanie \ac{KB} mo\xBFliwe jest do plik\xF3w formatu jcp lub bitmapy. Inn\xB9 funkcj\xB9 niespotykan\xB9 w pozosta\xB3ych pakietach jest mo\xBFliwo\x9C\xE6 tworzenia plik\xF3w multimedialnych z rozszerzeniem avi. Pliki te zawieraj\xB9 zapis przebiegu eksperymentu. Post\xEAp symulacji obrazowany jest w trybie graficznym z mo\xBFliwo\x9Cci\xB9 dostosowania kolorystyki symboli. \subsection{WinLife} \begin{figure}[!hpt] @@ -303,11 +303,11 @@ \label{fig:} \end{figure} -WinLife to kolejny automat kom\xF3rkowy pracuj\xB9cy w oparciu o regu\xB3y "Game of Life". Ograniczeniem pakietu jak w przypadku aplikacji Life32 jest stosowanie alfabetu binarnego. Program obrazuje przebieg symulacji za pomoc\xB9 dwuwymiarowych plansz KB. Pakiet nie posiada narz\xEAdzi umo\xBFliwiaj\xB9cych modyfikacje wy\x9Cwietlonych symboli. +WinLife to kolejny automat kom\xF3rkowy pracuj\xB9cy w oparciu o regu\xB3y "Game of Life". Ograniczeniem pakietu, tak jak w przypadku aplikacji Life32, jest stosowanie alfabetu binarnego. Program obrazuje przebieg symulacji za pomoc\xB9 dwuwymiarowych plansz KB. Pakiet nie posiada narz\xEAdzi umo\xBFliwiaj\xB9cych modyfikacj\xEA wy\x9Cwietlonych symboli. \subsection {Por\xF3wnanie dost\xEApnych AK} -Przeprowadzona analiza funkcji szeroko znanych symulator\xF3w AK pokazuje i\xBF wi\xEAkszo\x9C\xE6 symulator\xF3w koncentruje si\xEA na wizualizacji wybranych modeli obliczeniowych. Zakres wizualizacji ogranicza si\xEA do jedno i dwu wymiarowych AK w trybie graficznym z mo\xBFliwo\x9Cci\xB9 zmiany interpretacji symboli. W trakcie analizy dost\xEApnych symulator\xF3w AK nie stwierdzono wyposa\xBFenia symulator\xF3w w funkcje dynamicznego doboru modelu przetwarzania oraz mo\xBFliwo\x9Cci dowolnego definiowania s\xB9siedztwa. Powszechnie stosuje si\xEA dwa rodzaje s\xB9siedztwa von Neumanna oraz Moora oba z mo\xBFliwo\x9Cci\xB9 niewielkiej modyfikacji s\xB9siad\xF3w. +Przeprowadzona analiza funkcji szeroko znanych symulator\xF3w AK pokazuje, i\xBF wi\xEAkszo\x9C\xE6 symulator\xF3w koncentruje si\xEA na wizualizacji wybranych modeli obliczeniowych. Jej zakres ogranicza si\xEA do jedno- i dwuwymiarowych \ac{AK} w trybie graficznym z mo\xBFliwo\x9Cci\xB9 zmiany interpretacji symboli. W trakcie analizy dost\xEApnych symulator\xF3w \ac{AK} stwierdzono niewystarczaj\xB9ce wyposa\xBFenie symulator\xF3w w funkcje dynamicznego doboru modelu przetwarzania, w tym definiowanie dowolnego s\xB9siedztwa. Powszechnie stosuje si\xEA dwa rodzaje s\xB9siedztwa: von Neumanna oraz Moora, oba z mo\xBFliwo\x9Cci\xB9 niewielkiej modyfikacji s\xB9siad\xF3w. \begin{landscape} \begin{table}[!p] Modified: trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex 2007-02-17 02:04:27 UTC (rev 343) +++ trunk/qcell/doc/licenciate_thesis/chap3/chap3.tex 2007-02-17 03:19:21 UTC (rev 344) @@ -9,43 +9,43 @@ \subsubsection{Utrwalanie wynik\xF3w przetwarzania} Pakiet daje mo\xBFliwo\x9C\xE6 utrwalania efekt\xF3w eksperyment\xF3w w nast\xEApuj\xB9cych trybach: \begin{itemize} -\item zapis poszczeg\xF3lnych element\xF3w modelu do osobnych plik\xF3w(KI, N, FL) -\item zapis konfiguracji bie\xBF\xB9cej wraz z histori\xB9 przetwarzania do pojedynczego pliku -\item eksport konfiguracji do pliku LIF +\item zapis poszczeg\xF3lnych element\xF3w modelu do osobnych plik\xF3w (KI, N, FL), +\item zapis konfiguracji bie\xBF\xB9cej wraz z histori\xB9 przetwarzania do pojedynczego pliku, +\item eksport konfiguracji do pliku LIF (obs\xB3ugiwanego przez programy: MCell, XLife i Life32). \end{itemize} \subsubsection {Tryby pracy symulatora} Symulator daje mo\xBFliwo\x9C\xE6 pracy w trzech trybach: \begin{itemize} -\item praca ci\xB9g\xB3a -\item zadana liczba krok\xF3w -\item praca krokowa +\item praca ci\xB9g\xB3a, +\item zadana liczba krok\xF3w, +\item praca krokowa. \end{itemize} \subsubsection {Warunki brzegowe pracy symulatora} -Domy\x9Clnymi warunkami brzegowymi uwzgl\xEAdnionymi w pracy pakietu s\xB9 warunki torusowe. Symulator nie uwzgl\xEAdnia mo\xBFliwo\x9Cci zmiany warunk\xF3w brzegowych. +Warunkami brzegowymi uwzgl\xEAdnionymi w pracy pakietu s\xB9 warunki torusowe. Symulator nie obs\xB3uguje mo\xBFliwo\x9Cci zmiany warunk\xF3w brzegowych. \subsubsection {Wizualizacja symulacji} -Program pozwala wizualizowa\xE6 symulatory LAK(tryb tekstowy), DAK(tryb testowy, tryb graficzny), TAK(tryb graficzny z dwoma trybami perspektywy). +Program pozwala wizualizowa\xE6 modele \ac{LAK} (tryb tekstowy), \ac{DAK} (tryb testowy i graficzny) oraz \ac{TAK} (tryb graficzny z dwoma perspektywami). \subsection {Rozszerzone funkcje programu} \label{subsec:rfp} \subsubsection{Dynamiczne dobieranie modelu symulacji} \label{subsubsec:ddm} -Program umo\xBFliwia dynamiczne dobieranie funkcji lokalnej podczas pracy symulatora. +Program umo\xBFliwia dynamiczne dobieranie \ac{FL} podczas pracy symulatora. \subsubsection{Edycja KI} -Pakiet daje mo\xBFliwo\x9C\xE6 edycji konfiguracji bie\xBF\xB9cej oraz posiada zestaw narz\xEAdzi wspomagaj\xB9cych(wype\xB3nianie obszar\xF3w, kopiowanie/wklejanie obszar\xF3w). +Pakiet umo\xBFliwia edycj\xEA \ac{KB} oraz posiada zestaw narz\xEAdzi wspomagaj\xB9cych jej definiowanie (wype\xB3nianie obszar\xF3w, kopiowanie/wklejanie). \subsubsection{Wymiana danych z popularnymi pakietami} -Aplikacja umo\xBFliwia zapis/odczyt plik\xF3w w formacie "lif" i "life". +Aplikacja umo\xBFliwia zapis/odczyt plik\xF3w w formacie LIF i LIFE. Formaty te obs\xB3ugiwane s\xB9 przez programy: MCell, Life32 oraz XLife. Do pliku tekstowego zapisywany jest zar\xF3wno model, jak i dane. \subsubsection {Tryby obserwatora} -Aplikacja posiada funkcj\xEA prze\xB3\xB9czania trybu obserwatora. Dost\xEApne s\xB9 tryby lokalny i globalny. +Aplikacja posiada funkcj\xEA prze\xB3\xB9czania trybu obserwatora. Mo\xBFliwe jest obrazowanie przetwarzania kom\xF3rkowego dla \ac{OL} oraz \ac{OG}. \subsubsection {Regu\xB3y elementarne} -Pakiet umo\xBFliwia rejestrowanie regu\xB3 elementarnych wykorzystanych w danej KB +Pakiet rejestruje \ac{RE} u\xBFyte do przetworzenia \ac{KB} w \ac{KN}. Przechowywane s\xB9 regu\xB3y zebrane jedynie podczas jednej iteracji. \subsubsection {Formaty danych} \label{subsubsec:fda} @@ -55,36 +55,36 @@ \item funkcja lokalna \begin{itemize} -\item FQT - Jest formatem pliku tekstowego s\xB3u\xBF\xB9cego do opisu funkcji lokalnej, zawieraj\xB9cego w kolejnych wierszach: + \item FQT - Format pliku tekstowego do opisu \ac{FL}, zawieraj\xB9cego w kolejnych wierszach: \begin{itemize} \item identyfikator literowy typu funkcji, tj FQT, -\item trzy liczby (separowane spacj\xB9): liczba argument\xF3w, liczba warto\x9Cci argumentu i liczba warto\x9Cci funkcji, +\item trzy liczby (separowane spacj\xB9): liczba argument\xF3w, liczno\x9C\xE6 alfabetu wej\x9Cciowego oraz liczno\x9C\xE6 alfabetu wyj\x9Cciowego, \item numery zmiennych sumowanych (separowane przecinkiem), - -\item Wiersze nast\xEApne podaj\xB9 kolejne sumy s (dziesi\xEAtnie) i ci\xB9gi warto\x9Cci dla ustalonego s: $f(s,w_{max}) f(s,w_{max-1}) ... f(s,w_{min})$, gdzie $w_{max}$ oznacza maksymalny ci\xB9g wyraz\xF3w wolnych w porz\xB9dku leksykograficznym. +\item kolejne sumy $s$ (dziesi\xEAtnie) i ci\xB9gi warto\x9Cci dla ustalonego $s$: $f(s,w_{max}) f(s,w_{max-1}) ... f(s,w_{min})$, gdzie $w_{max}$ oznacza maksymalny ci\xB9g wyraz\xF3w wolnych w porz\xB9dku leksykograficznym. \end{itemize} \item ZIFW - zawiera w kolejnych wierszach: -\item identyfikator literowy typu funkcji, tj ZIFW, -\item trzy liczby (separowane spacj\xB9): liczba argument\xF3w, liczba warto\x9Cci argumentu i liczba warto\x9Cci funkcji, -\item kolejne wiersze zawieraj\xB9 zbiory sterowa\xF1 dla kolejnych warto\x9Cci funkcji -\item kreska (my\x9Clnik) oznacza warto\x9C\xE6 nieokre\x9Clon\xB9 (dowoln\xB9) + \begin{itemize} + \item identyfikator literowy typu funkcji, tj ZIFW, + \item trzy liczby (separowane spacj\xB9): liczba argument\xF3w, liczno\x9C\xE6 alfabetu wej\x9Cciowego oraz liczno\x9C\xE6 alfabetu wyj\x9Cciowego, + \item zbiory sterowa\xF1 dla kolejnych warto\x9Cci funkcji (my\x9Clnik oznacza warto\x9C\xE6 nieokre\x9Clon\xB9). + \end{itemize} \end{itemize} \item s\xB9siedztwo \begin{itemize} -\item N - Jest plikiem przeznaczonym do specyfikowania uk\xB3ad\xF3w s\xB9siedztwa, np. kolejno\x9Cci i po\xB3o\xBFenia s\xB9siad\xF3w kom\xF3rki. Ma on nast\xEApuj\xB9c\xB9 struktur\xEA: +\item N~--- Plik przeznaczony do specyfikowania uk\xB3adu s\xB9siedztwa, tj. kolejno\x9Cci i po\xB3o\xBFenia s\xB9siad\xF3w kom\xF3rki. W kolejnych wierszach zawiera: \begin{itemize} -\item Litera i cyfra: N{1,2,3} - identyfiktor pliku z rozmiarem przestrzeni s\xB9siad\xF3w; -\item do czterech liczb ca\xB3kowitych: \textit{W K S n} - okre\x9Clenie liczby wierszy, kolumn, \x9Ccian oraz s\xB9siad\xF3w. +\item Litera i cyfra: N{1,2,3} - identyfiktor pliku z rozmiarem przestrzeni s\xB9siad\xF3w, +\item do czterech liczb ca\xB3kowitych: $W K S n$ - okre\x9Clenie liczby wierszy, kolumn, \x9Ccian oraz s\xB9siad\xF3w, \item $W_{od} K_{od}, S_{od}$: pozycja odniesienia, od 0 (oznacza po\xB3o\xBFenie okna, lub miejsce zapisu jego wyniku). \end{itemize} -Pozosta\xB3e wiersze podaj\xB9 numery porz\xB9dkowe i rozmieszczenie s\xB9siad\xF3w w tablicy d-wymiarowej (liczby od 1 do n). Kolejno\x9C\xE6 \x9Ccian: \textit{s}=0, \textit{s}=1, ..., \textit{s}=\textit{S}-1. +Pozosta\xB3e wiersze podaj\xB9 numery porz\xB9dkowe i rozmieszczenie s\xB9siad\xF3w w tablicy $d$-wymiarowej (liczby od 1 do $n$). Kolejno\x9C\xE6 \x9Ccian: $s=0, s=1, ..., s=S-1$. \end{itemize} \item konfiguracja inicjalna \begin{itemize} -\item KI - Plik opisu konfiguracji inicjalnej. Poszczeg\xF3lne wiersze oddzielone s\xB9 znakami ko\xF1ca linii, \x9Cciany zaznaczone s\xB9 poprzez pust\xB9 lini\xEA w pliku. +\item KI~--- Plik opisu konfiguracji inicjalnej. Poszczeg\xF3lne wiersze oddzielone s\xB9 znakami ko\xF1ca linii, \x9Cciany zaznaczone s\xB9 poprzez pust\xB9 lini\xEA w pliku. \end{itemize} \end{itemize} Modified: trunk/qcell/doc/licenciate_thesis/chap4/chap4.tex =================================================================== --- trunk/qcell/doc/licenciate_thesis/chap4/chap4.tex 2007-02-17 02:04:27 UTC (rev 343) +++ trunk/qcell/doc/licenciate_thesis/chap4/chap4.tex 2007-02-17 03:19:21 UTC (rev 344) @@ -1,6 +1,6 @@ \chapterauthor{Cezary Krzy\xBFanowski}{Implementacja} \label{chap:imp} -Rozdzia\xB3 ten opisuje organizacj\xEA oraz techniczne aspekty zwi\xB9zane z~implementacj\xB9 symulatora. Znajduje si\xEA w~nim wykaz wykorzystanych narz\xEAdzi i~wzorc\xF3w programistycznych oraz jednostek programowych wchodz\xB9cych w~sk\xB3ad aplikacji. +Rozdzia\xB3 ten opisuje organizacj\xEA jednostek programowych oraz techniczne aspekty zwi\xB9zane z~implementacj\xB9 symulatora. Znajduje si\xEA w~nim wykaz wykorzystanych narz\xEAdzi i~wzorc\xF3w programistycznych oraz jednostek programowych wchodz\xB9cych w~sk\xB3ad aplikacji. \section{Stosowane narz\xEAdzia} \label{sec:sna} @@ -42,7 +42,7 @@ Modularn\xB9 organizacj\xEA programu zapewni\xB3a klasa \code{QtPlugin}. Do implementacji graficznej reprezentacji \ac{AK} u\xBFyto bibliotek OpenGL w~standardzie 1.1 (dla kompatybilno\x9Cci z~mo\xBFliwie najszersz\xB9 gam\xB9 uk\xB3ad\xF3w graficznych), opakowanych przez modu\xB3 \code{QtOpenGL}. \code{QtXML} zapewni\xB3 parser \ac{XML}. -Pozosta\xB3e elementy pakietu opieraj\xB9 si\xEA na g\xB3\xF3wnym module bibliotek \Qt{} (\code{QtCore}), implementuj\xB9cym podstawowe struktury og\xF3lnego u\xBFytku (listy, mapy, wektory), natomiast \ac{GUI} powsta\xB3o z~u\xBFyciem \code{QtGui}\citep{qt4}. +Pozosta\xB3e elementy pakietu opieraj\xB9 si\xEA na g\xB3\xF3wnym module bibliotek \Qt{} (\code{QtCore}), implementuj\xB9cym podstawowe struktury og\xF3lnego u\xBFytku (listy, mapy, wektory). Interfejs graficzny \ac{GUI} powsta\xB3 natomiast z~u\xBFyciem \code{QtGui}\citep{qt4}. \section{Og\xF3lna organizacja programu} \label{sec:asy} @@ -151,12 +151,12 @@ \end{table} \begin{enumerate} - \item Okno g\xB3\xF3wne aplikacji~--- implementowane przez \code{MainWindow}. Definiuje rozmieszczenie poszczeg\xF3lnych element\xF3w interfejsu oraz po\x9Credniczy w~przekazywaniu zdarze\xF1, generowanych przez u\xBFytkownika, mi\xEAdzy elementami podrz\xEAdnymi a~j\xB9drem logicznym\citep{iowp} (por. \ref{subsec:jjl}). - \item Obs\xB3uga trybu wy\x9Cwietlania. Klasy, kt\xF3rych nazwy ko\xF1cz\xB9 si\xEA s\xB3owem ,,Tools'' implementuj\xB9 przyborniki z~narz\xEAdziami do obs\xB3ugi konkretnego trybu wy\x9Cwietlania. Dla przyk\xB3adu pliki View3DTools.h oraz\\View3DTools.cpp opisuj\xB9 elementy \ac{GUI} do sterowania trybem 3D (por \ref{subsec:rfp}). + \item {\bf Okno g\xB3\xF3wne aplikacji}~--- implementowane przez \code{MainWindow}. Definiuje rozmieszczenie poszczeg\xF3lnych element\xF3w interfejsu oraz po\x9Credniczy w~przekazywaniu zdarze\xF1, generowanych przez u\xBFytkownika, mi\xEAdzy elementami podrz\xEAdnymi a~j\xB9drem logicznym\citep{iowp} (por. \ref{subsec:jjl}). + \item {\bf Obs\xB3uga trybu wy\x9Cwietlania}. Klasy, kt\xF3rych nazwy ko\xF1cz\xB9 si\xEA s\xB3owem ,,Tools'' implementuj\xB9 przyborniki z~narz\xEAdziami do obs\xB3ugi konkretnego trybu wy\x9Cwietlania. Dla przyk\xB3adu pliki View3DTools.h oraz\\View3DTools.cpp opisuj\xB9 elementy \ac{GUI} do sterowania trybem 3D (por \ref{subsec:rfp}). \item Wy\x9Cwietlanie \ac{RE}. Do wy\x9Cwietlania \ac{RE} s\xB3u\xBFy \code{ElementalRulesWidget}, kt\xF3ra wizualizuje dane zebrane przez \code{ElementalRules} (por. \ref{subsec:jmo}). - \item Okienko dialogowe~--- zaimplementowane w~pliku RuleProperties.cpp pozwala ustawia\xE6 regu\xB3y interpretacyjne dla zebranych \ac{RE}. - \item Wy\x9Cwietlanie \ac{FL}. Do wy\x9Cwietlania \ac{FL} s\xB3u\xBFy specjalizowany element \ac{GUI} zaimplementowany w pliku FunctionTable.cpp. - \item Wy\x9Cwietlanie wszystkich tryb\xF3w (por. \ref{subsubsec:twy}) realizowane jest przy pomocy \code{simulationWindow}. + \item {\bf Okienko dialogowe}~--- zaimplementowane w~pliku RuleProperties.cpp pozwala ustawia\xE6 regu\xB3y interpretacyjne dla zebranych \ac{RE}. + \item {\bf Wy\x9Cwietlanie \ac{FL}}. Do wy\x9Cwietlania \ac{FL} s\xB3u\xBFy specjalizowany element \ac{GUI} zaimplementowany w pliku FunctionTable.cpp. + \item {\bf Wy\x9Cwietlanie wszystkich tryb\xF3w}(por. \ref{subsubsec:twy})~--- realizowane jest przy pomocy \code{simulationWindow}. \end{enumerate} Diagram wsp\xF3\xB3pracy \ac{GUI} przedstawiony zosta\xB3 na rysunku \ref{fig:gui}. @@ -188,8 +188,8 @@ \end{table} \begin{enumerate} - \item Interfejs komunikacji mi\xEAdzy modu\xB3em j\xB9dra logicznego a~baz\xB9~--- znajduje si\xEA w~plikach St... [truncated message content] |