Cтраница 1
Список будущих событий содержит транзакты, которые могут начать движение в модели в будущие моменты времени. Такие транзакты размещаются в списке строго в порядке возрастания времени начала движения по отношению к значению текущего времени. Приоритеты не влияют на порядок транзактов в рассматриваемом списке. [1]
Список будущих событий содержит сообщения, соответствующие событиям, время наступления которых больше текущего времени. События должны произойти в будущем. [2]
Управляющая секция выбирает событие из вершины списка будущих событий, записывает текущее время и передает управление соответствующей событийной секции. [3]
Эти изменения суть события, и сведения о них заносятся в список будущих событий. После того как список текущих событий полностью отработан, модельное время увеличивается и соответствующая часть списка будущих событий становится списком текущих событий. Так как в сложных схемах на каждом такте активными являются не более нескольких процентов элементов, то учет событийности позволяет существенно уменьшить затраты машинного времени. [4]
Блок-схема алгоритма всей модели представлена на рис. 11.10. В этой схеме в список будущих событий Г - включен также момент окончания моделирования. [5]
![]() |
Программа простейшей системы с ожиданием. [6] |
Поэтому в процессе моделирования каждое сообщение относится к одному из пяти списков: список текущих: обытий, список будущих событий, списки пользователя, : писки прерывания, списки сообщений, находящихся в: остоянии синхронизации. Рассмотрим эти списки под-эобнее. [7]
Значение абсолютного модельного времени, когда планируется вывести транзакт из списка будущих событий. [8]
![]() |
Поступление заявок в систему. а - ОА занят. б - ОА свободен. [9] |
Как видно на примере даже простейшей СМО, для моделирования необходимо составление алгоритма, синхронизирующего события, происходящие в системе, и выявляющего события, которые должны быть очередными. Момент наступления текущего события в СМО определяется минимальным значением момента времени из списка будущих событий. Кроме событий, непосредственно влияющих на работу системы, в СБС заносятся также моменты времени печати статистических сведений и окончания моделирования. [10]
Подпрограммы процессов - это реентерабельные программы, которые могут выполняться параллельно для различных процессов. Учет модельного времени здесь, как и в предыдущем случае, ведется с помощью списка будущих событий. Генерация событий и моментов времени их возникновения осуществляется процедурами процессов. [11]
Эти изменения суть события, и сведения о них заносятся в список будущих событий. После того как список текущих событий полностью отработан, модельное время увеличивается и соответствующая часть списка будущих событий становится списком текущих событий. Так как в сложных схемах на каждом такте активными являются не более нескольких процентов элементов, то учет событийности позволяет существенно уменьшить затраты машинного времени. [12]
Если в системе имеются другие транзакты, способные к продвижению в данный момент времени, то они находятся в списке текущих событий; если этот список не пуст, то из него извлекается первый находящийся в нем транзакт и он становится активным, после чего продвигается по модели. Наконец наступит такой момент, что ни одного транзакта в списке текущих событий не останется; тогда и просматривается список будущих событий. [13]
Важным моментом в программах моделирования является способ слежения за временем и его учет. В настоящее время обычно используется событийный принцип, который заключается в том, что состояние моделируемой системы анализируется в моменты возникновения событий в модели. Технически это реализуется с применением списка будущих событий. [14]
Эволюция имитационного процесса обеспечивается как за счет переходов от одной подпрограммы регистрации событий к другой подобной подпрограмме, так и за счет реализации команды продвижения по оси времени к моменту, когда должно наступить очередное событие. Читатель, по-видимому, догадывается, что составление имитационной программы с временными приращениями, индуцируемыми прогнозируемыми исходами, требует большого мастерства. В частности, большой профессиональный опыт необходим при составлении эффективной программы обновления, вносящей пополнения и изменения в список будущих событий, которые генерируются соответствующими подпрограммами. Многие языки моделирования ( некоторые из них упоминались в разд. [15]