Шаг
8.
Моделирование
вызова
врача
Теперь
мы
закончим
создание
нашей
модели,
промоделировав
вызов
офтальмолога
для
проведения
процедуры
офтальмоскопии.
По пути
к
пациенту,
ожидающему
в
приемном
покое,
офтальмолог
забирает
офтальмоскоп
из
комнаты
хранения
оборудования.
Затем
он
сопровождает
пациента
в
свободную
(и
занятую
ранее
для
этого
пациента)
процедурную
комнату.
Там он
проводит
осмотр
пациента,
после
чего
относит
офтальмоскоп
в
комнату
хранения
и
возвращается
в
ординаторскую,
а
пациент
покидает
отделение.
Измените
диаграмму
процесса
- Измените
свойства
объекта
networkSeize.
С
помощью
этого
объекта
мы
хотим
моделировать
вызов
доктора
(с точки
зрения
сетевых
ресурсов
этот
блок
должен
теперь
захватывать
помимо
статического
ресурса
процедурной
комнаты
еще и
движущийся ресурс
типа
"врач" и
переносной
типа
"офтальмоскоп").
Введите {procRooms, doctors,
scopes} в
поле Список
ресурсов
{pool1, ...}.
Теперь
этот
блок
будет
захватывать
не один,
а три
ресурса
трех
разных
типов.
- Измените
диаграмму
процесса.
Вставьте
новые
объекты,
как
показано
на
рисунке:

- Измените
свойства
первого
добавленного
нами
объекта типа
NetworkSendTo
(названного
на
рисунке
с
диаграммой
процесса
sendToStorage).
Объект NetworkSendTo направляет
(перемещает)
сетевые
ресурсы
из их
текущего
местоположения
в
другое
место
сети,
указанное
пользователем.
В нашем
случае
мы
хотим
отослать
захваченные
ресурсы
(а
именно -
врача,
поскольку
другие
занятые
для
этого
пациента
ресурсы
сами
перемещаться
не
могут) в
комнату
хранения
оборудования
для
того,
чтобы
взять
там
свой
офтальмоскоп
(тот,
который
был
ранее
занят
этим
пациентом
с
помощью
объекта
networkSeize).
Задайте
следующие
свойства
объекта:
- Назовите
объект sendToStorage.
- В
поле Список
ресурсов
{pool1, ...}
укажите,
какие
именно
ресурсы
Вы
хотите
перемещать
с
помощью
этого
блока.
Введите
здесь {doctors}.
- Выберите
опцию К
захваченному
ресурсу,
чтобы ресурсы
перемещались
к
захваченному
ранее
ресурсу
(в нашем
случае -
офтальмоскопу).
- Укажите
имя
ресурса,
к
которому
будут
перемещаться
ресурсы.
Введите
в поле Ресурс
имя
объекта,
задающего
ресурс
типа
"офтальмоскоп":
scopes.
- Измените
свойства
следующего объекта типа
NetworkSendTo,
названного
на
рисунке
с
диаграммой
процесса sendToPatient).
Этот
блок
моделирует
перемещение врача
с
офтальмоскопом
к
пациенту,
ждущему
в
приемном
покое. Задайте
следующие
свойства
объекта:
- Назовите
объект sendToPatient.
- Задайте
список
ресурсов,
которые
этот
объект
будет
перемещать.
Введите
{doctors,
scopes} в
поле Список
ресурсов {pool1, ...}
- В
параметре
Отсылать
ресурсы выберите
опцию К
заявке.
Тем
самым
мы
задаем
в
качестве
адреса
движения
ресурсов
местоположение
занявшей
их
заявки.
- Измените
свойства
объекта
NetworkAttach.
Этот
блок
присоединяет
указанные
сетевые
ресурса
(из
числа
ранее
захваченных
заявкой)
к этой
заявке.
В
результате
присоединения
они
будет
перемещаться
вместе
с
заявкой (сопровождать
ее в
виде
"эскорта")
до тех
пор,
пока
они не
будут
отсоединены
от этой
заявки
или
освобождены.
Вы
можете
присоединять
к
заявке
только
те
ресурсы,
которые
в
текущий
момент
захвачены
этой
заявкой
и
находятся
в том же
самом
узле
сети,
где и
она.
С
помощью
этого
блока
мы
присоединим
ресурсы
врача и
офтальмоскопа
к
заявке-пациенту,
так что
при
перемещении
пациента
в
процедурную
комнату
перемещаться
будут
все
вместе.
Задайте
следующие
свойства
объекта:
- В
параметре
Присоединять
выберите
опцию Все
захваченные
ресурсы
в месте
нахождения
заявки.
Блок NetworkAttach
позволяет
присоединять
к
заявки
не
только
все, но и
определенные
выборочные
ресурсы
- в этом
случае
Вам
было бы
нужно
выбрать
опцию Заданные
ресурсы
и
указать
их в
расположенном
ниже
поле Список
ресурсов {pool1, ...}.
- Измените
свойства
объекта
NetworkDetach.
Этот
блок
отсоединяет
от
заявки
ранее
захваченные
и
присоединенные
нестатические
сетевые
ресурсы.
Отсоединенные
ресурсы
будут
по-прежнему
захвачены
заявкой,
но уже
не
будут
следовать
вместе
с ней
при ее
перемещении в
другие
узлы
сети.
Нам
нужен
этот
блок
для
того,
чтобы
после
проведения
процедуры
офтальмоскопии
пациент
мог
покинуть
отделение,
а врач
мог
отнести
офтальмоскоп
на
место и
перейти
к
осмотру
следующего
пациента
или
вернуться
в
ординаторскую.
Задайте
следующие
свойства
объекта:
- Выберите
опцию Все
присоединенные
ресурсы.
- Измените
свойства
последнего
добавленного
нами в
диаграмму
процесса
объекта типа
NetworkSendTo. С
помощью
этого
блока
мы
хотим
промоделировать
то, как
врач
возвращает
офтальмоскоп
в
комнату
хранения
инструментов
после
проведения
процедуры
осмотра
пациента.
Задайте
следующие
свойства
объекта:
- Назовите
объект returnScope.
- Задайте
список
ресурсов,
которые
этот
объект
будет
перемещать.
Введите
{doctors,
scopes} в
поле Список
ресурсов {pool1, ...}.
- В
параметре
Отсылать
ресурсы выберите
опцию В
заданный
узел.
- Укажите
имя
узла,
куда
будут
перемещаться
ресурсы.
Введите
storageRoom
в поле Узел.
Мы
закончили
создание простейшей
модели
отделения
офтальмологии.
Запустите
модель.
Теперь
Вы
можете
увидеть,
что для
проведения
офтальмоскопии
вызывается
врач
вместе
с
офтальмоскопом.
Шаг
7.
Занятие
процедурной
комнаты