Структура модели и входной язык MVL

Для описания модели разработан специальный язык - Model Vision Language (MVL). Он имеет как графическую, так и текстовую формы.

Основным “строительным элементом” описания в MVS является устройство (device). Устройство - это некоторый активный объект, функционирующий параллельно и независимо от других объектов в непрерывном времени. Визуальным образом устройства на функциональной схеме является прямоугольник с ориентированными стрелками, изображающими входы и выходы, идентификатором устройства и иконкой класса

Каждое конкретное устройство является экземпляром какого-то класса. Класс устройства (device class) задает некоторый обобщенный прототип устройства. Экземпляр устройства определяет некоторое конкретное устройство, соответствующее данному классу. Иерархия классов позволяет выделить обобщенные свойства элементов системы в виде типовых устройств и связать их отношениями наследования с учетом свойства полиморфизма. Описание нового устройства всегда строится как описание класса устройств, а затем уже используются экземпляры устройств.

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

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

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

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

Входы, выходы и переменные состояния называются фазовыми переменными и все вместе составляют фазовый вектор устройства.

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

Описание проекта моделируемой системы (окно Project Manager) в общем случае включает в себя перечень классов, определения глобальных констант, определения глобальных процедур и функций, перечень импортируемых библиотек и определение экземпляра главного устройства выполняемой модели.

Модель проектируется в окне редактора виртуального стенда (Test Bench) из экземпляров классов, определенных в данном проекте, и/или из библиотечных классов (рис. 3.1).

Рис. 3.1. Формирование модели в системе Model Vision Studium

Полный цикл проведения вычислительного эксперимента с помощью MVS состоит из следующих этапов:

1. Инициализация проекта.

2. Редактирование описания модели.

3. Компиляция кода выполняемой модели.

4. Исследование поведения модели.

Для создания, удаления и связывания устройств можно использовать панель инструментов окна Test Bench или меню системы. Все манипуляции с графическими объектами в MVS соответствуют привычным стандартам.

Для задания всех рассмотренных свойств устройства необходимо перейти в окно редактирования класса, что можно сделать либо от любого его экземпляра (в Test bench или локального устройства в описании структуры составного устройства), либо через Project Manager. Перемещаясь по рубрикам описания класса задаются необходимые входные и выходные параметры, вложенная структура, а также его поведение.

Поведение класса задается с помощью двух окон: окно карты поведения и окно редактора непрерывного поведения (см. рис. 3.1).

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

Текстовая часть языка MVL (при описании действий на карте поведения, процедур и функций и т.д.) приближена к языку программирования Pascal.

Пакет MVS относится к компилирующим средствам моделирования, т.е. выполняемая модель, после ее описания в интегрированной среде, создается как некоторый исполняемый модуль операционной системы, который может запускаться и без интегрированной оболочки пакета. В MVS 3.0 в качестве промежуточного языка используется Object Pascal (Borland Delphi 3.x).

Возможны два вида выполняемой модели:

- визуальная интерактивная модель с отладочными возможностями;

- "скрытая" модель с максимальным быстродействием.

Выполнение команды “Model\Run” завершается запуском созданной моделирующей программы. В любой момент можно прервать выполнение модели из интегрированной среды с помощью команды “Model\Stop”.

В выполняемую модель включается только содержимое окна Test bench. Перед генерацией кода проводится комплексный контроль его правильности и в случае обнаружения ошибки создание выполняемой модели отменяется.

Визуальная модель является имитацией некоторого виртуального испытательного стенда, где все можно посмотреть и все изменить (рис.3.2).

Рис.3.2. Визуализация процесса моделирования в MVS

Запуск выполнения модели осуществляется с помощью команды “Simulation/Run”. При этом можно наблюдать динамику процессов на временных и фазовых диаграммах в ходе моделирования, в окнах карт поведения, где отображаются текущий узел и срабатывающие переходы, в окнах структурных схем, где отображается прохождение сигналов по связям, в окнах фазового вектора, где динамически выводятся текущие значения переменных, а также с помощью типовых 2D и 3D-анимационных элементов и анимационных окон, которые можно создать самостоятельно. В любой момент процесса моделирования можно изменить значение любой переменной модели, а также менять значение непрерывно с помощью интерактивных анимационных элементов.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: