7.4.1. КЛАССИФИКАЦИЯ СООБЩЕНИЙ

В языке различаются прямые и потоковые, а также переключающие и информационные сообщения.

Прямые и потоковые сообщения имеют следующие принципиальные отличия:

  1. Прямые сообщения передаются непосредственно от одного процесса к другому (в виде дальнего вызова предиката), а потоковые сообщения - от одного процесса ко многим (в виде значения общей переменной).
  2. Прямые сообщения никогда не теряются при передаче, в то время как потоковые сообщения, которые процесс ещё не успел обработать, могут быть заменены более новой информацией.

Отличие переключающих и информационных сообщений состоит в том что:

  1. В результате обработки переключающего сообщения процесс может перейти в состояние "доказанный", "неудачный" или (остаться в состоянии) "сформированный", в то время как после обработки информационного сообщения процесс всегда оказывается в состоянии "доказанный".
  2. В отличие от переключающих сообщений, обработка информационных сообщений процессом откладывается до тех пор, пока он не окажется в состоянии "доказанный".

В случае если обработка переключающего сообщения завершилась неудачей или исключительной ситуацией, процесс переходит в состояние "неудачный" или - если перед началом обработки сообщения он находился в состоянии "сформированный" - в состояние "сформированный". В случае если неудачей или исключительной ситуацией завершилась обработка информационного сообщения, происходит "поглощение" сообщения: состояние процесса восстанавливается на момент, предшествовавший обработке сообщения, а само сообщение отменяется.

В языке используются переключающие потоковые, а также прямые информационные и прямые переключающие сообщения.

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

Ссылки: дальний вызов 6.2, доказанный процесс 5.2.1, значение переменной 3.1, значение терма 3, исключительная ситуация 7.5, неудачный процесс 5.2.1, обработка потокового сообщения 7.4.3, обработка сообщения 7.4, передача прямого сообщения 7.4.2, потоковые сообщения 7.4.3, процесс 5.2, прямые сообщения 7.4.2, резидент 5.3, сообщение 7.4, состояние процесса 5.2.1, сформированный процесс 5.2.1, функция 6.1.3, целевой процесс 5.3.


Следующий: 7.4.2. ПРЯМЫЕ СООБЩЕНИЯ
Предыдущий: 7.4. СОГЛАСОВАНИЕ ПРОЦЕССОВ


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