Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГОСы 1.7 вопросы 6-10.docx
Скачиваний:
6
Добавлен:
17.04.2019
Размер:
547.07 Кб
Скачать

9.4. Слам II

Это универсальная система для любых концептуальных моделей и способов моделирования на основе фортрана. Модели оформляются либо в виде сетевой блочной структуры, либо как совокупность системных и пользовательских процедур, написанных на фортране.

СЛАМ характеризуется, помимо прочего, наличием специальной группы (входных) операторов. В них разработчик (пользователь) определяет требования к модели: название, дату оформления и т. д. Признаками этой группы операторов являются служебные слова GEN - начало, и FIN - конец. Программа процессно-ориентированной модели СЛАМ полностью представляет собой группу входных операторов. Она сопровождается сетевой блочной структурой.

Дискретно-событийные и непрерывные (включая комбинированые непрерывно-дискретные) модели, написанные на универсальном языке FORTRAN в виде пакета процедур, включают группу входных операторов как составную часть модели.

Пример: процессно-ориентированная модель.

Имеется линия приема и обработки заявок. Ее сетевая модель показана на рис.9.2.

CREATE

QUEUE

QUEUE

TBC

MA

IQ

ACTIVITY

BLOCK

TF

1

0

4

0

2

EXPON

(0.25)

EXPON

(0.5)

1

2

1

2

MC

N

N

M

QC

IFL

TERMINATE

TERMINATE

TIME IN SYSTEM

INT(1)

TIME BET. BALKS

SUB

BET.

M

M

COLT

COLT

Рис.9.2

Здесь запросы клиентов обрабатываются последовательно двумя операторами. В информационной сети могут находиться одновременно не более 8 заявок: до 4 - в базе данных первого оператора, до 2 - в базе данных второго оператора и по одной на ЭВМ у каждого оператора. Если заявка не может быть принята базой данных первого оператора из-за недостатка места, она отсылается в другой сервер, расположенный вне рассматриваемой сети. Переполнение базы данных второго оператора приводит к блокированию (прерыванию) процесса обработки первого оператора. Интервалы между поступлениями запросов в сеть распределены случайно экспоненциально с математическим ожиданием 0.4 единицы времени. Времена обработки на рабочих местах распределены также экспоненциально, причем на 1-м рабочем месте среднее время обработки равно 0.25 единиц, а на втором - 0.5. Время работы сети - 300 единиц. Необходимо определить время нахождения каждой заявки в сети и интервалы отказа в приеме заявок. Принятые СЛАМ-обозначения:

CREATE - генератор компонентов (заявок);

TF - время первого поступления (0- по умолчанмю);

TBC - интервал поступления (будет указан в программе);

MA - элемент массива ATRIB, запоминающий время поступления;

MC - предельное количество поступающих заявок (не ограничено);

M - максимальное количество выходов, по которым компоненты могут поступать дальше (, но задействован только один выход);

QUEUE - Q-узел (очередь);

IQ - начальное количество запросов;

QC - максимально допустимое количество компонентов;

IFL - номер файла очереди;

ACTIVITY - действие;

EXPON(0.25) - закон распределения времени обработки;

1 в квадрате - номер рабочего места (оператора);

N - число рабочих мест с данным типом работ;

BLOCK - символ блокировки;

COLT - блок сбора статистики;

INT(1) - системная переменная - интервал времени между моментом поступления (1 - первый атрибут) и текущим временем TNOW;

TIME IN SYSTEM, TIME BET. BALKS - название документов статистики;

TERMINATE - выход;

BET. - интервалы поступления отказных запросов;

SUB - метка блока.

MATLAB

Система MATLAB является интерактивной системой, ориентированной на работу с массивами данных. Допускает обращение к программам, написанным на языках FORTRAN, С и С++. Это одновременно и операционная среда, и язык программирования. Содержит коллекции М-файлов (расширение - m) для решения многих задач или проблем из различных областей знания. Пользователь сам может написать специализированные функции и программы в виде М-файлов для многократного использования. М-файлы являются текстовыми файлами на языке MATLAB интерпретируемого характера. Переменные, записываемые в рабочую область памяти MATLAB, могут быть сохранены в двоичном формате в MAT-файлах (расширение - mat) для последующего вызова и использования. Все функции, разработанные на внешнем по отношению к MATLAB языке, оформляются в виде MEX-файлов [6].

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

Дополнительно MATLAB содержит программное средство The MATLAB Notebook, позволяющее создать посредством Microsoft Word интерактивные текстовые продукты (М-книги), непосредственно связанные с MATLAB.

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

MATLAB содержит большое количество программных подсистем, предназначенных для обслуживания конкретных предметных областей и имеющих определенное целевое назначение.

Подсистема Simulink - интерактивная среда для имитационного моделирования и анализа широкого класса динамических систем, использующая графический язык блок-диаграмм. Предоставляет возможность моделирования непрерывных, дискретных и гибридных систем. Включает в себя библиотеку блоков (непрерывные и дискретные элементы, математические функции, нелинейные элементы, источники и приемники сигналов, дополнительные блоки), которые можно использовать для создания новых систем. Позволяет объединять блок-диаграммы в составные блоки (SubSystem), что обеспечивает иерархическое представление структуры модели. Содержит средства для создания блоков и библиотек, определяемых пользователем. Дает возможность моделировать подсистемы, имеющие изменяемую во времени структуру. Simulink-модели оформляются в виде файлов с расширением mdl.

