<<
>>

Внутреннее представление гибридной модели

Переход от математической к компьютерной модели требует минимальных дополнительных знаний предметного пользователя об особенностях системы моделирования. В отличие от известных отечественных и зарубежных систем моделирования, ИСМА отличается простой и естественной формой представления моделей и не требует от пользователя дополнительных знаний в области программирования, в частности, объектно­ориентированного подхода.

При реализации новой архитектуры инструментальной среды разработано внутреннее представление модели гибридной системы (HSM, hybrid system model). Данное представление является результатом работы интерпретаторов с входных языков системы. На рисунке 2.15 приведена UML-диаграмма [6] классов HSM.

Рисунок 2.15 - Диаграмма классов внутреннего представления ГС

Модель (HMModel) представляет собой базовый класс HSM и содержит два элемента: таблицу переменных (HMVariableTable) и автомат [39] гибридной системы (HMStateAutomata). Таблица переменных является хранилищем всех переменных модели (в рамках глобального состояния). Переменная модели (HMVariable) - это обобщенное понятие, охватывающее всевозможные сущности, представляющие собой источник числовых значений. Выделяются следующие переменные, унаследованные от HMVariable: уравнения (HMEquation) и функции (HMFunction).

Все уравнения объединяет наличие правой части - объекта класса выражение (HMExpression). В случае дифференциального уравнения (HMDerivativeEquation) задаются начальные условия в виде константы (HMConst).

Константы (HMConst) являются тоже разновидностью уравнений. Обусловлено это тем, что при определении константы возможно задавать значение через выражение (вычисляемое на этапе семантического анализа). Частный случай констант - безымянные константы (HMUnnamedConst).

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

Во всех уравнениях активно используются выражения (HMExpression). Они представляют упорядоченую последовательность из токенов выражения (EXPToken). Токенами выражения могут быть как операнды (EXPOperand), так и операторы (EXPOperator). Оператор (EXPOperator) - это инструкция, описывающая некоторую операцию над одним или несколькими операндами. Выделится три типа операторов: арифметический, логический и сравнение. Кроме того операторы делятся по арности - количеству операндов с которыми они работают. Используются два типа арности: унарный и бинарный. Каждый оператор имеет приоритет, определяемый в соответствии с таблицей 2.1.

Таблица 2.1 - Приоритет операций

Приоритет Название группы операторов Обозначения
1 Унарные арифметические + -
2 Унарный логический !
3 Умножение, деление * /
4 Сложение, вычитание + -
5 Операции сравнения >>=
<< | >>

Еще по теме Внутреннее представление гибридной модели:

  1. Криминалистика. Конспект лекций, 2017
  2. 9. 5. Реальные контракты.