Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Литература / Compyuternoe_modelirovanie_v_AnyLogic_7_Boev_VD.pdf
Скачиваний:
225
Добавлен:
12.02.2018
Размер:
8.72 Mб
Скачать

4.1.8.Сегмент Маршрутизатор

4.1.8.1.Исходные данные

1.Откройте тип агента Маршрутизатор.

2.Перейдите на область просмотра viewData.

3.Перетащите из палитры Презентация элемент Скруглен-

ный прямоугольник. На странице Основные в поле Имя:

оставьте имя, предложенное системой.

4.На странице Местоположение и размер панели Свойства

введите в поля X: 10, Y: 600, Ширина: 314, Высота: 190.

5.Перетащите элемент text и в поле Текст: введите Исход-

ные данные (рис. 4.9.).

6.Перетащите элементы Параметр и Переменная. Разместите их и дайте имена согласно рис. 4.10.

7.Значения по умолчанию элементов Параметр установите согласно табл. 4.7.

8.Тип timeOtkBK, timeVosstBK, proizvod установите double,

остальных параметров и простых переменных — int.

Рис. 4.10. Исходные данные сегмента Маршрутизатор

143

 

 

 

Таблица 4.7

 

 

 

 

Имя

Значение по

Имя

Значение по

умолчанию

умолчанию

 

 

emkBufer1

5000000

emkBuferNapr1

250000

timeOtkBK

3600

emkBuferNapr2

250000

timeVosstBK

3.7

emkBuferNapr3

250000

proizvod

40000

emkBuferNapr4

250000

4.1.8.2. Событийная часть сегмента Маршрутизатор

Элементы событийной части сегмента Маршрутизатор показаны на рис. 4.11. Сегмент включает Вычислительный комплекс,

Буфер 2, порты входа-выхода, Имитатор отказов вычислительного комплекса.

В свою очередь вычислительный комплекс содержит Блок контроля 1, Буфер 1, Блок обработки сообщений.

Построим событийную часть сегмента Маршрутизатор.

4.1.8.2.1. Блок контроля 1

Блок предназначен для контроля текущей емкости буфера 1 маршрутизатора. Он анализирует наличие в буфере 1 свободной памяти, достаточной для хранения поступившего сообщения, и

взависимости от результата анализа сообщение либо помещается

вбуфер 1, либо уничтожается.

Алгоритм работы Блока контроля 1 представлен на рис. 4.12. В AnyLogic этот алгоритм реализуется блоками selectOutput,

hold и sink.

1.В Палитре выделите Презентация. Перетащите элемент

Прямоугольник.

2.На странице Местоположение и размер панели Свойства

введите в поля X: 26, Y: 50, Ширина: 154, Высота: 150.

3. Перетащите объекты selectOutput, hold и sink на диаграмму агента Маршрутизатор, разместите и соедините так, как показано на рис. 4.11.

4. Перетащите элемент text и на странице Текст панели Свойства вместо слова text введите Блок контроля 1.

5.Выделите объект selectOutput.

6.В поле Имя: вместо selectOutput введите blokKontrol_1.

7.В поле Тип заявки: Agent замените Message.

144

Рис. 4.11. Событийная часть сегмента Маршрутизатор

145

Рис. 4.12. Алгоритм работы Блока контроля 1

8.Установите Выход true выбирается При выполнении условия.

9.В поле Условие введите условие:

(emkostBufer1-tekEmkostBufer1>=entity.dlina)&& (hold.isBlocked()==false)

При выполнении условия заявка направляется на выход T (выходной порт для заявок, для которых выбирается выход true) и на выход F (выходной порт для заявок, для которых выбирается выход false), если условие не выполняется, соответственно.

10.Выделите объект sink. В поле Тип заявки: Agent замени-

те Message.

11.В поле Действие при входе введите kolPotBK++; для счёта количества сообщений, потерянных при отказе вычислительного комплекса.

12.Выделите элемент hold. В поле Тип заявки: Agent заме-

ните Message.

146