Изменение маршрутов сообщений. Transfer ,next. Transfer. 5,,otd2. Otd1 seize prod1. Изменение маршрутов сообщений
Изменение маршрутов сообщений Оператор TRANSFER (Передать) позволяет осуществлять безусловные и статистические переходы. Тип перехода определяется в операнде , направление перехода — в операндах и . В режиме безусловного перехода операнд в операторе пуст. Все транзакты переходят к оператору, указанному в поле . Например: TRANSFER, NEXT Если оператор, к которому направляется транзакт, в текущий момент системного времени не может его принять (например, оператор SEIZE ), то транзакт остается в операторе TRANSFER и повторяет попытку перехода при каждом пересчете системного времени симулятором. Если в поле оператора TRANSFER записана десятичная дробь, начинающаяся точкой, то оператор работает в режиме статистического перехода. Здесь десятичная дробь определяет вероятность перехода транзакта к оператору, имя которого указывается в поле . При этом поле пустое. С вероятностью (1-< A> ) транзакт переходит к оператору, следующему за оператором TRANSFER. Если оба оператора заняты, то транзакт остается в операторе TRANSFER и повторяет попытку перехода к выбранному ранее оператору при каждом изменении системного времени. Например, выбор покупателями в магазине одного из двух отделов, если известно, что половина покупателей направляется в 1-й отдел, а вторая половина — во 2-й отдел: TRANSFER . 5,, OTD2 OTD1 SEIZE PROD1 . OTD2 SEIZE PROD2 Условный переход. Для организации условного перехода используется оператор IF, операнд которого указывает условие перехода транзактов, а в поле указывается имя оператора, куда направляются транзакты, если условие перехода выполняется.
При описании условия используются операции отношения: >, <, =, а также различные СЧА объектов, числовые константы, мнемокоды. Например, при входе транзакта в оператор IF KASS=NU, KAS1 - проверяется условие: свободно ли устройство с именем KASS. Если устройство свободно, то транзакт направляется к оператору с именем KAS1, в противном случае транзакт направляется к оператору, стоящему непосредственно за оператором IF. Условная задержка транзакта. B том случае, если необходимо задержать транзакт перед каким-либо оператором до выполнения определенного условия, используется оператор WAITIF. В поле A этого оператора задается условие задержки, и транзакт остается в данном операторе до тех пор, пока это условие истинно; как только условие становится ложным, транзакт продолжает свой путь. Например, транзакт будет задержан до тех пор, пока память с именем STR будет полной WAITIF STR=F Пример 4. В магазине находится два отдела: продовольственный и промтоварный. Около 30-ти процентов приходящих в магазин покупателей направляются в промтоварный отдел, остальные ‑ в продовольственный. Причем, если очередь в промтоварном отделе больше двух человек, а в продовольственном ‑ больше пяти, то покупатели уходят из магазина, не дожидаясь обслуживания. Время прихода и обслуживания покупателей распределено экспоненциально. Среднее значение времени прихода равно - 20 сек., времени обслуживания в продовольственном отделе - 30 сек, в промтоварном - 35 сек. Модель, имитирующая работу магазина за 8 ч:
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|