Алгоритмы параллельных вычислений и программирование. Бурова И.Г - 187 стр.

UptoLike

Глава 12. О НЕКОТОРЫХ ДРУГИХ ЯЗЫКАХ
ПРОГРАММИРОВАНИЯ
§ 1. О языке Occam (“Бритва Оккама”)
Язык разрабатывался для работы с транспьютерами.
Базовыми элементами языка являются декларации и три “про-
цесса”:
присваивание;
ввод;
вывод.
Ввод/вывод аналогичны таковым в языке CSP, но каналы гло-
бальны по отношению к процессам и имеют имена. Каждый канал
должен иметь одного отправителя и одного получателя. Рекурсия
не поддерживается.
Базовые процессы объединяются в обычные процессы с помо-
щью так называемых конструкторов; существуют
последовательные конструкторы (SEQ);
параллельный конструктор (PAR);
защищенный оператор взаимодействия.
В синтаксисе Occam каждый базовый процесс, конструктор и
декларация занимают отдельную строчку; а декларация заканчи-
вается двоеточием, в записи используются отступы.
Пример 1.
INT x,y:
SEQ
x:=x+1 # последовательное
y:=y+1 # увеличение значений x и y
Замечание. Для параллельного исполнения вместо SEQ можно
поставить PAR.
В языке Occam существуют также конструкторы IF, CASE,
WHILE, ALT (для защищенного взаимодействия). Кроме того, име-
ется механизм, называемый репликатором (похож на квантифика-
тор).
Параллельные процессы создаются с помощью конструктора
PAR; они взаимодействуют через каналы с помощью базовых про-
цессов ввода ? и вывода !.
188