Složitější systémy hromadné obsluhy
Co se nehodí do škatulek Čekárna u zubaře s předem objednanými zákazníky. Dámské toalety ve škole (přestávky) Pokladny v Albertu Celý proces nakupování v Albertu Fronta na košíky Fronta u pultu Rozhodování o frontě Fronta u pokladen
Fotografický ateliér Fotograf fotografuje zákazníky, kteří přišli do čekárny (Markovovský proces, přibližně 1 zákazník za 15 min). Fotografování trvá 5-6 min + příprava zákazníka 2-7 min (rovnoměrné rozdělení). Není-li v čekárně zákazník a má-li fotograf alespoň 10 nevyvolaných snímků, odchází na 10 minut do temné Komory. Po výstupu z Komory, je-li čekárna prázdná, jde na 15 minut odpočívat. Pak se vrací k obsluze zákazníků.
Prvky systému Aktivity (activity) Fronty (queue) Zdroj a hřbitov entit (pool) Výhybky (switch)
Diagram systému pZak Atelier qZak
Diagram systému Atelier qFot Komora Sw Fot Spanek
Diagram systému pFilm Atelier qFilm Komora
Diagram systému pFilm pZak Atelier qZak qFilm qFot Komora Sw Fot Spanek
Formální úpravy pFilm pZak Atelier qZak zdrojZak qFilm qFot Komora Sw Fot Spanek qSpi
Formální popis entity Zakaznik attrib navic : real:5:2 {čas, který zákazník stráví v Ateliéru navíc} end; entity Fotograf; entity film;
Formální popis entity Zakaznik attrib navic : real:5:2 {čas, který zákazník stráví v Ateliéru navíc} end; entity Fotograf; entity film;
Formální popis entity Zakaznik attrib navic : real:5:2 {čas, který zákazník stráví v Ateliéru navíc} end; entity Fotograf; entity film;
Formální popis Queue qZak of Zakaznik fifo signal to Atelier; qUeue qFot of Fotograf fifo signal to komora, Atelier; quEue qFilm of Film fifo signal to Komora; queUe qSpi of fotograf fifo signal to Spanek;
Formální popis switch swFot for Fotograf case qZak.contEnts > 0 :: qFot, otherwise qSpi;
Formální popis activity ZdrojZak channels 1 load 1 Zakaznik from pool compute zakaznik^.navic:=Uniform (2, 7); { Doporučuje se definovat } :: after negExp (15) :: eject zakaznik to qZak; end;
Formální popis activity Atelier channels 1 load 1 zakaznik from qZak, 1 fotograf from qFot, 1 film from pool, after uniform (5.0, 6.0) + zakaznik^.navic :: eject zakaznik to pool fotograf to qFot film to qFilm; end ;
Formální popis activity Komora channels 1 load 10 film from qFilm, 1 fotograf from qFot, after 10 :: eject film to pool, fotograf to swFot; end ; activity Spanek channels 1 1 fotograf from qSpi, after 15 :: eject fotograf to qFot;
Inicializace queue qFot 1 menu write quit