Přístupnostní navigace
E-application
Search Search Close
Bachelor's Thesis
Author of thesis: Aleksandr Kasianov
Acad. year: 2025/2026
Supervisor: Dr. Ing. Petr Peringer
Reviewer: doc. Ing. Vladimír Janoušek, Ph.D.
This bachelor thesis presents the design and implementation of a discrete-event simulation library written in C++23, with support for both native real-time visualisation through SDL2 and Dear ImGui and browser deployment via WebAssembly. The thesis first surveys existing libraries (SimPy, OMNeT++, JaamSim, SIMLIB/C++, Arena, AnyLogic) and characterises their modelling paradigms and visualisation modalities. The design and implementation of LDS are then described, including an explicit-state-machine process model chosen for WebAssembly compatibility, the event scheduler, the resource and statistics primitives, and the visualisation layer. The thesis closes with an evaluation of the library on a set of demonstration models and a comparison of its performance across native compilers and Emscripten.
discrete simulation, C++, library, visualization, WebAssembly, browser, SDL2, ImGui, Emscripten
Date of defence
19.06.2026
Result of the defence
Defended (thesis was successfully defended)
Grading
D
Process of defence
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm D.
Topics for thesis defence
Language of thesis
English
Faculty
Fakulta informačních technologií
Department
Department of Intelligent Systems
Study programme
Information Technology (BIT)
Composition of Committee
prof. RNDr. Alexandr Meduna, CSc. (předseda) prof. Ing. Martin Čadík, Ph.D. (místopředseda) Ing. Jaroslav Rozman, Ph.D. (člen) Ing. Zbyněk Křivka, Ph.D. (člen) Ing. Lukáš Kekely, Ph.D. (člen)
Supervisor’s reportDr. Ing. Petr Peringer
Aktivita studenta byla celou dobu minimální, prakticky nic nekonzultoval, o postupu práce neinformoval a text práce jsem téměř nemohl ovlivnit. Tento přístup hodnotím velmi negativně. Nicméně práce byla nakonec odevzdána včas. Z těchto důvodů navrhuji pouze minimální hodnocení stupněm E.
Zadání považuji za průměrně obtížné, je zaměřeno na diskrétní simulaci v moderním C++ a základní vizualizaci modelů systémů hromadné obsluhy. Výsledek se neodvažuji hodnotit z hlediska originality - ve zdrojovém kódu nikde není identifikace autora a postup vytváření jsem nemohl průběžně sledovat (viz dále).
Literaturu si student vyhledával zcela samostatně.
Aktivita studenta byla velmi podprůměrná - prakticky nekomunikoval po celo dobu řešení a to ani e-mailem. Jediná konzultace v letním semestru se týkala textu práce a proběhla týden před odevzdáním.
Úplný text práce jsem viděl poprvé 4 dny před odevzdáním, proto jsem v podstatě neměl možnost do něj zasahovat.
-
Grade proposed by supervisor: E
Reviewer’s reportdoc. Ing. Vladimír Janoušek, Ph.D.
Jde o kvalitně zpracované technické dílo s použitelným realizačním výstupem.
Evaluation level: obtížnější zadání
Zadání vyžaduje nastudovat principy diskrétní simulace a existující knihovny a jiné nástroje, následně pak navrhnout a implementovat vlastní knihovnu v moderním C++23, včetně vizualizační vrstvy, zajistit její multiplatformní přenositelnost včetně WebAssembly a vytvořit demonstrační i validační scénáře.
Práce je logicky strukturovaná a jednotlivé kapitoly na sebe dobře navazují. Teoretická část systematicky zavádí terminologii diskrétní simulace, modelovací paradigmata a principy plánování událostí, které jsou následně využity při návrhu knihovny. Pozitivně hodnotím přehled existujících nástrojů i diskusi omezení WebAssembly. Implementační část je technicky kvalitní a obsahuje relevantní detaily.
Slabší stránkou práce je místy až přílišná detailnost některých implementačních pasáží, které zabírají relativně mnoho prostoru na úkor možné hlubší diskuse alternativních variant řešení.
Typografická i jazyková úroveň práce je velmi dobrá. Text je psán srozumitelně, terminologie je používána správně a stylistická úroveň je na vysoké úrovni. Drobným nedostatkem je, že místy je text zbytečně „hustý“ a obtížněji čitelný.
Realizační výstup představuje technicky kvalitní implementaci diskrétní simulační knihovny. Architektura je promyšlená, modulární a konzistentní. Velmi pozitivně hodnotím validační část proti analytickým výsledkům M/M/1 a M/M/c systémů.
Kritičtější pohled si zaslouží ergonomie modelovacího API. Explicitní stavový stroj s ručně spravovanými stavy je sice technicky obhajitelný vzhledem k omezením WebAssembly, ale z pohledu použitelnosti vede ke komplikovaným modelům. Uvítal bych hlubší analýzu alternativních možností.
Dále chybí hlubší diskuse paměťové režie a škálovatelnosti při velmi vysokých počtech procesů.
Výsledkem je funkční a relativně rozsáhlá implementace vlastní DES knihovny s unikátní kombinací vlastností: C++23, procesní simulace, běh ve web browseru a real-time vizualizace. Výsledky jsou prakticky použitelné.
Evaluation level: zadání splněno
Zadání bylo splněno ve všech bodech.
Evaluation level: je v obvyklém rozmezí
48 stran v LaTexu.
Autor používá relevantní a odborně kvalitní zdroje pokrývající jak klasickou literaturu diskrétní simulace, tak moderní technické zdroje týkající se WebAssembly, C++ coroutine mechanismů a konkrétních knihoven. Citace jsou v textu používány korektně a v odpovídajícím kontextu.
Pozitivně hodnotím i explicitní přiznání využití AI asistenta pro jazykovou korekci a rešeršní podporu.
Grade proposed by reviewer: B
Responsibility: Mgr. et Mgr. Hana Odstrčilová