Существующие объектные средства моделирования

Таким образом, любая более-менее сложная математическая или имитационная модель является удобным предметом для применения объектно-ориентированного подхода. Конечно, этот факт был давно замечен и использован в большом количестве программных средств для моделирования [7,8]. Однако в большинстве таких средств объектно-ориентированным является только внешнее представление элементов модели, которое перед началом расчётов компилируется в код процедурно-ориентированного языка программирования или просто преобразуется в параметры готового кода. Например, блоки многих имитационных моделей преобразуются в переменные системы обыкновенных дифференциальных уравнений, а связи между ними – в функции её правых частей.

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

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

С точки зрения имитационного моделирования важным преимуществом использования объектов является возможность наглядного представления структуры модели и её визуального редактирования (то есть изменения без программирования). Обычно такая возможность реализуется путём построения модели из отдельных параметров, которые можно связывать между собой с помощью разных функций. Функции и параметры являются объектами многочисленных типов (классов). В частности, функции могут быть заданы таблично или с помощью формулы, могут зависеть не только от значений параметров, но и от их производных, а также зависеть от них с запаздыванием. В наиболее развитых системах имитационного моделирования [7,9,10] среди этих функций имеются достаточно сложные дифференциальные и дискретные операторы, что формально позволяет графически описать любую систему уравнений. К сожалению, такой системой не могут пользоваться эксперты предметной области, далёкие от математики. Например, для решения с её помощью дифференциального уравнения нужно понимать смысл преобразования Лапласа, а представление этого уравнения довольно громоздко (см. рис. 2.3).

Уравнение Ван дер Поля

Рис. 2.3. Пример объектного представления параметров и функций модели (Simulink).


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



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