Технология программирования для распределенных параллельных систем. Демьянович Ю.К - 33 стр.

UptoLike

monitor Mon{
[объявление постоянных переменных];
[код инициализации];
procedure op ([формальные параметры]){
[тело процедуры];
}
}
Для моделирования монитора Mon используем серверный про-
цесс Server.
Постоянные переменные монитора становятся локальными пе-
ременными этого процесса.
Сервер сначала инициализирует переменные, затем выполняет
один и тот же цикл, обслуживая “вызовы” процедуры op.
Имитация вызова состоит в следующем:
сначала клиентский процесс отправляет сообщение в канал
запроса;
ответ он получает из канала ответа.
Для того, чтобы избежать перехвата ответа другим клиентским
процессом, каждому клиенту нужен собственный канал ответа
(или специальные примитивы, позволяющие определить отправи-
теля).
chan request(int clientID, [типы входных данных]);
# - канал запроса
chan reply[n]([типы результатов]);
# - массив каналов ответов
process Server {
int clientID;
[объявление других постоянных переменных];
[код инициализации];
while (true){
receive request(clientID, [входные значения]);
[код из тела операции op];
send reply[clientID]([результаты]);
}
}
34