Опубликован: 15.02.2013 | Доступ: свободный | Студентов: 255 / 0 | Длительность: 16:52:00
ISBN: 978-5-9556-0146-5
Лекция 5:

Модель функционирования сети связи

Отправляемое сообщение поступило в буфер. Дальше оно должно попасть в канал связи. Создайте порты для отправления и приёма сообщений.

  1. Из палитры Презентация перетащите элемент Скруглённый прямоугольник.
  2. Перейдите на страницу Дополнительные панели Свойства. Введите в поля X: 210, Y: 100, Ширина: 65, Высота: 60.
  3. Из палитры Основная перетащите два элемента порт. Разместите их как на рис. 4.8. В поле Имя: замените предложенное системой на вх и вых.
  4. Обратите внимание на то, чтобы у элементов Скруглённый прямоугольник и порт был установлен флажок На верхнем уровне. У остальных элементов сегмента Абонент1 этот флажок должен быть сброшенным.

Итак, отправляемое сообщение поступило в канал связи, подключённый к порту вых.

Через порт вх сообщения поступают из канала связи. Продолжим построение блока Абонент1.

  1. Перетащите объект selectOutput (имя selectOutput3). Он предназначен для контроля текущей ёмкости входного буфера. В случае заполнения буфера, сообщения теряются.
  2. Соедините порт вх с входом объекта selectOutput3.
  3. Перетащите объект sink (имя sink1). Его вход соедините с выходом F объекта selectOutput3.
  4. Выделите объект selectOutput3 и установите его свойства:
    • Класс заявки: Message
    • Выход true выбирается При выполнении условия
    • Условие emkBuferVx-tekEmkBuferVx>=entity.dlina
  5. Перетащите объект queue. Укажите его свойства:
    • Имя: БуферВх
    • Класс заявки: Message
    • Вместимость emkBuferVx
    • Действие при входе tekEmkBuferVx+=entity.dlina;
    • Действие при выходе tekEmkBuferVx-=entity.dlina;

    Соедините его вход с выходом Т объекта selectOutput3.

  6. Перетащите объект selectOutput5 (имя selectOutput4). Он предназначен для разделения потока полученных сообщений по категориям. На странице Основные панели Свойства установите свойства согласно табл. 4.5. Эти свойства также являются кодом. Код предназначен для счёта полученных сообщений за сеть связи в целом и по категориям сообщений, определения количества полученных сообщений за один прогон, вывода расчётов за каждого абонента, а также за сеть связи в целом.
  7. Соедините выход элемента БуферВх с выходом объекта selectOutput4.
    Таблица 4.5.
    Свойство selectOutput4
    Класс заявки: Message
    Использовать: Условия
    Действие при входе: g++;
    kolPol=g/kolProg;
    editbox.setText(kolPol, true);
    get_Main().g++;
    get_Main().всегоПол=get_Main().g/
    kolProg;
    get_Main().editbox.setText(get_Main().всегоПол, true);
    Условие 0 entity.numKat==1
    Действие при выходе 0 k1++;
    kolPolKat1=k1/kolProg;
    editbox1.setText(kolPolKat1, true);
    get_Main().k1++;
    get_Main().всегоПолКат1=get_Main().k1/kolProg;
    get_Main().editbox1.setText(get_Main().всегоПолКат1, true);
    Условие 1 entity.numKat==2
    Действие при выходе 1 k2++;
    kolPolKat2=k2/kolProg;
    editbox2.setText(kolPolKat2, true);
    get_Main().k2++;
    get_Main().всегоПолКат2=get_Main().k2/kolProg;
    get_Main().editbox2.setText(get_Main().всегоПолКат2, true);
    Условие 2 entity.numKat==3
    Действие при выходе 2 k3++;
    kolPolKat3=k3/kolProg;
    editbox3.setText(kolPolKat3, true);
    get_Main().k3++;
    get_Main().всегоПолКат3=get_Main().k3/kolProg;
    get_Main().editbox3.setText(get_Main().всегоПолКат3, true);
    Условие 3 entity.numKat==4
    Действие при выходе 3 k4++;
    kolPolKat4=k4/kolProg;
    editbox4.setText(kolPolKat4, true);
    get_Main().k4++;
    get_Main().всегоПолКат4=get_Main().k4/kolProg;
    get_Main().editbox4.setText(get_Main().всегоПолКат4, true);
    Свойство selectOutput5
    Класс заявки: Message
    Использовать: Условия
    Условие 0 entity.numAbOtpr==1
    Условие 1 entity.numAbOtpr==2
    Действие при выходе 1 отАб2++;
    get_Main().кПрСп21=отАб2/get_Main().
    отпр21;
    get_Main().КПрСп21.setText(get_Main().кПрСп21, true);
    Условие 2 entity.numAbOtpr==3
    Действие при выходе 2 отАб3++;
    get_Main().кПрСп31=отАб3/get_Main().
    отпр31;
    get_Main().КПрСп31.setText(get_Main().кПрСп31, true);
    Условие 3 entity.numAbOtpr==4
    Действие при выходе 3 отАб4++;
    get_Main().кПрСп41=отАб4/get_Main().
    отпр41;
    get_Main().КПрСп41.setText(get_Main().кПрСп41, true);
    Свойство selectOutput6
    Класс заявки: Message
    Использовать: Условия
    Условие 0 entity.numAbOtpr==5
    Действие при выходе 0 отАб5++;
    get_Main().кПрСп51=отАб5/get_Main().
    отпр51;
    get_Main().КПрСп51.setText(get_Main().кПрСп51, true);
    Условие 1 entity.numAbOtpr==6
    Действие при выходе 1 отАб6++;
    get_Main().кПрСп61=отАб6/get_Main().
    отпр61;
    get_Main().КПрСп61.setText(get_Main().кПрСп61, true);
  8. Перетащите два объекта selectOutput5 (имена selectOutput5 и selectOutput6). Объекты предназначены для разделения и счёта получаемых сообщений по абонентам. Значения свойств установите также согласно табл. 4.5. Выход по умолчанию объекта selectOutput5 соедините с входом объекта selectOutput6.
  9. Перетащите объект sink2. Его вход соедините с выходами 0…3 объекта selectOutput5 и выходами объекта selectOutput6.
  10. Установите свойства объекта sink2 согласно табл. 4.6. Код рассчитывает коэффициент пропускной способности сети связи и время передачи одного сообщения.
Таблица 4.6.
Свойство sink2
Класс заявки: Message
Действие при входе: врПередачи.add(time()-entity.timeOtpr);
editbox11.setText(врПередачи.mean(), true);
editbox12.setText(врПередачи.max(), true);
editbox13.setText(врПередачи.min(), true);
get_Main().коэфПропСпособ=get_Main().
всегоПол/get_Main().всегоОтпр;
get_Main().editbox10.setText(get_Main().коэфПропСпособ, true);
get_Main().врПередСооб.add(time()-entity.timeOtpr);
get_Main().editbox11.setText(get_Main().врПередСооб.mean(), true);
get_Main().editbox12.setText(get_Main().врПередСооб.max(), true);
get_Main().editbox13.setText(get_Main().врПередСооб.min(), true);
Алексей Гроссман
Алексей Гроссман

Здравствуйте, прошел курс "Концептуальное проектирование систем в AnyLogic и GPSS World". Можно ли получить по нему сертификат? У нас в институте требуют сертификаты для создания портфолио.

Елена Блинаева
Елена Блинаева