logo
Математическое моделировани2

2.4.1. Структурное моделирование

Структурное моделирование может предусматривать два варианта

управления процессом моделирования:

● поток команд (Control Flow);

● поток данных (Data Flow).

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

Жесткие формы языков программирования, на основе которых формируется моделирующая программа при использовании принципа Control Flow, плохо сочетаются с возрастающим уровнем абстракции графических языков. При любой форме задания графической информации ее необходимо преобразовать в выполняемые инструкции, т. е. последовательность команд для процессора, т. к. код графического языка не может выполняться «строка за строкой». Кроме того, большинство типовых программ, реализующих численные методы, рассчитаны на стандартные формы записи уравнений, которые не всегда возможно соблюдать при графическом задании информации. Это ведет к необходимости автоматически преобразовывать введенные пользователем или построенные графическим интерфейсом уравнения к формам, с которыми могут работать, например, библиотеки программных реализаций численных методов.

В этом случае эффективной является технология потока данных (Data Flow). САМ, работающая на поточной технологии управления процессом моделирования, обязательно содержит блок, упорядочивающий поток данных (информационный поток).

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

Как правило, эта среда графическая.

На поточной модели управления процессом моделирования основана значительная часть программ математического структурного моделирования динамических систем. Поточная модель управления – основополагающее понятие для таких программ, как VisSim, MBTУ, Simulink, Easy5, LabVIEW.

Рассмотрим пример статического информационного потока, приведенный на рис. 2.4.

Рис. 2.4. Статический информационный поток в пакете Simulink

Блок-схема описывает набор действий, два варианта которого представлены в табл. 2.1.

Таблица 2.1

Неупорядоченный

информационный поток

Упорядоченный программой

информационный поток

a) w = ln(r)

b) e =1

c) r = e + q

d) q = 0,1sin(e)

1) e =1

2) q = 0,1sin(e)

3) r = e + q

4) w = ln(r)

Неупорядоченный информационный поток не может быть выполнен ЭВМ. Упорядоченный – легко выполняется. Обычно упорядочивание информационного потока выполняется одновременно с расчетом модели. Интерпретирующий транслятор последовательно выполняет узлы программы, для которых имеются все необходимые исходные данные. Если реализуется процедура численного интегрирования, то такой расчет повторяется на каждом шаге.