model2.cc
////////////////////////////////////////////////////////////////////////////
// Model model2.cc                SIMLIB/C++
//
// Simple test model of queuing system 
//
#include "simlib.h"
// global objects:
Facility  Box("Box");
Histogram Table("Table",0,25,20);
class Customer : public Process { 
  double Prichod;                 // atribute of each customer
  void Behavior() {               // --- behavoir specification ---
    Prichod = Time;               // incoming time
    Seize(Box);                   // start of service
    Wait(10);                     // time of service
    Release(Box);                 // end of service
    Table(Time-Prichod);          // waiting and service time
  }
};
class Generator : public Event {  // model of system's input
  void Behavior() {               // --- behavior specification ---
    (new Customer)->Activate();   // new customer
    Activate(Time+Exponential(1e3/150));  //
  }
};
int main() {                 // experiment description
  Print(" model2 - SIMLIB/C++ example\n");
  SetOutput("model2.out");
  Init(0,1000);              // experiment initialization for time 0..1000
  (new Generator)->Activate(); // customer generator
  Run();                     // simulation
  Box.Output();              // print of results
  Table.Output();
  return 0;
}
model2.out
+----------------------------------------------------------+
| FACILITY Box                                             |
+----------------------------------------------------------+
|  Status = BUSY                                           |
|  Time interval = 0 - 1000                                |
|  Number of requests = 100                                |
|  Average utilization = 0.993702                          |
+----------------------------------------------------------+
  Input queue 'Box.Q1'
+----------------------------------------------------------+
| QUEUE Q1                                                 |
+----------------------------------------------------------+
|  Time interval = 0 - 1000                                |
|  Incoming  153                                           |
|  Outcoming  98                                           |
|  Maximal length = 55                                     |
|  Average length = 33.4586                                |
|  Minimal time = 4.15499                                  |
|  Maximal time = 396.788                                  |
|  Average time = 231.744                                  |
+----------------------------------------------------------+
+----------------------------------------------------------+
| HISTOGRAM Table                                          |
+----------------------------------------------------------+
+----------------------------------------------------------+
| STATISTIC Table                                          |
+----------------------------------------------------------+
|  Min = 10                      Max = 401.78              |
|  Number of records = 99                                  |
|  Average value = 235.396                                 |
+----------------------------------------------------------+
+------------+------------+----------+----------+----------+
|    from    |     to     |     n    |   rel    |   sum    |
+------------+------------+----------+----------+----------+
|      0.000 |     25.000 |       7  | 0.070707 | 0.070707 |
|     25.000 |     50.000 |       6  | 0.060606 | 0.131313 |
|     50.000 |     75.000 |       5  | 0.050505 | 0.181818 |
|     75.000 |    100.000 |       3  | 0.030303 | 0.212121 |
|    100.000 |    125.000 |       6  | 0.060606 | 0.272727 |
|    125.000 |    150.000 |       4  | 0.040404 | 0.313131 |
|    150.000 |    175.000 |       4  | 0.040404 | 0.353535 |
|    175.000 |    200.000 |       5  | 0.050505 | 0.404040 |
|    200.000 |    225.000 |       3  | 0.030303 | 0.434343 |
|    225.000 |    250.000 |       3  | 0.030303 | 0.464646 |
|    250.000 |    275.000 |       6  | 0.060606 | 0.525253 |
|    275.000 |    300.000 |       5  | 0.050505 | 0.575758 |
|    300.000 |    325.000 |       3  | 0.030303 | 0.606061 |
|    325.000 |    350.000 |       8  | 0.080808 | 0.686869 |
|    350.000 |    375.000 |      20  | 0.202020 | 0.888889 |
|    375.000 |    400.000 |      10  | 0.101010 | 0.989899 |
|    400.000 |    425.000 |       1  | 0.010101 | 1.000000 |
|    425.000 |    450.000 |       0  | 0.000000 | 1.000000 |
|    450.000 |    475.000 |       0  | 0.000000 | 1.000000 |
|    475.000 |    500.000 |       0  | 0.000000 | 1.000000 |
+------------+------------+----------+----------+----------+
Last modification: 
 
If you have some suggestions to improve this page, please mail to 
peringer AT fit.vutbr.cz