next up previous contents
Next: Zařízení Up: Procesy Previous: Procesy

Kvaziparalelní provádění procesů v SIMLIB

I kdyľ sémantika modelu je postavena na paralelně probíhajících procesech, nelze ignorovat skutečnost, ľe vlastní výpočet (simulace) probíhá na jednom reálném procesoru. Z toho plyne nutnost řeąit zpracování simulačního programu kvaziparalelně.

Principy kvaziparalelního zpracování procesů jsou popsány v [1]. Popisu chování objektu třídy odvozené ze třídy Process odpovídá přísluąná metoda Behavior. Tato metoda obsahuje příkazy, které mohou měnit stav daného objektu (změnou atributů) nebo stav ostatních objektů modelu (pokud je to dovoleno). Právě běľící proces provádí akce, popsané v metodě Behavior právě aktivního objektu, který je identifikován ukazatelem Current.

Priorita procesu je definována atributem Priority. Při vzniku objektu je moľné zadat jeho prioritu, implicitně je nejniľąí, tj. nulová. Prioritu probíhajícího procesu můľeme dynamicky měnit přiřazovacím příkazem:

    Priority = <aritmetický výraz>;

V případě plánování reaktivace procesů na stejný modelový čas se nejdříve provede událost procesu s vyąąí prioritou (vyąąí hodnotou atributu Priority). V případě shodných priorit procesů se dříve provede proces, který byl naplánován dříve.



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