Все дипломы
Вычислительная математика
Добавить в закладки

<< В начало | < Предыдущая | Содержание | Следующая > | В конец >>
Об авторе материала

Бадмильсон В.Н.

Бадмильсон Василий Натанович, кандидат математических наук. Родился 5 января 1965 года в городе Волгограде. С отличием окончил общеобразовательную школу. Во время обучения...
далее



3« Транзакт входит в блок TERMINATE при этом транзакт выводится из модели.

После этого интерпретатор выбирает для продвижения следующий транзакт и т.д. до конца ЦТС.

В ряде случаев возникает необходимость возобновить просмотр ЦТС не со следующего транзакта, а с начала цепи. Например, при продвижении очередного транзакта он прошел блок RELEASE . В этом случае может сниматься условие блокировки для транзактов, ожидающих освобождения ресурса. Поскольку таких транзактов может быть несколько, а занимать ресурс должен транзакт, имеющие наивысший приоритет и запросивший ресурс раньше других в своем приоритетном классе (т.е. располагающиеся в ЦТС ближе к началу цепи), то просмотр цепи должен возобновиться сначала. Для этой цели предназначен флаг изменения состояния. Если в ходе движения транзакта возникает условие, снимающие блокировку, флаг изменения состояния устанавливается в единицу. При возобновлении просмотре он начинается со следующего транзакта, если флаг сброшен или с начала ЦТС, если флаг установлен.

После того, как просмотр ЦТС завершился и в модели нет больше транзактов, которые можно перемещать по ней, интерпретатор выбирает из ЦБС один или несколько транзактов (если они имеют одинаковое время активизации) транзактов, продвигает значение таймера до момента активизации этого транзакта и помещает его в ЦТС последним в своем приоритетном классе, после чего возобновляет просмотр ПТО.

13.2. Фаза ввода.

После завершения трансляции модели и перед началом моделирования выполняйся фаза ввода, осуществляющая инициализацию модели. После завершения очередного модельного прогона интерпретатор возвращаете я на фазу ввода. На этой фазе обрабатываются вое управляющие операторы, а также блоки GENERATE для задания момента прихода в модель первого транзакта.

Транзакты выбираются блоком GENERATE из пассивного буфера, представляющего собой стек со связанной организацией. При уничтожении в блоке TERMINATE транзакт возвращается в вершину пассивного буфера. Каждый транзакт имеет свой номер. Естественно, некоторые транзакты посетят модель несколько раз в процессе прогона, а некоторые могут вообще ни разу не войти в модель.

Приведем упрощенный алгоритм фазы ввода для блока и ряда управляющих операторов:

1. Читать следующую карту.
2. Карта GENERATE ? Если "да" - переход в п.7.

<< В начало | < Предыдущая | Содержание | Следующая > | В конец >>

Случайный фрагмент

...«это задача усовершенствования, если объем памяти является фактором, ограничивающим производительност»...
подробнее

Высказались
Главное в лекциях - это содержательность, достовер...
Автор: Алексей
Лекции понравились, да и вообще предмет прикольный...
Автор: Карл
В конце прошлого семестра как-то подрасслабился и ...
Автор: Алтустон
Когда увидела у вас пункт про имитационные и анали...
Автор: Яга




Известные фразы

Наука требует всего человека, без задних мыслей, с готовностью все отдать и в награду получить тяжелый крест трезвого знания. (Герцен)




Наука России - Наше будущее!