Řízení simulačního experimentu popisuje funkce main
. Zde se
provádí inicializace modelu, vytvoření objektů modelu a jejich
aktivace (tj. start procesů, které probíhají uvnitř objektů).
Prototypová verze popisu experimentu je uvedena v příkladu:
int main() { <příkazy1> Init(<počáteční čas>,<koncový čas>); <příkazy2> Run(); <příkazy3> return 0; }
Na počátku funkce main
lze provést příkazy, nesouvisející přímo
s modelem a jeho inicializací (příkazy1). Zde je vhodné
otevřít výstupní soubor, případně zobrazit úvodní informace
o modelu.
Funkce Init
zahajuje inicializační fázi experimentu. Nastaví
počáteční modelový čas a zaznamená koncový čas pro simulaci.
Zároveň inicializuje všechny objekty systému pro řízení simulace
(např. kalendář). V této fázi experimentu uživatel inicializuje
svoje objekty (příkazy2). Typickým příkazem v této části
popisu experimentu je vytvoření, inicializace a aktivace objektů
modelu.
Potom následuje vlastní simulační běh vyvolaný funkcí Run
. Po
ukončení simulace následuje obvykle tisk a vyhodnocování
výsledků experimentu (příkazy3).
Posloupnost Init(); <příkazy2> Run(); <příkazy3>
lze
mnohokrát opakovat v cyklu s různými parametry modelu, což je
vhodné především pro optimalizační experimenty. Je však
zapotřebí opatrnosti při inicializaci objektů modelu tak, aby
výchozí stav nebyl ovlivněn předchozí simulací, pokud to není
žádoucí. Musí se inicializovat všechny objekty modelu, systém
řízení simulace inicializuje pouze kalendář událostí, seznam pro
WaitUntil
a svůj stav.