Главная страница
Навигация по странице:

  • Задание №21.

  • Класс Framе Структура класса показана на рисунке 1. Frame

  • Класс «Сервер»

  • Класс «Маршрутизатор»

  • Класс «Рабочая станция»

  • Курсовая работа по дисциплине Моделирование систем


    Скачать 0.63 Mb.
    НазваниеКурсовая работа по дисциплине Моделирование систем
    Дата02.02.2019
    Размер0.63 Mb.
    Формат файлаdoc
    Имя файлаZadania_KR_Zaochniki.doc
    ТипКурсовая
    #66099
    страница4 из 9
    1   2   3   4   5   6   7   8   9

    Задание №20.


    Модель полета тела без учета сопротивления воздуха. Требуется построить модель для исследования движения полета тела, брошенного под углом к горизонту. При нажатии кнопки «Запуск» вычисляется значение L –расстояние, на которое пролетит тело и H – максимальная высота подъема тела. Эти значения высчитываются с учетом заданного угла бросания тела и заданной начальной скорости в полях ввода и отображаются как статический текст.

    Затем запускается событие event для расчета траектории движения, которая отображается в виде графика.

    Вычисление максимального расстояния полета и максимальной высоты:



    Расчет траектории выполняется по формулам:



    dt =0.001. Период дискретизации

    В расчетных зависимостях  - угол бросания тела к горизонту в радианах равен /57,3. Где  значение угла в градусах. Время движения t рассчитывается путем умножения шага моделирования i на период дискретизации модели dt.

    График модели Обновляется автоматически с периодом обновления равным dt. Отображает 1000 последних точек. Модель останавливается в заданное время, равное 100 секундам либо когда значение x будет больше или равно значению L пройденного пути. Остановка модели в коде выполняется вызовом метода pause() процессора модели Engine. Вызов метода выполняется с помощью оператора getEngine().pause().

    Задание №21.


    Модель «Компьютерная сеть»Разработать модель взаимодействия сервера с тремя рабочими станциями, используя механизм портов и сообщений.

    Модель состоит из трех активных классов: Сервер, Маршрутизатор, Рабочая станция. В сети передается сообщение – информационный кадр. Экземпляр класса Frame.

    Класс Framе

    Структура класса показана на рисунке 1.

    Frame

    +id:int

    +Frame()

    +Frame(in int id )

    Структура информационного кадра

    Здесь id код сообщения, атрибут класса.

    Класс «Сервер»

    Активный класс моделирует работу сервера.

    При работе сервера событие его событие event из порта out посылает экземпляр класса Frame - сообщение. Код экземпляру классу сообщения назначается случайным образом как целое число, полученное в интервале от 1 до 11. Активный класс сервера выводит код отосланного сообщения и число посланных сообщений.

    Класс «Маршрутизатор»

    Класс обладает четырьмя портами p1, p2, p3, p4. Порт p1 служит для соединения с сервером и выполняет «Лавинную» маршрутизацию, пересылает полученное сообщение через порты p2, p3, p4. К этим портам подсоединяются рабочие станции.

    Класс «Рабочая станция»

    Рабочая станция обладает портом in для принятия сообщения.

    Если рабочая станция свободна, то она «окрашена» в зеленый цвет. Это состояние по умолчанию. Если станция обрабатывает полученное сообщение, она «окрашена» в красный цвет. Внутри пиктограммы рабочей станции выводится ее адрес – номер.

    Сообщения при поступлении в порт фильтруются. Если код сообщения равен адресу рабочей станции, то оно записывается в буфер – коллекцию сообщений рабочей станции, в противном случае сообщения теряется – отвергается.

    Рабочая станции подсчитывает и выводит информацию:

    • О числе принятых сообщений.

    • Не принятых сообщений

    • Оставшихся в буфере сообщений

    • О числе отработанных сообщений.

    Работа станции моделируется конечным автоматом.



    Конечный автомат рабочей станции

    idle – не активное состояние

    working – состояние обработки сообщения.

    t1 – Триггерный переход, срабатывает при получении сообщения.

    t2 – Переход, выполняемый по таймауту равном двум минутам.

    При переходе в состояние working, рабочая станция выбирает очередное сообщение из буфера.

    Активные классы модели должны быть коммутированы по портам в поле активного класса Main. В поле активного класса Main размещается кнопка идентификации рабочих станций. После запуска модель переходит в состояние ожидания идентификации рабочих станций. После нажатия кнопки идентификации рабочим станциям присваивается уникальный номер – адрес целое число из диапазона от 1 до 11. НОМЕРА НЕ ДОЛЖНЫ БЫТЬ ОДИНАКОВЫМИ !!! Затем кнопка идентификации блокируется, и модель начинает свою работу.

    Управление работой модельного процессора выполняется методами:

    getEngine().run();//Задается в коде кнопки «Идентификация», запуск модели

    getEngine().pause();//Вызывается в коде командной кнопки эксперимента. Пауза.

    Эксперимент длится 100 минут.

    Пример презентации по завершению работы модели показан на рисунке 10.



    Завершение работы модели.

    Контроль работы модели – подсчет числа сообщений. Сумма принятых и не принятых сообщений для каждой рабочей станции должна равняться числу посланных сервером сообщений.

    Сумма оставшихся сообщений и отработанных сообщений должна равняться числу принятых сообщений.
    1   2   3   4   5   6   7   8   9


    написать администратору сайта