Мы уже рассматривали данную библиотеку в главах 6 и 9, где были использованы некоторые ее блоки для построения простых моделей систем массового обслуживания. Здесь мы кратко охарактеризуем другие блоки этой библиотеки.
Библиотека предоставляет пользователю высокоуровневый интерфейс для быстрого создания моделей дискретных событийных систем массового обслуживания в стиле потоковых диаграмм. Блоки библиотеки — это активные объекты, построенные из стандартных средств визуального языка AnyLogic разработки моделей (порты, стейтчарты, таймеры). Как мы видели в главах 6 и 9, построение моделей дискретных систем было выполнено с помощью блоков библиотеки без написания программного кода и других средств AnyLogic. просто в стиле drag-and-drop. Поэтому блоки библиотеки AnyLogic можно назвать "высокоуровневыми" средствами моделироваия. Все другие возможности AnyLogic очень просто комбинируются с блоками библиотеки.
Библиотека Enterprise Library содержит несколько десятков блоков с предопределенной функциональностью (рис. 14.1). Каждый блок имеет набор параметров, которые при построении модели можно конкретизировать в любом экземпляре блока, использованного в модели. Полное описание библиотеки можно найти в справочных материалах продукта AnyLogic. Кроме того, каждый блок библиотеки имеет связанное с ним свое описание. Здесь мы дадим только краткую характеристику двум классам блоков.
Первый класс включает блоки для управления потоком заявок. Эти блоки имеют желтый цвет. Сюда входят источник заявок (source), сток (sink), очередь заявок (Queue), разветвитель потоков (split) и др. Данная группа
блоков удобна для быстрого создания моделей систем, которые можно охарактеризовать как классические системы массового обслуживания. Мы использовали некоторые из этих блоков в моделях, построенных ранее.
Второй класс включает два блока, задержку (Delay) и сервер (Server). Блок задержки просто удерживает каждую поступившую на его вход заявку на определенное время. Число возможных заявок, которые одновременно и независимо могут быть задержаны в этом блоке, определено параметром capacity. Время задержки может задаваться как реализация случайной величины, распределенной по некоторому закону. Блок задержки моделирует независимую обработку заявок, т. е. время задержки каждой заявки в блоке не зависит от числа задержанных заявок, находящихся в блоке одновременно.
Сервер также задерживает пришедшие на его вход заявки, однако этот блок моделирует совсем другой принцип обработки заявок, чем простая задержка. Предполагается, что каждая заявка должна получить от сервера определенное обслуживание, но в сервере на обслуживании могут находиться несколько заявок (до определенного предела, устанавливаемого как параметр), и поэтому время сервера делится между всеми заявками, одновременно находящимися в обработке. Такой порядок обслуживания моделирует разделение процессорного времени между несколькими задачами с выделением одинаковых квантов времени всем задачам.
Третий класс блоков библиотеки необходим для построения моделей систем, которые имеют существенные отличия от простых СМО, рассматривавшихся нами ранее. Первое отличие состоит в том, что в этих системах
для обслуживания потока заявок используются ресурсы. Например, в отделении скорой помощи госпиталя, который, конечно, является системой обслуживания, есть несколько типов ресурсов: спецоборудование, врачи, медсестры, комнаты первичного осмотра и процедурные комнаты. Наличие некоторого набора свободных ресурсов обязательно для выполнения процесса обслуживания пациента: очередная заявка, моделирующая пациента, может быть принята к обслуживанию, если свободны ресурсы определенных типов, например, медсестра и один из процедурных кабинетов. Второй отличительной особенностью этих систем является то, что время обслуживания заявок в системе зависит от геометрических характеристик системы. Например, время, затраченное на движение к процедурному кабинету в отделении скорой помощи, зависит от места расположения свободного кабинета, поэтому и время обслуживания пациентов зависит от деталей архитектурного плана здания: длины коридоров, расположения комнат, их назначения. Таким образом, время обслуживания заявок в подобной системе существенно зависит от реальных расстояний на плане. Подобными особенностями обладают также производственные системы с конвейерами и средствами внутрицеховой доставки, складские системы. Другую группу обслуживающих систем, в которых архитектурные детали и расположение на плане пунктов обслуживания играет существенную роль при их анализе, составляют крупные магазины, аэропорты и им подобные системы. Имитационные модели всех таких систем являются, конечно, дискретно-событийными, но их построение требует специальных средств. Для построения моделей таких систем обслуживания в библиотеку включена группа блоков "Транспортировка по сети". В следующем разделе мы рассмотрим использование блоков этой группы для создания имитационных моделей таких специфических систем массового обслуживания.