PedCmdService

Команда для
пешехода
"пройти
заданный
сервис".
Объект
задает один
физический
сервис
(кассу,
турникет). Он
обрабатывает
одного
пешехода
мгновенно.
Вход в
объект
заблокирован,
пока сервис
занят, и
открывается,
когда
сервис
становится
свободен.
Используйте
объект PedCmdQueue
перед этим
объектом.
Объект PedCmdService
следует
использовать
в том случае,
если Ваша
модель
содержит
всего один
сервис, или
если
комбинация
сервисов и
очередей
слишком
сложна,
чтобы ее
можно было
промоделировать
с помощью
объекта PedServices.
Параметры
класса
- Класс пешехода
- Класс пешехода, проходящего сквозь объект. Он должен быть
унаследован от класса Ped. Вы
используете собственный
класс для создания пешеходов, то рекомендуем Вам указать его здесь,
чтобы иметь возможность явно обращаться к собственным полям этого
класса в динамических параметрах. В противном случае собственные поля
класса будут недоступны.
Синтаксис T
extends Ped
Значение по
умолчанию Ped
Порты
- Port in
- Входной порт.
- Port out
- Выходной порт, через который пешеходы покидают объект в
случае
успешного завершения команды.
- Port ccl
- Выходной порт, через который пешеходы покидают объект в
случае
события "отмены" (возникшего в результате вызова метода cancel или метода cancelAll).
Параметры
- Тип
- Тип сервиса. Используйте Протяженный сервис,
если Вам нужно, чтобы пешеходы двигались от
начальной точки линии и затем продвигается к ее конечной точке.
Используйте Точечный
сервис,
если пешеходы должны просто провести определенное время в какой-то
точке сервиса.
Синтаксис int
type
Значение
по умолчанию: Точечный
- Фигура (линия)
- Фигура (линия), отображающая сервис.
Синтаксис ShapeLine
serviceShape
- Время задержки [динамический]
- Время обслуживания (в единицах модельного
времени). Время,
которое пешеход проводит
в начальной точке протяженного сервиса, или в любой точке точечного
сервиса.
Синтаксис double delay
Локальная
переменная T
ped - пешеход.
Значение по умолчанию: uniform(2.0*second(), 3.0*second())
- Время восстановления [динамический]
- Время восстановления сервиса после обслуживания пешехода, в
течение которого сервис закрыт. Задается в секундах.
Синтаксис double
recoveryTime
Локальная
переменная T
ped - пешеход.
Значение по умолчанию: 0.0
- Ждать, пока пешеход покинет сервис
- [Виден, если Тип
сервиса Протяженный] Если опция выбрана (true), то сервис не начнет обслуживание нового
пешехода, пока обслуживаемый в данный момент пешеход не дойдет до
конечной точки линии или ломаной этого протяженного сервиса.
В качестве примера сервиса с таким дополнительным требованием можно
привести контроль безопасности (кабинки проверки документов) в
аэропорту, а в качестве сервиса без такого ограничения - турникеты.
Синтаксис boolean
waitForPedToExit
Значение по умолчанию false
- Действие при входе [динамический]
- Код, выполняемый, когда пешеход поступает в объект.
Синтаксис void
onEnter
Локальная переменная
T ped - пешеход.
- Действие при начале обслуживания [динамический]
- Код, выполняемый, когда начинается обслуживание пешехода.
Синтаксис void
onBeginService
Локальная переменная
T ped - пешеход.
- Действие при окончании обслуживания [динамический]
- Код, выполняемый, когда заканчивается обслуживание
пешехода, и он
готов покинуть сервис.
Синтаксис void
onEndService
Локальная переменная T ped - пешеход.
- Действие при выходе [динамический]
- Код, выполняемый, когда пешеход покидает объект через порт out.
Синтаксис void
onExit
Локальная переменная
T ped -
пешеход.
- Действие при отмене [динамический]
- Код, выполняемый, когда пешеход покидает объект через порт ccl.
Синтаксис void
onCancel
Локальная переменная
T ped -
пешеход.
- Действие при освобождении [динамический]
- Код, выполняемый, когда сервис становится свободным.
Синтаксис void
onBecomeIdle
- Прямое направление [динамический]
- Если true, то пешеход проходит сервис в
прямом
направлении, если false – то в обратном.
Синтаксис boolean
straightDirection
Локальная переменная
T ped -
пешеход.
Значение по умолчанию: true
- Точность достижения сервиса, в метрах [динамический]
- Задает расстояние в метрах, на которое пешеход должен
приблизиться к сервису, чтобы началось его обслуживание.
В случае линии или ломаной подразумевается расстояние до любой ее точки.
Синтаксис double serviceReachTolerance
Локальная переменная:
T ped - пешеход
Значение по умолчанию 0.1
Функции
void
take(T ped)
- Передает
заданного
пешехода в
сервис.
void cancel(T ped)
-
Заставляет
пешехода
немедленно
покинуть
объект
через порт ccl.
Для
пешехода
выполняется
код
параметра
"Действие
при отмене".
void cancelAll()
-
Заставляет
всех
пешеходов
немедленно
покинуть
объект
через порт ccl.
Для
каждого
пешехода
выполняется
код
параметра
"Действие
при отмене".
int size()
- Возвращает
количество
пешеходов,
находящихся
внутри.
void
ping(T ped)
- Если вход в объект не заблокирован, то вызывает выполнение
кода Действия
при освобождении.
boolean
isIdle(T
ped)
- Возвращает true,
если в
текущий момент времени сервис свободен и может обслужить пешехода.