Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.cplire.ru/Lab144/koi8/01050201.html
Дата изменения: Mon Sep 24 15:06:49 2007
Дата индексирования: Tue Oct 2 03:15:49 2012
Кодировка: koi8-r

Поисковые слова: п п р п р п р п р п р п р п р п р п р п р п р п р п р п п р п п р п п р п п р п п р п п р п п р п п р п п р п п р п п р п п р п п р п
Actor Prolog. Programming language definition.

5.2.1. СОСТОЯНИЯ ПРОЦЕССА

В каждый конкретный момент времени процесс находится в одном из трех состояний:

  1. "объявленный";
  2. "используемый";
  3. "неиспользуемый".

В состоянии "объявленный" процесс находится сразу после его создания. Объявленный процесс характеризуется тем, что соответствующие ему экземпляры классов еще не сформированы. Пока процесс находится в состоянии "объявленный", обработка любых сообщений этим процессом откладывается. Считается, что объявленный процесс не имеет никаких производных значений, и что его акторы несогласованы. После формирования процесса он переходит в состояние "сформированный".

"Используемый процесс" - это обобщающее название для следующих трех состояний процесса:

  1. "сформированный";
  2. "доказанный";
  3. "неудачный".

Состояние "неиспользуемый" характеризуется тем, что на некоторые отключающие порты процесса поданы задерживающие значения. Пока процесс находится в состоянии "неиспользуемый", обработка любых сообщений этим процессом откладывается. Считается, что неиспользуемый процесс не имеет никаких производных значений, и все его акторы согласованы.

Переход процесса в состояние "неиспользуемый" называется "отключением" процесса. Переход процесса в состояние "используемый" называется "подключением" процесса.

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

Переключение между различными разновидностями состояния "используемый" происходит в зависимости от результатов очередной фазы исполнения соответствующего процесса:

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

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

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

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


 +----------+  +---------+  +---------+
 |          |  |         |  |         |
 | DECLARED |  |  USED   |  | UNUSED  |
 |          |  |         |  |         |
 +----------+  +---------+  +---------+

 объявленный   используемый неиспользуемый
 процесс       процесс      процесс

 +----------+  +---------+
 |          |  |         |
 |   O.K.   |  | FAILURE |
 |          |  |         |
 +----------+  +---------+

 доказанный    неудачный
 процесс       процесс

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


Следующий: 5.2.2. ПОРТЫ ПРОЦЕССОВ
Предыдущий: 5.2. ПРОЦЕССЫ


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