Поточная модель управления (Data Flow)

Модель программирования, в которой инструкции, процедуры или функции выполняются только тогда, когда все входные данные (т.е. параметры и аргументы) готовы. Альтернативной моделью программирования является командное управление (Control Flow) в которой счетчик команд контролирует переход в памяти программ от одной команды к другой при их последовательном выполнении.

Рассмотрим пример:

Система уравнений модели составленная пользователем Упорядоченный программой информационный поток
a) w =log(r) b) e =1 c) r = eq d) q =sin(e) 1) e =1 2) q =sin(e) 3) r = eq 4) w =log(r)

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

Статический информационный поток, составленный с помощью элементарных библиотечных блоков программы VisSim

Анализируя рисунок, легко заметить, что в любом информационном потоке данные распространяются от источников сигнала к приемникам. Очевидно, что в одном потоке могут существовать ветви, параллельные каналы и обратные связи. Могут существовать зависимые и независимые параллельные потоки. В случае если с течением времени источники сигнала меняют свое значение, то появляется смысл в повторном расчете потока. Такой информационный поток называется динамическим, а каждый повторный расчет называется шагом симуляции. Наиболее развитые языки графического программирования (G-язык среды программирования LabVIEW) кроме формирования информационных потоков позволяют программировать их исполнение, а в случае определения независимых параллельных потоков (мультизадачности) обеспечивают требуемый вид синхронизации.


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



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