Cieľom projektu je navrhnúť a implementovať komplexnú knižnicu pre agentovo orientovanú simuláciu, ktorá bude voľne k dispozícií študentom a zamestnancom FRI ŽU. Postupne budú vytvorené agentové simulačné jadrá pre všetky najčastejšie používané počítačové jazyky. Pre každé simulačné jadro bude napísaný manuál, ktorý umožní jeho bezproblémové využívanie a tiež viacero ukážkových simulačných modelov. Po vybudovaní základnej funkčnosti budú pridávané sofistikovanejšie funkcie (simulovanie pomocou „actorov“, viacvláknová simulácia, distribuovaná simulácia...).
Úlohou projektu bude:
- navrhnúť rozhranie a model pre agentové simulačné jadro,
- implementácia simulačného jadra vo viacerých počítačových jazykoch,
- vypracovanie viacerých vzorových simulačných modelov,
- napísanie podrobnej dokumentácie a manuálu pre simulačné jadrá.
V priebehu práce na projekte získa študent podrobné vedomosti o návrhu, tvorbe a implementácií simulačných modelov. Oboznámi sa s problematikou tvorby komplexných simulačných modelov a bude detailne poznať princíp fungovania simulácií založených na agentovom prístupe.
Témy diplomových prác budú súvisieť s témou projektu a budú závisieť na aktuálnom stave projektu a záujmu študentov o konkrétnu oblasť simulácie.
V akademickom roku 2018/2019 je k dispozícií vypracované agentové simulačné jadro pre jazyk Java a C#, ktoré je používané študentami pri výučbe predmetu Diskrétna simulácia. taktiež je implementovaný simulačný CASE (Computer-aided software engineering)
nástroj pre simulačnú knižnicu ABAsim (Agent-Based Architecture of
simulation model). Vytvorený nástroj umožňuje pohodlne vytvoriť a neskôr
doplniť model simulačných agentov, definovať správanie agentov pomocou
Petriho siete a generovať príslušný programový kód. V ďalších rokoch sa predpokladá pokračovanie projektu implementáciou podpory pre distribuovanú simuláciu, animovanie simulačných behov, prípadne implementáciou simulačného jadra v iných jazykoch spolu... Zadelenie jednotlivých činností bude závisieť aj od záujmov prihlásených študentov.