- •Учебное пособие по Enterprise Library
- •© 1992-2004 XJ Technologies Company Ltd. www.xjtek.com
- •Copyright © 1992-2004 XJ Technologies. Все права защищены.
- •Содержание
- •С чего начать работу в AnyLogic
- •Как создать модель
- •Как добавлять объекты
- •Как соединять объекты
- •Как создать анимацию
- •Модель банковского отделения
- •Создание нового проекта
- •Создание блок-схемы
- •Запуск модели и изучение ее поведения
- •Задание данных
- •Задайте следующие свойства объекта:
- •а В очереди будут находиться не более 15 человек.
- •Задайте свойства объекта Delay:
- •Создание анимации
- •Задайте следующие свойства ломаной линии:
- •Нарисуйте прямоугольник:
- •Задайте следующие свойства:
- •ATM.size() > 0 ? Color.green : Color.white
- •Задайте следующие свойства объекта:
- •Теперь Вы можете запустить модель и изучить ее поведение.
- •Сбор статистики
- •Включите сбор статистики
- •Измените некоторые свойства индикатора:
- •ATM.getStatsUtilization().mean()
- •Моделирование банковских кассиров
- •Задайте следующие свойства объекта:
- •Задайте следующие свойства объекта:
- •Задайте следующие свойства объекта:
- •Запустите модель и изучите ее поведение.
- •Отображение кассиров на анимации
- •Назовите ломаную линию tellerLocations.
- •shape.setup(); setAnimation( shape );
- •Задайте следующие свойства объекта:
- •Задайте следующие свойства объекта:
- •Изменение количества кассиров
- •Задайте следующие свойства:
- •Сбор статистики о времени обслуживания клиента
- •Задайте следующие свойства объекта:
- •Задайте следующие свойства объекта:
- •Задайте следующие свойства объекта:
- •Задайте следующие свойства объекта:
- •Задайте следующие свойства объекта:
- •Мы хотим отобразить собранную статистику на анимации.
- •Задайте следующие свойства индикатора:
- •Задайте следующие свойства индикатора:
- •Статистика сбрасывается с помощью специальных функций:
- •Оценка затрат операций
- •perHour / 60
- •Добавьте параметры, хранящие информацию о затратах:
- •Одна операция банкомата обходится компании в $0.30.
- •tellersIdleTime
- •tellersBusyTime
- •tellersIdleCost
- •tellersBusyCost
- •Создайте два набора данных и назовите их так:
- •waitCost
- •serviceCost
- •Задайте следующие свойства:
- •Задайте следующие свойства объекта:
- •Добавьте следующие строки кода:
- •Модель цеха предприятия
- •Создание нового проекта
- •Создание простой модели
- •Задайте следующие свойства объекта:
- •Задайте следующие свойства объекта:
- •Выберите queueSize из списка параметров класса.
- •Теперь мы создадим блок-схему нашей модели.
- •Задайте следующие свойства объекта:
- •Добавьте объект конвейера Conveyor.
- •Задайте следующие свойства объекта:
- •Оставьте принятые по умолчанию свойства объекта.
- •Оставьте принятые по умолчанию свойства объекта.
- •Запустите модель щелчком по кнопке Запустить .
- •Создание анимации
- •Создайте анимацию станции
- •Задайте следующие свойства объекта:
- •Задайте следующее свойство объекта:
- •Задайте следующие свойства конвейера:
- •Запустите модель щелчком по кнопке Запустить .
- •Создание различных типов деталей
- •а Класс Entity определен в Enterprise Library.
- •setColor( Color.red );
- •Задайте следующее свойство объекта:
- •Нарисуйте конвейеры
- •Нарисуйте анимацию, как показано на рисунке ниже:
- •Задайте следующие свойства объекта:
- •Теперь запустите модель щелчком по кнопке Запустить .
- •Блокировка станции
- •В случае переполнения буфера заблокируйте объект:
- •if(queue.size()+1 == queue.get_capacity()) block();
- •Запустите модель щелчком по кнопке Запустить .
- •Изменение интенсивности поставки деталей
- •Задайте следующее свойство у обоих объектов Source:
- •Задайте следующие свойства объекта:
- •Задайте следующие свойства созданного ползунка:
- •б Задайте следующий динамический текст:
- •в Задайте следующий динамический текст:
- •Задайте следующие свойства объекта:
- •Добавление сборочной станции
- •Задайте следующие свойства объекта:
- •Задайте следующие свойства объекта:
- •Задайте следующие свойства объекта:
- •Задайте следующие свойства объекта:
- •Сбор статистики производительности
- •Задайте следующие свойства индикатора:
- •а Введите sink.getAverageRate().
- •Измените размер кнопки и задайте следующие свойства:
- •Моделирование выхода оборудования из строя
- •В среднем на починку станции будет уходить 15 минут.
- •Модель отделения офтальмологии
- •Создание нового проекта
- •Создание анимации
- •а Назовите прямоугольник waitingRoom.
- •б Назовите прямоугольник staffroom.
- •в Назовите прямоугольник staffLounge.
- •г Назовите прямоугольник storageRoom.
- •а Напишите следующий код в поле Дополнительный код класса:
- •Задайте следующие свойства объекта:
- •Создание блок-схемы
- •Теперь мы создадим блок-схему нашей модели.
- •Добавьте объект Source. Задайте следующие свойства объекта:
- •Задайте следующие свойства объекта:
- •а Пациенты будут приходить в приемный покой отделения.
- •б Выберите объект, задающий транспортную сеть модели.
- •Задайте следующие свойства объекта:
- •Задайте следующие свойства объекта:
- •б Создайте динамическую группу фигур.
- •Моделирование занятия комнат
- •Задайте следующие свойства объекта:
- •Запустите модель щелчком мыши по кнопке Запустить .
- •Моделирование вызова врача
- •Унаследуйте класс сообщения от класса Entity.
- •Объект будет задавать свойства ресурсов типа Doctor.
- •Задайте следующие свойства объекта:
- •Объект будет задавать свойства ресурсов – офтальмоскопов.
- •Задайте следующие свойства объекта:
- •Задайте следующие свойства объекта:
- •Заключение
Учебное пособие по Enterprise Library
YОбъект NetworkRelease освобождает ранее занятые статические ресурсы. С помощью этого объекта мы будем освобождать ранее занятые процедурные комнаты после проведения процедуры.
Задайте следующие свойства объекта:
аУкажите, что освобождаться будут ресурсы типа ProcRoom
Запустите модель щелчком мыши по кнопке Запустить .
Ô Текущая контрольная модель: Examples \ Enterprise Library Tutorial Models \ Ophthalmology Department 2 - Room seizing.alp.
© 1992-2004 XJ Technologies http://www.xjtek.com |
111 |
Учебное пособие по Enterprise Library
4.8 Моделирование вызова врача
Теперь мы закончим создание нашей модели, промоделировав вызов офтальмолога в процедурную комнату.
► Создайте новые ресурсы
X Создайте класс сообщения Doctor
Y Создайте класс сообщения Scope
Z Добавьте объект
NetworkResource
[ Добавьте объект
NetworkResource
XСоздайте класс сообщения Doctor. Сообщения этого класса будут представлять в нашей модели офтальмологов.
Унаследуйте класс сообщения от класса Entity.
а Чтобы создать экземпляр группы фигур этого класса,
напишите следующий Дополнительный код класса:
Model._Group.DoctorShape shape = ((Model)Engine.getRoot()).animation.new DoctorShape();
б Чтобы добавить на анимацию созданную группу фигур, напишите следующий Код инициализации:
shape.setup(); setAnimation( shape ); enableRotation( false );
112 |
© 1992-2004 XJ Technologies http://www.xjtek.com |
Учебное пособие по Enterprise Library
YСоздайте класс сообщения Scope. Сообщения этого класса будут представлять офтальмоскопы.
Унаследуйте класс сообщения от класса Entity. Анимационный код писать не надо, поскольку мы не будем задавать для объекта уникальную анимацию.
ZОбъект будет задавать свойства ресурсов типа Doctor.
Задайте следующие свойства объекта:
а Назовите объект doctors
б Задайте базовое местоположение ресурса
в Укажите, что ресурсами являются сообщения класса Doctor
[Объект будет задавать свойства ресурсов – офтальмоскопов.
Задайте следующие свойства объекта:
аНазовите объект scopes
б Сделайте ресурсы переносными
в Задайте местоположение ресурса
г Укажите, что ресурсами являются сообщения класса Scope
© 1992-2004 XJ Technologies http://www.xjtek.com |
113 |
Учебное пособие по Enterprise Library
► Измените блок-схему
X Добавьте объект
NetworkFetchQ
Y Добавьте объект
NetworkReturn
XЭтот объект моделирует доставку переносных ресурсов с помощью персонала. Задайте следующие свойства объекта:
а Назовите объект
fetchScope
б Выберите тип переносного ресурса: Scope
в Выберите тип ресурса- персонала: Doctor
г Укажите, покидает ли врач процедурную
вПереносные ресурсы могут приноситься и несколькими разными членами персонала, подробную информацию смотрите
вСправочном руководстве по Еnterprise Library.
г Когда офтальмоскоп будет принесен, мы можем отпустить врача. Однако в нашей модели он должен остаться в процедурной для того, чтобы провести процедуру.
114 |
© 1992-2004 XJ Technologies http://www.xjtek.com |