Задает конец отдельной ветви диаграммы процесса, моделирующей завершающую задачу для освобождаемого ресурса (или ресурсов).
Ветвь завершающей задачи начинается из нижнего порта блока, который освобождает ресурсы (Release), и заканчивается блоком ResourceTaskEnd.
Агент может сразу перейти в следующий блок диаграммы процесса, не дожидаясь окончания выполнения завершающей задачи ресурсами. Ресурсы же станут доступными для следующей задачи только после окончания выполнения этой задачи.
Демо-модель: Emergency Department Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели.В приведенной модели отделения скорой медицинской помощи вы можете найти примеры задания как подготовительной, так и завершающей задач. Для этого откройте диаграмму типа агента USoundProcess, задающего нестандартный блок с логикой процесса обследования с помощью УЗИ. Для этого обследования инженер УЗИ должен доставить аппарат УЗИ к пациенту. Если вы посмотрите на диаграмму процесса, то увидите, что вначале пациент занимает ресурс (инженера УЗИ, в блоке seizeTech). В этот момент начинается подготовительная задача этого ресурса, заданная ветвью диаграммы процесса, соединенной с нижним портом этого блока. Ветвь диаграммы, задающая подготовительный процесс ресурса, всегда начинается с блока ResourceTaskStart. В этом блоке задается, для какого именно ресурса задается подготовительная задача (здесь это инженер УЗИ technician). В нашем случае подготовительный процесс состоит из блока seizeUSound (захватывает ресурс - аппарат УЗИ uSound), блока takeUSound типа MoveTo (инженер-техник идет к занятому им аппарату) и блока attachUSound типа ResourceAttach (присоединяет ресурс - аппарат УЗИ к ресурсу - инженеру). Подготовительная задача заканчивается, когда соединитель приходит в нижний порт блока Seize. Поскольку у этого блока Seize выбрана опция Пересылать захваченные ресурсы, то инженер УЗИ в итоге доставит аппарат УЗИ нуждающемуся в нем пациенту.
После блока doUSound типа Delay, моделирующего проведение обследования, следует блок releaseTechUSound типа Release. Он освобождает указанный ресурс (technician) и начинает завершающую задачу (заданную ветвью диаграммы, соединенной с нижним портом блока). Инженер УЗИ переходит в узел базового расположения захваченного ресурса usound (это делает блок moveTo) и освобождает этот ресурс по прибытии (блок release). Ветвь диаграммы, задающей завершающую задачу, всегда заканчивается блоком ResourceTaskEnd.
- Если опция выбрана, ресурсы будут перемещены в их базовое местоположение по окончании выполнения задачи.
Тип значения: boolean
Значение по умолчанию: true
Локальная переменная: T unit — ресурс - Если опция выбрана, то все ресурсы, захваченные ресурсом, завершающим в этом блоке свою задачу, будут освобождены.
Тип значения: boolean
Значение по умолчанию: true Локальная переменная: T unit — ресурс
- При выходе
- Код, выполняемый, когда ресурс завершает задачу и покидает этот блок ResourceTaskEnd.
Локальные переменные:
T unit — ресурс
Agent agent — агент, который обслуживался перед выполнением этой завершающей задачи ресурса - При извлечении
- Код, выполняемый, когда ресурс умышленно извлекается из блока посредством вызова функции ресурса remove(). Этот код вызывается автоматически после вызова функции remove().
Локальная переменная: T unit — ресурс
Функция | Описание |
---|---|
long count() | Возвращает количество ресурсов, прошедших через этот блок ResourceTaskEnd. |
- in
- Входной порт.
-
Как мы можем улучшить эту статью?
-