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