7.4.2. ПРЯМЫЕ СООБЩЕНИЯ

Прямым сообщением называется сообщение, реализующее исполнение дальнего вызова предиката из одного процесса в другом.

Передача прямых сообщений, подготовленных в результате исполнения дальних вызовов предикатов в течение некоторой фазы F исполнения процесса G, происходит в случае успешного завершения рассматриваемой фазы F.

Перед передачей прямых сообщений все несвязанные переменные в их составе заменяются соответствующими фиксированными производными значениями процесса G.

Обработка прямого сообщения (принимающим) процессом H включает следующие действия:

  1. Осуществляется активизация всех портов S, текущее значение D которых не является пустым, а производитель текущего значения не равен H, таких что:
  2. В соответствующем мире процесса H, указанном в дальнем вызове предиката P в составе обрабатываемого сообщения, (временно) создается и доказывается новый актор Q, соответствующий вызову предиката P. В частности, если процесс H находится в состоянии "сформированный", то в момент (успешного) завершения доказательства предиката P, во всех мирах этого процесса, сформированных в ходе исполнения конструктора процесса H, (для согласования акторов процесса H) создаются и доказываются новые акторы, представленные акторными вызовами предиката goal.
  3. В случае успешного завершения доказательства актора Q, обработка сообщения считается успешно завершенной. В случае если доказательство актора Q завершилось неудачей или исключительной ситуацией, обработка сообщения прекращается.
  4. После завершения обработки сообщения, актор Q прекращает существование.

Обработка прямых сообщений процессом допускается лишь в том случае, если он уже обработал все полученные им потоковые сообщения, и, следовательно, не имеет несогласованных портов.

Примечание. Рекомендуемые графические обозначения прямых сообщений:

а) Информационное прямое сообщение.


    +----------+              +----------+
    |          |              |          |
    | Источник |......>>......| Приемник |
    |          |              |          |
    +----------+              +----------+

б) Переключающее прямое сообщение.


    +----------+              +----------+
    |          |              |          |
    | Источник |......->......| Приемник |
    |          |              |          |
    +----------+              +----------+

Ссылки: активизация порта 5.2.2, актор 7.1, вызов предиката 6.2, дальний вызов 6.2, доказательство актора 6.3.1, значение порта 5.2.2, информационные сообщения 7.4.1, исключительная ситуация 7.5, исполнение конструктора 5.4.1, исполнение предиката 6.3.1, исполнение процесса 5.2, мир 5.1, несвязанная переменная 3.1, несогласованный порт 5.2.2, обработка потокового сообщения 7.4.3, отключающий порт 5.2.2, переключающие сообщения 7.4.1, переменная 2.1.1, порт 5.2.2, потоковые сообщения 7.4.3, производитель значения порта 5.2.2, производные значения 7.2, простой порт 5.2.2, процесс 5.2, пустое значение 7.4.3, согласование акторов 7.3, сообщение 7.4, сорт значения порта 5.2.2, сорт порта 5.2.2, состояние процесса 5.2.1, сформированный процесс 5.2.1, фаза 5.2, фиксированное значение 7.2, формирование миров 5.4.1, goal 5.4.1.


Следующий: 7.4.3. ПОТОКОВЫЕ СООБЩЕНИЯ
Предыдущий: 7.4.1. КЛАССИФИКАЦИЯ СООБЩЕНИЙ


7.4. СОГЛАСОВАНИЕ ПРОЦЕССОВ
КОРНЕВАЯ СТРАНИЦА
ОГЛАВЛЕНИЕ
СПИСОК ПОНЯТИЙ ЯЗЫКА (ИНДЕКС)