Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Событийный метод моделирования
В программах имитационного моделирования СМО преимущественно реализуется организацией вычислений. Сущность событийного метода заключается в отслеживании на модели последовательности событий в том же порядке, в каком они происходили бы в реальной системе. Вычисления выполняют только для тех моментов времени и тех частей (процедур) модели, к которым относятся совершаемые события. Другими словами, обращения на очередном такте моделируемого времени осуществляются только к моделям тех элементов (устройств, накопителей), на входах которых в этом такте произошли изменения. Поскольку изменения состояний в каждом такте обычно наблюдаются лишь у малой доли ОА, событийный метод может существенно ускорить моделирование по сравнению с инкрементным методом, в котором на каждом такте анализируются состояния всех элементов модели. Рассмотрим возможную схему реализации событийного метода имитационного моделирования. Моделирование начинается с просмотра операторов генерирования заявок, т.е. с обращения к моделям источников входных потоков. Для каждого независимого источника такое обращение поволяет рассчитать момент генерации первой заявки. Этот момент вместе с именем-ссылкой на заявку – заносится в список будущих событий (СБС), а сведения о генерируемой заявке – в список заявок (СЗ). Запись в СЗ включает в себя имя заявки, значения ее параметров (атрибутов), место, занимаемое в данный момент в СИМ. В СБС события упорядочиваются по увеличению моментов наступления. Затем из СБС выбирают совокупность сведений о событиях, относящихся к наиболее раннему моменту времени. Эта совокупность переносится в список текущих событий (СТС), из которого извлекаются ссылки на события. Обращение по ссылке к СЗ позволяет установить место в СИМ заявки А, с которой связано моделируемое событие. Пусть этим местом является устройство Х. Далее программа моделирования выполняет следующие действия (рис. 15.7): 1) изменяет параметры состояния устройства Х; например, если заявка А освобождает Х, а очередь к Х не была пуста, то в соответствии с заданной дисциплиной обслуживания из очереди к Х выбирается заявка В и поступает на обслуживание в Х; 2) прогнозируется время наступления следующего события, связанного с заявкой В, путем обращения к модели устройства Х, в которой рассчитывается продолжительность обслуживания заявки В; сведения об этом будущем событии заносятся в СБС и СЗ; 3) происходит имитация движения заявки А в СИМ по маршруту, определяемому заданной программой моделирования, до тех пор, пока заявка не придет на вход некоторого ОА; здесь либо заявка задерживается в очереди, либо путем обращения к модели этого ОА прогнозируется наступление некоторого будущего события, связанного с дальнейшей судьбой заявки А; сведения об этом будущем событии также заносятся в СБС и СЗ; 4) в файл статистики добавляются необходимые данные. После отработки всех событий, относящихся к моменту времени tk, происходит увеличение модельного времени до значения, соответствующего ближайшему будущему событию, и рассмотренный процесс имитации повторяется. Рис.15.7. Иллюстрация событийного моделирования
Сети Петри Сети Петри – аппарат для моделирования динамических дискретных систем (преимущественно асинхронных параллельных процессов). Сеть Петри определяется как четверка < P, T, I, O>, где Р и Т – конечные множества позиций и переходов, I и О – множества входных и выходных функций. Другими словами, сеть Петри представляет собой двудольный ориентированный граф, в котором позициям соответствуют вершины, изображаемые кружками, а переходам – вершины, изображаемые утолщенными черточками; функциям I соответствуют дуги, направленные от позиций к переходам, а функциям О – от переходов к позициям. Как и в системах массового обслуживания, в сетях Петри вводятся объекты двух типов: динамические – изображаются метками (маркерами) внутри позиций и статические – им соответствуют вершины сети Петри. Распределение маркеров по позициям называют маркировкой. Маркеры могут перемещаться в сети. Каждому условию в сети Петри соответствует определенная позиция. Совершению события соответствует срабатывание (возбуждение или запуск) перехода, при котором маркеры из входных позиций этого перехода перемещаются в выходные позиции. Последовательность событий образует моделируемый процесс.
Рис.15.8. Сеть Петри
Правила срабатывания переходов (рис. 15.8), конкретизируют следующим образом: переход срабатывает, если для каждой из его входных позиций выполняется условие Nii Ki, где Ni – число маркеров в i–й входной позиции, Ki – число дуг, идущих от i–й позиции к переходу; при срабатывании перехода число маркеров в i–й входной позиции уменьшается на Ki, а в j–й выходной позиции увеличивается на Mj, где Mj – число дуг, связывающих переход с j–й позицией. На рисунке 15.8 показан пример распределения маркеров по позициям перед срабатыванием, эту маркировку записывают в виде (2, 2, 3, 1). После срабатывания перехода маркировка становится иной: (1, 0, 1, 4). Можно вводить ряд дополнительных правил и условий в алгоритмы моделирования, получая ту или иную разновидность сетей Петри. Так, прежде всего полезно ввести модельное время, чтобы моделировать не только последовательность событий, но и их привязку ко времени. Это осуществляется приданием переходам веса – продолжительности (задержки) срабатывания, которую можно определять, используя задаваемый при этом алгоритм. Полученную модель называют временной сетью Петри. Если задержки являются случайными величинами, то сеть называют стохастической. В стохастических сетях возможно введение вероятностей срабатывания возбужденных переходов. Так, на рис. 15.9представлен фрагмент сети Петри, иллюстрирующий конфликтную ситуацию – маркер в позиции p может запустить либо переход t1, либо переход t2. В стохастической сети предусматривается вероятностный выбор срабатывающего перехода в таких ситуациях. Если задержки определяются как функции некоторых аргументов, которыми могут быть количества маркеров в каких–либо позициях, состояния некоторых переходов и т.п., то сеть называют функциональной. Во многих задачах динамические объекты могут быть нескольких типов, и для каждого типа нужно вводить свои алгоритмы поведения в сети. В этом случае каждый маркер должен иметь хотя бы один параметр, обозначающий тип маркера. Такой параметр обычно называют цветом; цвет можно использовать как аргумент в функциональных сетях. Сеть Петри при этом называют цветной.
Рис.15.9. Конфликтная ситуация
Среди других разновидностей сетей Петри следует упомянуть ингибиторные сети, характеризующиеся тем, что в них возможны запрещающие (ингибиторные) дуги. Наличие маркера во входной позиции, связанной с переходом ингибиторной дугой, означает запрещение срабатывания перехода. Поясним на следующих примерах. 1. Требуется описать с помощью сети Петри работу группы пользователей на единственной рабочей станции WS при заданных характеристиках потока запросов на пользование WS и характеристиках поступающих задач. Сеть Петри представлена на рис. 15.10.
Рис.15.10. Сеть Петри для примера 1 Здесь переходы связаны со следующими событиями: t1 – поступление запроса на использование WS, t2 – занятие станции, t3 – освобождение станции, t4 – выход обслуженной заявки; позиция р4 используется для отображения состояния WS: если в р4 имеется метка, то WS свободна и пришедшая заявка вызывает срабатывание перехода t2; пока эта заявка не будет обслужена, метки в р4 не будет, следовательно, пришедшие в позицию «1» запросы вынуждены ожидать срабатывания перехода t3. 2. Требуется описать с помощью сети Петри процессы возникновения и устранения неисправностей в некоторой технической системе, состоящей из L однотипных блоков; в запасе имеется один исправный блок; известны статистические данные об интенсивностях возникновения отказов и длительностях таких операций, как поиск неисправностей, замена и ремонт отказавшего блока. На рис.15.11представлена соответствующая сеть Петри. Отметим, что при числе меток в позиции, равном M, можно в ней не ставить M точек, а записать в позиции значение M.
Рис.15.11. Сеть Петри для примера 2
В нашем примере значение M в позиции «2» соответствует числу имеющихся в системе блоков. Переходы отображают следующие события: t1 – отказ блока, t2 – поиск неисправного блока, t3 – его замена, t4 –окончание ремонта. Очевидно, что при непустой позиции р2 переход t1 срабатывает, но с задержкой, равной вычисленному случайному значению моделируемого отрезка времени между отказами. После выхода маркера из t1 он попадает через р1 в t2, если имеется метка в позиции р6, это означает, что обслуживающая систему бригада специалистов свободна и может приступить к поиску возникшей неисправности. В переходе t2 метка задерживается на время, равное случайному значению длительности поиска неисправности. Далее маркер оказывается в р3 и, если имеется запасной блок (маркер в р4), то запускается переход t3, из которого маркеры выйдут в р2, р5 и в р6 через отрезок времени, требуемый для замены блока. После этого в t4 имитируется восстановление неисправного блока. Рассматриваемая модель описывает функционирование системы в условиях, когда отказы могут возникать и в рабочем, и в неисправном состояниях системы. Поэтому не исключены ситуации, при которых более чем один маркер окажется в позиции р1.
Анализ сложных систем на базе сетей Петри можно выполнять посредством имитационного моделирования СМО, представленных моделями сетей Петри. При этом задают входные потоки заявок и определяют соответствующую реакцию системы. Выходные параметры СМО рассчитывают путем обработки накопленного при моделировании статистического материала. Возможен и другой подход к использованию сетей Петри для анализа объектов, исследуемых на системном уровне. Он не связан с имитацией процессов и основан на исследовании таких свойств сетей Петри, как ограниченность, безопасность, сохраняемость, достижимость, живость.
Ограниченность имеет место, если число меток в любой позиции сети не может превысить значения К. При проектировании автоматизированных систем определение К позволяет обоснованно выбирать емкости накопителей. Возможность неограниченного роста числа меток свидетельствует об опасности неограниченного роста длин очередей.
Безопасность – частный случай ограниченности, а именно это 1–ограниченность. Если для некоторой позиции установлено, что она безопасна, то ее можно представлять одним триггером.
Сохраняемость характеризуется постоянством загрузки ресурсов, т.е. Σ AiNi = const, где Ni – число маркеров в i–й позиции, Ai – весовой коэффициент.
Достижимость Mk→ Mj характеризуется возможностью достижения маркировки Mj из состояния сети, характеризуемого маркировкой Mk.
Живость сети Петри определяется возможностью срабатывания любого перехода при функционировании моделируемого объекта. Отсутствие живости означает либо избыточность аппаратуры в проектируемой системе, либо свидетельствует о возможности возникновения зацикливаний, тупиков, блокировок. В основе исследования перечисленных свойств сетей Петри лежит анализ достижимости. Один из методов анализа достижимости любой маркировки из состояния Мо – построение графа достижимости. Начальная вершина графа отображает Мо, а остальные вершины соответствуют маркировкам. Дуга из Мi в Мj означает событие Mi→ Mj и соответствует срабатыванию перехода t. В сложных сетях граф может содержать чрезмерно большое число вершин и дуг. Однако при построении графа можно не отображать все вершины, так как многие из них являются дублями (действительно, от маркировки Mk всегда порождается один и тот же подграф вне зависимости от того из какого состояния система пришла в Мk). Тупики обнаруживаются по отсутствию разрешенных переходов из какой–либо вершины, т.е. по наличию листьев – терминальных вершин. Неограниченный рост числа маркеров в какой–либо позиции свидетельствует о нарушениях ограниченности.
Рис.15.12. Сеть Петри и граф ее достижимости для примера 1
Рис.15.13. Сеть Петри и граф ее достижимости для примера 2
Популярное:
|
Последнее изменение этой страницы: 2016-05-28; Просмотров: 822; Нарушение авторского права страницы