View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide

Zadání projektu SNT 2023/24

Cíl

Cílem projektu je:

Transakce (proces) v událostně řízené simulaci

Uvažujme třídu Process s interním atributem "int state" vyjadřujícím stav procesu (proces se nachází ve stavu 0, 1, 2, atd). Chování procesu je rozděleno do obsluhy jeho chování v jednotlivých stavech (např. proces vznikl, proces vystoupil z fronty, proces dokončil čekání, ...).
class Process {
   int state = 0;

   // aktivace procesu
   void Behavior() {
      switch (state) {
         case 0: 
            // znovu aktivuj za 10 casovych jednotek
            // proces se dostane do stavu "1"
            Wait(10, 1)
            break;
         case 1: 
            // dokonceno Wait(10). Naplanuj dalsi akci zabrani linky F. Pokud
            // je linka volna, zaber ji a naplanuj dalsi akci
            // pokud byla linka zabrana, pak je proces umisten do fronty a bude jednou reaktivovan do stavu "2"
            if (F.Seize(this, 2) == true) {
                // naplanuj do stavu "2", pripadne rovnou proved akci spojenou se stavem "2"
                Activate(2);
            }
           break;
         case 2:
            // mam linku, zapocni praci ...
      }
   }
}


Funkce knihovny simulátoru

Knihovna nechť obsahuje:

Demonstrační příklad

Systém hromadné obsluhy s generováním transakcí. Nejméně dvě obslužné linky (F1, F2, ...). Transakce přistoupí (postupně) ke všem linkám (obsluha na první lince, pak na druhé, atd).

Technická zpráva

Zpráva nechť obsahuje:

Link to this Page