
Объект PedServices задает группу одинаковых физических объектов обслуживания (например, несколько турникетов или автоматов по продаже билетов). Объект позволяет задавать очереди и сервисы в любой комбинации и задавать правила выбора сервисов – какую очередь выбрать, какой сервис выбрать, к какой очереди должен обращаться сервис, может ли сервис обслуживать несколько очередей и т.д.). Используйте этот объект, чтобы создавать ряды сервисов и задавать их параметры по умолчанию.
К сервисам, заданным этим объектом, можно обращаться с помощью объекта PedService. Значения параметров, заданные по умолчанию в этом объекте, будут применены ко всем ссылающимся на него объектам блок-схемы PedServices. Если Вам нужно определить некоторый набор собственных сервисных параметров, используйте объект PedCmdService для задания самого сервиса и объект PedCmdQueue для задания очереди к этому сервису.
Существует два типа сервисов: Протяженные и Точечные.
Протяженный сервис задается линией, вдоль которой должны передвигаться пешеходы. Пешеход начинает процедуру обслуживания в начальной точке линии и затем продвигается к ее конечной точке, из которой покидает сервис.
Когда пешеход направляется к конкретному сервису, этот сервис назначается этому пешеходу и становится недоступным (занятым) для остальных пешеходов. Пешеход перемещается в начальную точку линии и начинается ожидать там в течение заданного времени обслуживания. Затем пешеход перемещается в конечную точку линии. Фаза восстановления сервиса начинается, когда пешеход заканчивает процедуру обслуживания (если ожидание выхода пешехода из сервиса отключено) или проходит конечную точку линии (если ожидание выхода пешехода из сервиса включено). Продолжительность фазы восстановления зависит от задержки восстановления. После восстановления сервис становится свободным и готов принимать новых пешеходов.
Точечные сервисы также задаются линией, на которой должен находиться пешеход в течение времени обслуживания.
Когда пешеход направляется к сервису, этот сервис назначается этому пешеходу и становится недоступным (занятым) для остальных пешеходов. Пешеход перемещается в случайно выбранную точку линии и начинает ожидать там в течение заданного времени обслуживания. Фаза восстановления сервиса начинается, когда пешеход заканчивает процедуру обслуживания. Продолжительность фазы восстановления зависит от задержки восстановления. После восстановления сервис становится свободным и готов принимать новых пешеходов.
Пожалуйста, обратите внимание, что рисуя с помощью ломаной очередь, ведущую к сервису, начальную точку этой ломаной (задающую начало очереди) нужно помещать рядом с сервисом (иначе может возникнуть некоректная ситуация, см. здесь).
Демо модель: Pedestrian Services
int sizeQueue() - Возвращает количество пешеходов в объектах, задающих очереди, находящихся внутри данного объекта.
int sizeQueueWaiting() - Возвращает количество пешеходов, ожидающих в очередях, заданных внутри данного объекта.
int sizeService() - Возвращает количество пешеходов, находящихся внутри сервисов, заданных в данном объекте.
boolean isServiceIdle() - Возвращает true, если хотя бы один сервис свободен.
int getNumberServices() - Возвращает количество сервисов, задаваемых этим объектом.
int getNumberQueues() - Возвращает количество очередей, задаваемых этим объектом.