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

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

5.2.2. ПОРТЫ ПРОЦЕССОВ

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

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

  1. Сорт порта: простой, отключающий или защищающий.
  2. Состояние порта - вспомогательное логическое значение: "согласованный" или "несогласованный".
  3. Актор-представитель порта процесса - некоторый вспомогательный актор, принадлежащий процессу.
  4. Текущее значение порта - некоторый вспомогательный терм.
  5. Сорт текущего значения порта - вспомогательное логическое значение: "защищенное" или "незащищенное".
  6. Производитель текущего значения порта - процесс, построивший текущее значение порта.

Акторы-представители портов процесса предназначены для хранения информации, приходящей в процесс через порты в виде потоковых сообщений.

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

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

Порты процесса создаются (определяются) в ходе формирования процесса.

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

  1. простой;
  2. отключающий;
  3. защищающий.

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

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

Защищающими портами процессов называется разновидность портов, обладающая следующими свойствами:

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

Если порт не является отключающим и не является защищающим, он называется (является) простым.

Сорта портов задаются с помощью описателей портов или по умолчанию. Описателями портов служат ключевые слова "suspending" и "protecting", обозначающие "отключающий" и "защищающий" соответственно.

Если некоторому порту процесса не поставлено в соответствие никаких описателей, этот порт является простым. Если в тексте программы некоторому порту процесса поставлены в соответствие оба описателя "suspending" и "protecting", порт является отключающим.

Примечание. Локальные значения акторов-представителей используются при исполнении встроенного оператора copy вместе с локальными значениями других акторов процесса (см. раздел 8.2).

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


  простой     +-----------+
     --------x|           |   защищающий
  отключающий |  Process  *--------
     -------->|           |
              +-----------+

Ссылки: активизация актора 7.1, активные акторы 7.1, актор 7.1, встроенный оператор 8, доказательство актора 6.3.1, задерживающие значения 6.3.2, защищенное сообщение 7.4.3, значение потокового сообщения 7.4.3, исполнение предиката 6.3.1, исполнение программы 4, исполнение процесса 5.2, используемый процесс 5.2.1, ключевое слово 2.1.2, локальные значения 7.2, незащищенное сообщение 7.4.3, неиспользуемый процесс 5.2.1, нейтрализация актора 7.1, нейтральные акторы 7.1, обработка потокового сообщения 7.4.3, описатель порта 4.1.1, передача потокового сообщения 7.4.3, переменная 2.1.1, повторные доказательства 7.1, потоковые сообщения 7.4.3, принадлежать актору 7.2, принадлежать процессу 5.2, программа 4, процесс 5.2, сообщение 7.4, состояние процесса 5.2.1, терм 3, фаза 5.2, формирование процесса 5.4.1, copy 8.2, protecting 2.1.2, suspending 2.1.2.


Следующий: 5.3. РЕЗИДЕНТЫ
Предыдущий: 5.2.1. СОСТОЯНИЯ ПРОЦЕССА


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