04.11.2014 Views

elektronická verzia publikácie - FIIT STU - Slovenská technická ...

elektronická verzia publikácie - FIIT STU - Slovenská technická ...

elektronická verzia publikácie - FIIT STU - Slovenská technická ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

82 Štúdie vybraných tém programových a informaných systémov<br />

3. možnos využi pri tvorbe systému už existujúcu implementáciu jednotlivých krokov<br />

spracovania, prípadne naopak, opakovane použi implementáciu jednotlivých krokov<br />

spracovania v nových kontextoch.<br />

Predpokladom pre použitie tohto architektonického vzoru je, že požadované spracovanie<br />

údajov môžeme rozdeli na postupnos krokov spracovania, a to tak, že nesusedné kroky<br />

spracovania nezdieajú informácie – t.j. komunikácia v systéme je obmedzená na odovzdávanie<br />

informácií smerom od daného kroku spracovania k jeho nasledovníkovi (v niektorých<br />

prípadoch nasledovníkom) v postupnosti krokov spracovania.<br />

Systém založený na architektúre Dátovody a filtre pozostáva z nasledujúcich druhov<br />

súiastok (Buschmann, 1996). Prvé dva predstavujú vstup a výstup vytváraného systému,<br />

posledné dva tvoria jeho vnútornú štruktúru.<br />

1. Zdroj údajov (angl. data source) – predstavuje zdroj, ktorý obsahuje alebo generuje<br />

údaje urené na spracovanie systémom, napr. súbor, klávesnica, senzor, sieové spojenie.<br />

2. Dátový spotrebi (angl. data sink) – predstavuje cie, kam sú údaje po spracovaní systémom<br />

odoslané, napr. súbor, obrazovka, databázová tabuka, sieové spojenie.<br />

3. Filter (angl. filter) – predstavuje jeden krok spracovania. Filter má zvyajne jeden<br />

vstup, z ktorého prijíma prichádzajúce údaje. Tieto údaje spracuje a pošle zvyajne<br />

na jeden výstup. Existujú varianty tohto vzoru, kedy filter môže ma viac vstupov,<br />

resp. viac výstupov. Filter zvyajne nemá vnútorný stav, teda spracovanie prichádzajúcich<br />

údajov je typicky závislé len od týchto údajov.<br />

Príkladmi úloh vykonávaných filtrami sú transformácia údajov, doplnenie údajov informáciami<br />

odvodenými z týchto údajov prípadne z externého zdroja, odstránenie<br />

asti údajov, usporiadanie údajov (táto operácia vyžaduje vnútorný stav filtra)<br />

a podobne.<br />

Množina filtrov môže by realizovaná programovým kódom v rámci jedného procesu<br />

(kedy jednotlivé filtre sú realizované procedúrami, funkciami alebo metódami tried<br />

v programovacom jazyku), ale aj programovým kódom distribuovaným vo viacerých<br />

procesoch, i už na jednom alebo rôznych poítaoch v poítaovej sieti. Jednotlivé<br />

filtre sú vtedy implementované v samostatných procesoch.<br />

4. Dátovod (angl. pipe) – spája jednotlivé filtre, resp. zdroj údajov s prvým filtrom<br />

v postupnosti spracovania a posledný filter v postupnosti spracovania s dátovým<br />

spotrebiom. Dátovody môžu by realizované prostriedkami v rámci jedného procesu<br />

(napríklad volaním procedúry, funkcie, resp. metódy), prostriedkami medziprocesovej<br />

komunikácie v rámci jedného poítaa (napríklad dátovody na úrovni operaného<br />

systému) alebo prostriedkami medziprocesovej komunikácie v rámci poítaovej siete<br />

(napríklad TCP sokety).<br />

Dátovody v prípade potreby zabezpeujú synchronizáciu medzi úastníkmi komunikácie,<br />

t.j. ukladajú správy v rade, kým ich príslušná komunikujúca strana neprevezme.<br />

Vzor predpokladá neobmedzenú kapacitu vyrovnávacej pamäte (angl. buffer) dátovodu.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!