////////////////////////////////////////////////////////////////////////////
// Model MODEL2.CPP SIMLIB/C++
//
// Ukázkový model jednoduchého obslužného střediska
//
#include "simlib.h"
// deklarace globálních objektů
Facility Box("Linka");
Histogram Tabulka("Tabulka",0,25,20);
class Zakaznik : public Process { // třída zákazníků
double Prichod; // atribut každého zákazníka
void Behavior() { // --- popis chování zákazníka ---
Prichod = Time; // čas příchodu zákazníka
Seize(Box); // obsazení zařízení Box
Wait(10); // obsluha
Release(Box); // uvolnění
Tabulka(Time-Prichod); // doba obsluhy a čekání
}
};
class Generator : public Event { // generátor zákazníků
void Behavior() { // --- popis chování generátoru ---
(new Zakaznik)->Activate(); // nový zákazník, aktivace v čase Time
Activate(Time+Exponential(1e3/150)); // interval mezi příchody
}
};
int main() { // popis experimentu s modelem
Print(" MODEL2 - příklad SIMLIB/C++\n");
SetOutput("model2.out");
Init(0,1000); // inicializace experimentu, čas bude 0..1000
(new Generator)->Activate(); // generátor zákazníků, jeho aktivace
Run(); // simulace
Box.Output(); // tisk výsledků
Tabulka.Output();
return 0;
}
// konec
syntax highlighted by Code2HTML, v. 0.9.1