Методичні вказівки до лабораторних робіт з курсу "Моделювання систем", страница 21

Оператор TEST має два режими використання. У режимі умовного входу (для цього режиму поле операнда C має лишатися порожнім), транзакти не можуть вийти з блоку TEST, поки не виконається умова A [X] B, наприклад

TEST  LE  Q1,Q2

TEST  L  C1,500

У першому випадку транзакт буде затриманий у блоці TEST доти, поки вміст першої черги не стане меншим або дорівнювати вмісту черги №2. У другому випадку транзакти будуть переходити від блоку TEST до наступного блоку моделі, поки значення відносного умовного часу моделювання C1 не досягне 500.

У режимі переходу параметр C задає номер блоку, до якого переходить транзакт, якщо умова не виконується. При виконанні умови транзакт переходить до наступного блоку. Якщо блок, до якого відправляється транзакт, зайнятий, транзакт очікує його звільнення в блоці TEST.

TEST  LE  Q1,25,END1

У цьому випадку транзакт увійде до наступного блоку моделі, якщо вміст першої черги буде меншим або дорівнювати 25, інакше транзакт перейде до блоку з ім’ям END1.

Блок LOOP A,B використовується для моделювання циклічних процесів. В операнді A записується номер параметра транзакта, призначеного за лічильник циклу. При надходженні транзакта в блок LOOP зазначений параметр зменшується на одиницю. Якщо значення лічильника циклу даного транзакту дорівнює нулю, то цей транзакт проходить у наступний блок, інакше транзакт переходить до блоку, ім'я якого зазначено в операнді B.

2.2.3 Моделювання переривань

Блок PREEMPT служить для моделювання переривань та виконує для зайнятого пристрою операції, аналогічні функціям блоку SEIZE для вільного пристрою. Блок PREEMPT має п'ять операндів. Операнд A вказує на ім’я (або номер) того пристрою, який буде перериватися в процесі моделювання. У полі B (режим пріоритету) може приводитися позначка PR для зазначення можливості багаторівневих переривань. У полі C може вказуватися ім’я блоку, до якого буде спрямований перерваний транзакт. Перерваний транзакт продовжує претендувати на даний пристрій. У полі D може вказуватися номер параметру перерваного транзакту. У вказаному параметрі у разі переривання обслуговування збережеться значення часу, що залишився до кінця обслуговування перерваного транзакту. У полі E може бути зазначена позначка RE (режим видалення  перерваних транзактів з даного пристрою). Якщо операнд Е вказаний, то обов’язково треба вказати мітку в моделі, куди потрапить перерваний транзакт (в операнді С).