Процесс построения модели Simulink включает в себя компоновку и задания необходимых параметров. Компоновка заключается в выборе из библиотек Simulink необходимых блоков, размещении их в поле модели и задании межблочных связей. Далее для каждого блока устанавливаются соответствующие параметры, отвечающие требованиям моделируемой системы.

Библиотечный Simulink-блок представляет собой систему типа вход-выход-состояние (иногда только вход или выход) и может быть как простым, так и составным. С точки зрения объектно-ориентированной структуры каждый блок библиотеки является классом, а блок модели - экземпляром класса. В этом экземпляре пользователь может задавать свои параметры в зависимости от требований, предъявляемых к моделируемой системе.

В пакете Simulink различают два "времени": непрерывное и дискретное. Для последнего необходимо задать величину шага приращения скалярной величиной.

Для реализации гибридного поведения модели в пакете Simulink предусмотрены специальные средства, реагирующие на особые события и вырабатывающие специальные сигналы. К этим средствам относятся блоки Enable (доступен), Trigger (скачок) и Hit Crossing (локализация момента смены знака). Первый реагирует на появление у переменной отрицательных значений и отключает блок, внутри которого он расположен, до тех пор, пока значение переменной опять не станет положительным. Второй имеет два входа и реагирует на "скачок", подаваемый на специальный вход, запоминая при этом значение переменной, подаваемой на второй ход. Третий способен найти значение времени, при котором входной сигнал принимает нулевое значение, и выдать соответствующий сигнал.

Simulink Extras - библиотека расширения Simulink, содержащая специализированные средства визуализации спектрального анализа, отображения корреляционных характеристик, преобразования числовых величин и координат, моделирования двустабильных ячеек, решения задач линеаризации.

DSP Blockset - библиотека моделирования дискретных систем, связанных с цифровой обработкой процессов, корреляционным анализом, линейным предсказанием и сжатием информации. Блоки накопителей данной библиотеки позволяют описывать накопление и хранение поступающей информации или заявок на обслуживание. Эти блоки могут быть использованы при моделировании запоминающих устройств вычислительных систем и систем массового обслуживания. Queue-блоки обеспечивают сохранение величин в регистрах, имеющих формат FIFO. Stack-блок сохраняет входные данные в регистре формата LIFO. Блок Distributor накапливает N значений и выдает их одновременно на N каналов (период выдачи данных в N раз меньше периода поступления). Statistics - блоки, непосредственно включаемые в структуру модели и позволяющие автоматизировать анализ процессов.

Пример. Предположим, что интересующая нас информация находится в Интернете на одном из двух Web-узлов - Сайт 1 и Сайт 2. Результаты поиска нужно отобразить. Все данные (результат анализа сайтов и факты сообщений) имеют бинарные значения - 1, 0. Число выборок - 4.

Составим таблицу состояний системы (табл.9.1).

Таблица 9.1. Входные и выходные данные

Наличие нужной информации

Факт сообщения

Сайт 1

Сайт 2

0

0

1

0

1

1

1

0

1

1

1

1

Осуществим ручной ввод данных с помощью блоков-источников постоянных величин (Constant). Таких блоков нужно два - по числу источников информации (Сайт 1 - Siti1, Сайт 2 - Siti2). Для первой выборки необходимо в поле параметров этих блоков ввести соответственно числа 0, 0. Набор состояний пользователя Интернета легко описывается блоком Combinatorial Logic. В поле параметров этого блока укажем по два входных набора и один выходной (всего четыре тройки чисел): [0 0 1;0 1 1;1 0 1;1 1 1], отобразив таким образом результаты поиска и факт сообщения. В качестве приемника сообщений выберем блок цифровых дисплеев - два дисплея для отображения входных данных, один - для вывода факта сообщения. Так как такой совокупности дисплеев нет в библиотеке Simulink, необходимо перенести библиотечный блок Display в модель, заказать его характеристики и увеличить блок по высоте. В этом случае при первом запуске модели на выполнение в поле блока Display автоматически появятся все три дисплея (так как выход блока Combinatorial Logic - вектор). Поскольку информация от двух источников передается через одного пользователя, потребуется также блок мультиплексора - Mux (рис.9.3).

0

0

0

Сайт 1

Constant

. . .

. . .

Сайт 1

0

1

Факт сообщения

Combinatorial Logic

Mux

Constant 1

Display

Рис.9.3

Вводя любые входные наборы, можно последовательно исследовать реакцию модели для четырех выборок.

Для визуального упрощения сложных Simulink-моделей, кроме SubSystem, в определенных случаях целесообразно использовать маскированные подсистемы (Mask Subsystem), куда помещают часть всей модели и которые нельзя увидеть на блок-диаграмме. Это обычные блоки SubSystem, которые введены в Simulink-модели из библиотеки и обработаны редактором маски (Mask Editor). Для запуска последнего необходимо в меню Edit окна блок-диаграммы Simulink выбрать команду Mask Subsystem.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]