ZATLOUKAL, J. Modelování komunikací pro automatizaci [online]. Brno: Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií. 2013.
Student přistupoval k řešení práce aktivně, samostatně nastudoval problematiku a navrhl vlastní řešení. Pravidelně konzultoval, pracoval samostatně. Provedl značné množství experimentů, některé modely, které vytvořil a otestoval, byly nad rámec zadání. Prokázal dobrou orientaci v problematice a velmi kladně hodnotím, že sám dokázal z výsledků rozpoznat nesrovnalosti a odpovídajícím způsobem upravit modely. Student řešil bakalářskou práci pouze jeden semestr, semestrální projekt zpracovával na jiné téma. Při řešení práce prokázal bakalářské schopnosti, a proto navrhuji hodnocení výborně/A.
Předložená bakalářská práce se zabývá modelováním komunikačních protokolů užívaných v automatizaci. Výběr tématu i jeho náročnost odpovídají požadavkům kladené na bakalářské práce. Úvodní část práce se v kapitole 2 zabývá popisem simulačního nástroje OMNET++ a v kapitole 3 metodami přístupu k médiu. Svým krátkým rozsahem 3,5 strany tyto kapitoly jen stěží pokrývají rešeršní část bakalářské práce. Například popis metod přístupu ke společnému médiu je skutečně nejkoncentrovanější esencí, jakou si lze v této oblasti představit. Čtenáři tak autor neposkytne ani náznak toho, že v reálném světě se sítě skládají z uzlů, tyto uzly tvoří fyzické a logické topologie, sdílejí stejné fyzické přenosové médium a kvůli tomu je nutné zajistit vhodný mechanismus jejich koexistence. Zkratkovitá a do koncepce nezasazená tvrzení tak působí nelogicky a místy ani nedávají smysl. Např. hned první věty kapitol 3.2. nebo 3.3. Nebo úvodní věta kapitoly 3.4, kde autor popisuje Persistent CSMA metodu, platí přece obecně pro všechny přístupové metody a zdaleka tak nevystihuje podstatu této přístupové metody. Uvedením této problematiky pomocí standardního OSI modelu, zejména jeho fyzické a linkové vrstvy, tak zůstává jen zbožným přáním čtenáře. Ve zkratkovitém a nesystematickém přístupu autor bohužel pokračuje i v následujících kapitolách, zabývajících se popisem modelu a simulacemi. Např. ve druhém odstavci kapitoly 4 se dozvídáme, že počet uzlů a adresu přijímacího uzlu je možné nastavit pomocí parametrů „pocetUzlu“ a „adrPrijimace“. Nedozvíme se už ale, v jakém souboru tyto parametry máme hledat a jaké mají rozsahy. Zdaleka se to však netýká pouze těchto parametrů. Ostatně systematický popis struktury souborů modelu uvedeného v příloze 1 v práci postrádám zcela. Zatímco zpráva sloužící ke komunikaci uvnitř uzlu je v kapitole 4.1 popsána detailně až na jednotlivé datové položky, paketová zpráva pro přenos dat mezi uzly má dle popisu autora shodné členy, jako předchozí, leč vychází ze třídy „cPaket“, o které již ale v práce není nikde ani zmínka. Jen mimoděk se dozvíme, že pro tuto zprávu je možné nastavit její délku v bitech. Jak to ale souvisí, pokud vůbec, s položkou „data“ ( typ double) jednoduché zprávy uvnitř modulu, tak zůstává nevysvětleno. Při popisu jednotlivých modulů, z nichž se skládá uzel a celá síť, autor operuje s termíny jako zpráva, paket, signál, událost, aniž by u všech podal jejich vysvětlení a vztah k simulátoru. Popis MAC vrstvy modulu realizujícího TDMA přístup (kapitola 4.4.1) jsem nepochopil ani po několikerém přečtení; a to si na rozdíl od mých kolegů nemyslím, že je to dáno přirozeným procesem stárnutí. Přiložené zdrojové kódy jsem prozkoumal s ohledem na lepší porozumění, kterého se mi nedostalo při čtení mnohých pasáží práce. Bohužel tyto obsahují jen naprosté minimum komentářů a krom toho v nich autor vytváří konstrukce, které jsou problematické. Například systematicky pomíjí možnost selhání operátoru new a bez skrupulí operuje s předaným ukazatelem, aniž by mechanismem výjimek ošetřil platnost objektu alokovaného v haldě. Nebo naopak ignoruje dealokaci dynamicky alokovaných objektů. Jeden příklad za všechny: v metodě ALOHA::poslatDoBufferu(int kod) v modulu ALOHA.cc, vytváří lokální proměnnou msg a tuto alokuje v haldě. Při opuštění metody, a zániku ukazatele msg, však alokované místo nechává v haldě, protože ani destruktor třídy ani členské metody dealokaci neprovedou. Lze jen hádat, co takové zacházení s haldou při častém generování a posílání zpráv se simulací udělá; zejména při absenci ošetření výjimek. Kladně hodnotím dosažené výsledky v simulacích. Přestože byly buffery v jednotlivých uzlech limitovány na velikost jen jedné zprávy (zřejmě implementační důvody), simulace odpovídají matematickým modelům jednotlivých přístupových metod, s nimiž autor provedl korektní srovnání. Vysoce kladně též hodnotím srovnání autorem vytvořeného modelu s reálnými daty dodanými vedoucím práce. Naměřené a simulované výsledky jsou ve shodě. I když i zde se autor dopouští celé řady zkratkovitých vyjádření a neváhá operovat s termíny jako je přesnost práce modelu a výkon modelu bez bližšího vysvětlení těchto pojmů. Chybné odkazy (např. v kapitole 4.2), miniatury obrázků, z nichž lze něco vyčíst jen s dobrou lupou (obr. 2, 6, 7, …), nekompletní digramy (vývojový diagram ”Generátoru zpráv a bufferu“ neobsahuje větev pro dotaz „Buffer volny?“), nesprávné a nekonzistentní používaní jednotek a veličin jen dokresluje nízkou úroveň textové části práce. Domnívám se, že autor dozajista projevil schopnost proniknout do problematiky simulací komunikačních systémů. Též je schopen kriticky zhodnotit získané výsledky a zasadit je do kontextu dané problematiky. O jeho schopnosti dosažené výsledky srozumitelně popsat mám však vážné pochyby a proto hodnotím jeho práci stupněm C, jsa si vědom toho, že při vhodné volbě povolání nemusí tento jeho nedostatek být na překážku jeho tvůrčím schopnostem.
eVSKP id 66403