Для описания модели разработан специальный язык - 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-анимационных элементов и анимационных окон, которые можно создать самостоятельно. В любой момент процесса моделирования можно изменить значение любой переменной модели, а также менять значение непрерывно с помощью интерактивных анимационных элементов.