Модель программирования, в которой инструкции, процедуры или функции выполняются только тогда, когда все входные данные (т.е. параметры и аргументы) готовы. Альтернативной моделью программирования является командное управление (Control Flow) в которой счетчик команд контролирует переход в памяти программ от одной команды к другой при их последовательном выполнении.
Рассмотрим пример:
Система уравнений модели составленная пользователем | Упорядоченный программой информационный поток |
a) w =log(r) b) e =1 c) r = e − q d) q =sin(e) | 1) e =1 2) q =sin(e) 3) r = e − q 4) w =log(r) |
Для написания программ (создания моделей) используются графические языки, с помощью которых выполняется описание процессов преобразования данных в форме функциональных схем, блок-схем, схем физических принципиальных, мнемосхем, и прочее. Представим блок-схему для рассмотренного в примере информационного потока.
Статический информационный поток, составленный с помощью элементарных библиотечных блоков программы VisSim
Анализируя рисунок, легко заметить, что в любом информационном потоке данные распространяются от источников сигнала к приемникам. Очевидно, что в одном потоке могут существовать ветви, параллельные каналы и обратные связи. Могут существовать зависимые и независимые параллельные потоки. В случае если с течением времени источники сигнала меняют свое значение, то появляется смысл в повторном расчете потока. Такой информационный поток называется динамическим, а каждый повторный расчет называется шагом симуляции. Наиболее развитые языки графического программирования (G-язык среды программирования LabVIEW) кроме формирования информационных потоков позволяют программировать их исполнение, а в случае определения независимых параллельных потоков (мультизадачности) обеспечивают требуемый вид синхронизации.
|
|