- •Методики разработки сапр
- •Определение состава технического обеспечения
- •Разработка программно-методических комплексов
- •Вопросы для самоконтроля
- •МетаСапр
- •Вопросы для самоконтроля
- •Сети Петри и имитационное моделирование Сети Петри
- •Имитационное моделирование смо
- •Вопросы для самоконтроля
- •Классификация и обозначение сапр
Имитационное моделирование смо
Для имитационного моделирования СМО нужна имитационная модель, язык для ее представления и программная система, реализующая этот язык.
Имитационные модели СМО называются сетевыми имитационными моделями (СИМ). Используют несколько подходов к построению СИМ, различающихся выбором структуры модели. В структуре СИМ выделяются ее элементарные части (модели элементов) и такими элементами могут быть либо события, либо средства обслуживания, либо пункты маршрутов заявок. Соответственно различают модели и языки их описания, ориентированные на события, устройства или процессы. Поэтому выбор языка моделирования определяет структуру модели и методику ее построения.
Ориентация на устройства характерна для функционально-логического и более детальных иерархических уровней описания объектов. Широко используется ориентация на процессы, которая реализуется языками Симула, GPSS, SQL и др. В структуре СИМ, ориентированной на процессы, используются модели источников потоков заявок, устройств, накопителей и узлов.
Источник входного потока заявок в модели представляет собой алгоритм, по которому вычисляются моменты появления заявок на входе. Источники могут быть зависимыми и независимыми. В зависимых источниках моменты появления заявок зависят от наступления определенных событий, например, от прихода другой заявки на вход некоторого устройства. Типичной моделью независимого источника является алгоритм выработки значений случайной величины с заданным законом распределения.
Устройства в имитационной модели представляются алгоритмами выработки значений интервалов (длительностей) обслуживания. Чаще всего это алгоритмы генерации значений случайных величин с заданным законом распределения. Кроме того, модель устройства отражает заданную дисциплину обслуживания, поскольку в модель входит алгоритм, управляющий очередями.
Накопители моделируются алгоритмами определения объемов памяти, занимаемых заявками, приходящими на вход накопителя. Обычно объем памяти, занимаемый заявкой, вычисляется как значение случайной величины, закон и (или) числовые характеристики распределения зависят от типа заявки.
Узлы выполняют связующие, управляющие и вспомогательные функции в имитационной модели, например, для выбора направлений движения заявок, изменения их параметров и приоритета, разделения заявок на части и т.п.
Каждому типу элементарной модели в программной системе соответствует определенная процедура (подпрограмма). Тогда СИМ можно представить как алгоритм, состоящий из упорядоченных обращений к этим процедурам, отражающих поведение моделируемой системы. В процессе моделирования происходят изменения модельного времени, которое чаще всего принимается дискретным, измеряемым в тактах. Время изменяется после того, как закончена имитация очередной группы событий, относящихся к текущему моменту времени tк. Имитация сопровождается накоплением в отдельном файле статистики таких данных, как числа заявок, вышедших из системы обслуженными и не обслуженными, суммарное время занятого состояния для каждого из устройств, средние длины очередей и т.п. Имитация заканчивается, когда текущее время превысит заданный отрезок времени или когда входные источники выработают заданное число заявок. После этого производится обработка накопленных данных, в результате получаем значения требуемых выходных параметров.
В программах имитационного моделирования СМО преимущественно реализуется событийный метод организации вычислений. Сущность событийного метода заключается в отслеживании на модели последовательности событий в том же порядке, в каком они происходили бы в реальной системе. Вычисления производятся только для тех моментов времени и тех частей (процедур) модели, к которым относятся совершаемые события. Другими словами, обращения на очередном такте моделируемого времени выполняются только к моделям тех элементов (устройств, накопителей), на входах которых в этом такте произошли изменения. Поскольку изменения состояний в каждом такте обычно наблюдаются лишь у малой доли ОА, событийный метод может существенно ускорить моделирование по сравнению с инкрементным методом, в котором на каждом такте анализируются состояния всех элементов модели.
Р
ассмотрим
возможную схему реализации событийного
метода имитационного моделирования
(рис. 4.7).
Моделирование начинается с просмотра операторов генерирования заявок, т.е. с обращения к моделям источников входных потоков. Для каждого независимого источника такое обращение позволяет рассчитать момент генерации первой заявки. Этот момент вместе с именем – ссылкой на заявку заносится в список будущих событий (СБС), а сведения о генерируемой заявке – в список заявок (СЗ). Запись в СЗ включает в себя: имя заявки, значения ее параметров (атрибутов), место, занимаемое в данный момент в СИМ. В СБС события упорядочиваются по увеличению моментов наступления. Далее из СБС выбирается совокупность сведений о событиях, относящихся к наиболее раннему моменту времени. Эта совокупность переносится в список текущих событий (СТО), из которого извлекаются ссылки на события. Обращение по ссылке к СЗ позволяет установить место в СИМ заявки А, с которой связано моделируемое событие. Пусть этим местом является устройство В. Далее программа моделирования выполняет следующие действия:
1) изменяет параметры состояния устройства В; например, если заявка А освобождает В, а очередь к В не была пуста, то в соответствии с заданной дисциплиной обслуживания из очереди к В выбирается заявка С и поступает на обслуживание в В;
2) прогнозируется время наступления следующего события, связанного с заявкой С, путем обращения к модели устройства В, в которой рассчитывается продолжительность обслуживания заявки С; сведения об этом будущем событии заносятся в СБС и СЗ;
3) происходит имитация движения заявки А в СИМ по маршруту, определяемому заданной программой моделирования, до тех пор, пока заявка не придет на вход некоторого ОА; здесь либо заявка задерживается в очереди, либо путем обращения к модели этого ОА прогнозируется наступление некоторого будущего события, связанного с дальнейшей судьбой заявки А; сведения об этом будущем событии также заносятся в СБС и СЗ;
4) в файл статистики добавляются упомянутые выше данные. После отработки всех событий, относящихся к моменту времени tк, происходит увеличение модельного времени и рассмотренный процесс имитации повторяется.
Для имитационного моделирования СМО можно использовать алгоритмические языки общего применения, например, СИ и т.п., однако при этом приходится соглашаться на значительные затраты времени на кодирование и объем текста программ. Поэтому разработаны языки, для имитационноео моделирования СМО. Среди них есть общецелевые языки (для многих приложений) и специализированные языки – для конкретных приложений. Широко известен и используется общецелевой язык имитационного моделирования GPSS.
