JUDA, J. Prostředí pro podporu modelů formálních jazyků [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2023.

Posudky

Posudek vedoucího

Křivka, Zbyněk

Student pracoval samostatně a stěžejní části vždy konzultoval. Výsledek splnil základní očekávání, ale nejsem si vědom nějakého zásadního rozšíření či vylepšení.

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Informace k zadání Zadání práce považuji za průměrně náročné a skýtající dostatek prostoru pro různá vylepšení a rozšíření.
Práce s literaturou Student využil literaturu doporučenou vedoucím a dále sám dohledal literaturu k zvažovaným/využitým technologiím.
Aktivita během řešení, konzultace, komunikace Student začal na tématu pracoval již minulý akademický rok a po přerušení navázal již v průběhu zimního semestru. Aktivita byla proměnlivá podle vytížení ostatní výukou. Po větší aktivitě v říjnu a prosinci následovala delší konzultační odmlka do března, kdy již měl implementované jádro a ukázkový modul.
Aktivita při dokončování V průběhu dubna student demonstroval implementovaný rámec s jedním modulem a dopracoval dle konzultace další. Téměř finální text jsem měl možnost připomínkovat a připomínky student zapracoval.
Publikační činnost, ocenění Vedoucímu není známo, ale výsledky rámec by měl být rozšiřitelný v rámci dalších studentských prací v režimu studentského díla.
Navrhovaná známka
C
Body
78

Posudek oponenta

Kocman, Radim

Práce představuje zajímavé a promyšlené prostředí pro podporu výzkumu modelů formálních jazyků. Výborně je zpracována technická zpráva. Kvalitu práce však sráží chyby v implementovaných modulech a špatná praktická využitelnost systému se současným stavem modulů. Celkově proto navrhuji hodnotit práci stupněm C (75 bodů).

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Náročnost zadání Obtížnost zadání spočívala v nutnosti pochopení pokročilých modelů formálních jazyků, které jsou běžně probírány až v rámci doktorského studia, a využití nabytých znalostí při návrhu a implementaci prostředí pro podporu experimentování nad těmito modely.
Rozsah splnění požadavků zadání Všechny body zadání jsou v předložené práci splněny. U bodu 3 mám sice pocit, že je počet implementovaných dostatečně rozdílných algoritmů nižší, než by si představovalo zadání, ale na druhou stranu je v práci zavedeno více odlišných formálních modelů.
Rozsah technické zprávy Rozsah technické zprávy je odpovídající a přiměřený.
Prezentační úroveň technické zprávy 90 Technická zpráva je dobře členěna, samotný text je psán čtivě a srozumitelně. Formální matematické definice jsou prezentovány přesně a téměř bez chyb. Vše je doplněno názornými příklady.
Formální úprava technické zprávy 80 Po typografické i jazykové stránce je práce na dobré úrovni.
Práce s literaturou 80 Celkem je uvedeno 11 studijních pramenů a všechny jsou relevantní k tématu diplomové práce. Vlastní výsledky studenta jsou v práci řádně odlišeny. Literatura je citována dle příslušných norem.
Realizační výstup 60 Nejdříve bych ohodnotil samotný modulární systém, který by měl sloužit pro experimentální implementace algoritmů nad pokročilými formálními modely. Návrh tohoto systému se zdá být promyšlený a funkční. Zároveň je vše definováno i velmi obecně tak, aby šlo do systému přidávat další typy nestandardních gramatik a automatů. Implementace jádra systému se zdá být v pořádku. Samotný kód je dobře strukturován i komentován. Pro praktické využití se trochu obávám toho, že pro rychlé experimentování s modely je systém až příliš robustní a místo rozšiřování systému tak bude pro nezasvěceného uživatele jednodušší si pro svůj experiment napsat jednoduchý jednoúčelový skript. To by se mohlo změnit, pokud by v systému již bylo předpřipraveno dostatečné množství modulů a uživatel by tak mohl většinu věcí pouze vzít a menší část si doplnit. Se současným stavem samotných modulů je to ale v práci horší. Implementovány jsou pouze opravdu základní věci. Při zběžném testování jsem také narazil na několik problémů, které nejspíše souvisí s tím, že student fungování pokročilých modelů dostatečně nekonzultoval s vedoucím práce: Modul pro Watson-Crick automaty se snaží kontrolovat zadaná pravidla automatu podle komplementární relace (str. 48). Nevím, jak k tomuto student došel, ale je to něco, s čím daný model v tomto kontextu vůbec nepracuje (resp. nijak pravidla neomezuje). U popisu skákajících konečných automatů student prezentuje regulární výraz, který by měl generovat stejný jazyk jako ukázkový automat (str. 50). Tento regulární výraz ale např. nepřijme vstup "aabcbc" i když automat ano. Do implementace modulu se tento problém nepromítá, ale netestoval jsem vše detailně, takže případné další nesrovnalosti chování modelů nemohu vyloučit. Systém by měl pomocí přepínače "--all" umět vypsat všechny způsoby, jakým může model a algoritmus dojít k výsledku. Při testování mi ale toto fungovalo pouze pro bezkontextovou gramatiku, ostatní modely automatů vypsaly vždy pouze první nalezené řešení. Bez funkčního přepínače nelze rozumně otestovat efekt heuristik zpracování, které student popisuje u modulu pro skákající konečný automat. Souhrnně dávám za realizační výstup 60 bodů.
Využitelnost výsledků Výsledkem práce je nový rozšiřitelný modulární systém sloužící pro experimentální implementace algoritmů nad pokročilými modely formálních jazyků. Hotové je ale primárně jen jádro modulárního systému s tím, že samotné pokročilejší moduly vytvoří až navazující práce. Bez doplnění modulů není systém zatím připravený pro praktické využití.
Navrhovaná známka
C
Body
75

Otázky

eVSKP id 148305