Ю. Карпов - Иммитационное моделирование систем с AnyLogic 5 (1124147), страница 22
Текст из файла (страница 22)
Для перехода по разрешающему сигналу в стейтчарте регтевсх1ал 11дьс в поле Происходит окна свойств перехода ев выберите вариант По сипталу, а в поле Сигнал этого же окна наберите сигнал "пешвходн". Остальные переходы этих стейтчартов пусть срабатывают по таймаугам. Рисунок б.)9 показывает, как задать параметры переходов стейт ~арта гсаагас 11д)тс. Запустите молель на выполнение. Анимацию модели легко дополнить светофором пешеходов с лвумя сигналами — красным и зеленым, значением цвета которых управляют логические переменные хесР и дхеепР. Изображения идущего человека в окне светофора можно нарисовать ломаной линией, увеличив анимацию, например, в 5 раз.
Ваша модель должна быль похожа на модель Рег)евпх1апскаввэ. Часть М. Средства Алусод(с для имитационного моделирования систем б.3.6. Срабатывание перехода по условию Введем вместо автоматического переключения светофора пешеходов кнопку, при нажатии которой пешеходами им разрешается переход после того, как светофор траффика осиновит движение автомашин.
Для этого активизируйте окно редактора анимапии и щелкните на кнопке Я панели инструментов. Поместите этот графический обьект куда-нибудь перед пешеходным переходом. Назовите кнопку ЖДУ и определите ее действия так, что при каждом ее нажатии будет усзвнавливаться в истину булева переменная навстечу (т. е.
установим в поле Реакиия иа событие окна свойств этой кнопки команду иаьеьпд=стсе;). Логическую переменную нагсапс нужно определить в поле редактора активного обьекта моает с начальным значением гетее. Эта переменная должна фиксировать, ждет ли пешеход возможности перейти дорогу. Значение переменной будем сбрасывать в готье каждый раз, как только светофор пешеходов переходит в состояние "мигающий зеленый", т. е. команда наветов=га1еет должна быть добавлена в поле Действие окна свойств перехода сг стейтчарта реаевсгаео з.вяьс. Таким образом, наличие ожидающих Рис. 6 20. Изменения в стейтчарте етатгьс 1вяис Глава б.
Разработка моделей дискретно-событийных систем на переходе пешеходов (что обнаружится по нажатии кнопки ЖДУ) является условием переключения светофора стаеагс ьтянс из состояния яо в состояние ассепеьоп и далее в состояние запрещения движения транспорта. При построении системы управления движением важно, чтобы постоянное нажимание кнопки ЖДУ пешеходами (или неким злоумышленником) не парализовало движение транспори. Для этого в стейтчарте схаееьс 1ьдьс измените состояние до, сделав его иерархическим с двумя простыми состояниями вот и воз так, как показано на рис. 6.20. В состоянии вот осуществляется непрерываемое движение транспорта, выход из этого-состояния происходит точно тогда, когда исчерпается выделенный таймаут (здесь 25 с), после чего светофор переходит в состояние прерываемого движения доз, переход т из которого срабатывает, когда будет выполнено условие наличия пешеходов, ожидающих переход. Если кнопка ЖДУ не была нажата до этого времени с момента последнего разрешения перекопа (т.
е. переменная иаьсьпя все еще имеет значение га1ее), то транспорту будет разрешено продолжать двигаться до нажатия этой кнопки. Если кнопка уже была нажата (произвольное число раз), то переменная иаьсьпд уже имеет значение свое и светофор статгьс 1ьяьс из состояния ооз мгновенно перейдет в состояние асеепс ' оп и затем остановит движение. Рис. 6.21. Работа модели пешеходного перекрестка Часть д Средства дпу! оде для имитационного моделирования систем Окно наблюдения событий Для отладки модели и понимания процессов„происходящих в системе„вы можете использовать окно наблюдения событий.
Для открытия окна событий щелкните кнопку (Й~ панели инструментов. На рис. 6.21 представлен момент после окончания интервала разрешения перехода пешеходов. Сравните вашу модель с моделью веаееетьеосгоеел. 6.4. Системы массового обслуживания: использование библиотеки стандартных объектов Рассмотренные ранее базовые срелства Апу1 ой)с для построения молелей дискретно-событийных систем могут быть использованы в широком диапазоне совершенно различных приложений имитационного моделирования. Существует, однако, область приложений дискретно-событийного моделирования, в которой единая элегантная парадигма позволяет применить, фактически, одну и ту же методологию к решению множества важных практических проблем. Эта область — массовое обслуживание.
Традиционным подходом к моделированию задач массового обслуживания является разработка библиотеки многократно используемых объектов, из которых как дома при крупнопанельном строительстве могут быть собраны совершенно различные модели, решающие разнообразные задачи этой области. В Апу).ой)с такой традиционный путь решения класса задач реализуется очень просто: создастся библиотека типовых блоков, собирая которые в связанные структуры и настраивая их параметры можно значительно ускорить разработку моделей этого класса. Нужно помнить при этом, что все базовые средства АпуЕой1с могут быть использованы в случае, если функциональности библиотечных объектов недостаточно для решения специфических проблем.
В данном разделе мы рассмотрим типичную проблему массового обслуживания и то, как эта проблема может быть легко решена с использованием одной из библиотек, разработанных в Алуштой)с. Среда Апу).огас открыта для разработки библиотек совершенно различного назначения. 6.4.1. Системы массового обслуживания Рассмотренная в разд. 3.2 система массового обслуживания (СМО), моделирующая операционный зал банка, является типичной лля широкого круга систем, моделирующих сервисное обслуживание. Другими примерами СМО являются парикмахерские, телефонные станции, магазины, бензоколонки и т. п.
В моделях таких систем типичными обьектами являются заявки и обслуживающие их приборы. Золвки моделируют клиентов, заказы на вы- Глава 6, Разработка моделей дискретно-событийных систем полнение работ, телефонные вызовы, покупателей, автомашины и т. и. Приборы обслуживания моделируют кассиров, продавцов в мш.азине, лифты, линии передачи данных и т. и. Сам процесс обслуживания — с точки зрения модели — это просто временная задержка. Каждая СМО состоит из какогото числа приборов обслуживания и имеет на входе потоки заявок„поступаюших обычно в случайные моменты времени. Обслуживание заявки каждым прибором СМО происходит обычно также в течение случайного времени. Различные СМО отличаются характеристиками случайных входных потоков заявок, числом обслуживающих приборов и дисциплиной обслуживания.
Дисциплиной обслуживания называют порядок прохождения заявками приборов в системе, правила ухода заявок из системы, характеристики времени обслуживания заявок приборами, правила организации очередей к приборам. Системы массового обслуживания являются типичными системами событийнолискретного типа. Собыгпиви в СМО является появление в системе очередной заявки, постановка заявки в очередь на обслуживание, начало и окончание обслуживания и т. п. Из-за однотипности, похожести задач, решаемых моделями систем массового обслуживания, удобно отдельные блоки (генераторы заявок, обслуживающие приборы, очереди и т.
и.) реализовать как набор (библиотеку) объектов, из которых может собираться структура конкретной модели и параметры которых можно настраивать в зависимости от характеристик моделируемой системы. Именно для этих целей в Апу(.орс создана библиотека Ешегрпзе ЫЬгагу. Она предоставляет высокоуровневый интерфейс для быстрого создания дискретно-событийных моделей с помошью блок-схем.
Построим с помощью элементов библиотеки модель системы, предоставляющей сервисы— операционный зал банка. 6.4.2. Постановка проблемы Проблема описана в разд. 3.2т. В банке есть лва менеджера, отвечаюшие за два различных типа операций. Клиент, пришедший в банк, становится в очередь к одному из этих менеджеров в зависимости от требуемой ему операции. После обслуживания менеджером каждый клиент идет в кассу, получая либо сдавая деньги. Очередь в кассу общая. Рисунок б.22 показывает структуру модели операционного зала банка на том уровне абстракции, который достаточен для ответа на подобные вопросы.