Реферат: Системы, управляемые потоком данных. Язык Dataflow Graph Language.

57 TotalSum, S : real;

58 BEGIN

59 importNumIter.Receive (N, SizeOf(N));

60 TotalSum := 0;

61 FOR i := 1 TO N DO BEGIN

62 importPartSum.Receive (S, SizeOf(S));

63 TotalSum := TotalSum + S;

64 END;

65 AssignFile (F, ‘Pi.result’);

66 Rewrite (F);

67 WriteLn (F, ‘Pi = ’, TotalSum);

68 CloseFile (F);

69 END;


Файл Summer.frm : телопроцесса Summer

В строках 61-64 собираются частичные суммы от всех рабочих процессов и суммируются в переменной TotalSum. Число частичных сумм записываем в переменну N из порта importNumIter (строка 59).

Компиляция узловых процессов

После того, как созданы шаблоны, нужно получить из них файлы, пригодные для компиляции. Для этого используется компилятор с языка DGL:

dglcPi.dgl

Компилятор, если нет ошибок, сгенерирует следующие файлы: Pi.dpr, Manager.pas, Worker.pas, Summer.pas.

Загрузка и выполнение программы

Сначала на компьютерах сети нужно запустить программу-монитор. Перепишем откомпилироанные файлы и файл Pi.dgl с текстом графа потока данных на языке DGL в один каталог и запустим диспетчер, указав Pi.dgl в качестве параметра. После окончания работы диспетчера должен появится файл Pi.result, в котором записано приближенное значение числа Pi.

Приложение А

Синтаксис языка DGL

DGL = ["DATAFLOW GRAPH" [identifier] ";"]

{Definitions}

{ProcessDecl}

Definitions = identifier "=" ConstExpr

ProcessDecl = "PROCESS" identifier ["AT" path]

["[" NumCopies "]" ]

{"EXPORT:"{ExportDecl} |

"IMPORT:"{ImportDecl}

}

К-во Просмотров: 262
Бесплатно скачать Реферат: Системы, управляемые потоком данных. Язык Dataflow Graph Language.