Программирование в NI Labview
LabVIEW > Dataflow

Dataflow

data flow (= dataflow) поток данных - общий термин, относящийся к алгоритмам или архитектурам параллельных вычислений, в которых выполнение каждой операции производится при готовности всех её операндов, при этом последовательность выполнения команд заранее не задаётся. Впервые графическую модель вычислений, управляемых потоком данных, предложил в 1968 г. в своей докторской диссертации сотрудник Стэнфордского университета Дуайн Эдэмс (он же ввел термин dataflow )

Итак, в LabVIEW используется алгоритм поток данных (или Data Flow). Определение того, что это такое, дано выше, поэтому давайте рассмотрим два простых примера, чтобы понять, как с этим жить (осознавать это программисту в LabVIEW нужно, иначе можно долго мучиться от неуловимых багов и нестабильности работы программы).

Пример один, все просто: два числа складываются, затем от результата отнимается 50 и общий результат выводится в поле индикатора Result. Заметьте, что операция сложения начнется только тогда, когда будут доступны два числа, операция вычитания - только после операции сложения, и никак иначе. Ход выполнения программы однозначно определен.

А теперь еще один пример:

Тут не все так радужно, как в предыдущем примере. Что выполнится быстрее, сложение или вычитание? А может, функция рандома - кубики? Никто не знает, потому что все эти операции имеют на входе нужные данные одновременно, и поэтому выполняться будут как попало - случайно. Этого нужно избегать, используя дополнительные программные средства, о которых речь будет идти несколько позже. Нужно всегда четко осознавать, в какой последовательности будут выполняться узлы программы.

Ссылки: