next up previous contents
Next: Výstupy modelu Up: Struktura simulačního programu Previous: Vytváření a rušení objektů

Řízení simulace

Ří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.



Petr Peringer
Mon Dec 8 13:24:19 CET 1997