Окружающее исчисление

В информатике окружающее исчисление — это исчисление процессов, разработанное Лукой Карделли и Эндрю Д. Гордоном в 1998 году и используемое для описания и теоретизирования параллельных систем , включающих мобильность . Здесь мобильность означает как вычисления, выполняемые на мобильных устройствах ( т. е. сети с динамической топологией), так и мобильные вычисления ( т. е. исполняемый код, который может перемещаться по сети). Окружающее исчисление обеспечивает единую структуру для моделирования обоих видов мобильности. [1] Оно используется для моделирования взаимодействий в таких параллельных системах, как Интернет .

С момента своего возникновения объемлющее исчисление превратилось в семейство тесно связанных объемлющих исчислений.

Неформальное описание

Окружающая среда

Фундаментальным примитивом исчисления окружения является окружение . Окружение неформально определяется как ограниченное место, в котором может происходить вычисление. Понятие границ считается ключевым для представления мобильности, поскольку граница определяет содержащийся вычислительный агент, который может перемещаться целиком. [1] Примеры окружений включают:

  • веб-страница (связанная с файлом)
  • виртуальное адресное пространство (ограниченное диапазоном адресов)
  • файловая система Unix (ограниченная физическим томом)
  • один объект данных (ограниченный « self »)
  • ноутбук (ограниченный корпусом и портами данных)

Ключевые свойства окружения в исчислении окружения:

  • У окружения есть имена, которые используются для управления доступом к окружению.
  • Окружающие объекты могут быть вложены в другие окружающие объекты (например, представляющие административные домены).
  • Окружающие предметы можно перемещать целиком.

Операции

Вычисление представлено как пересечение границ, т.е. движение окружений. Существует четыре основные операции (или возможности) на окружениях: [1]

  • я н м . П {\displaystyle in\;мП} дает команду окружающему окружению войти в некоторое родственное окружение , а затем продолжить, как м {\displaystyle м} П {\displaystyle P}
  • о ты т м . П {\displaystyle out\;мП} дает команду окружающему окружению выйти из родительского окружения м {\displaystyle м}
  • о п е н м . П {\displaystyle открыть\;мП} дает команду окружающему пространству растворить границу пространства, расположенного на том же уровне м {\displaystyle м}
  • с о п у м . {\displaystyle copy\;м.} делает любое количество копий чего-либо м {\displaystyle м}

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

Коммуникация внутри ( т. е. локальная по отношению к) окружения является анонимной и асинхронной. Выходные действия высвобождают имена или возможности в окружающее окружение. Входные действия захватывают значение из окружения и связывают его с переменной. Нелокальный ввод-вывод может быть представлен в терминах этих локальных коммуникационных действий различными способами. Один подход заключается в использовании мобильных агентов-«посланников», которые переносят сообщение из одного окружения в другое (используя описанные выше возможности). Другой подход заключается в эмуляции канальной коммуникации путем моделирования канала в терминах окружений и операций над этими окружениями. [1] Три основных примитива окружения, а именно in , out и open , достаточно выразительны для имитации каналов передачи имен в π-исчислении .

Смотрите также

Ссылки

  1. ^ abcd Cardelli, L. ; AD Gordon. "Mobile Ambients". Труды Первой международной конференции по основам науки о программном обеспечении и вычислительной структуре (28 марта - 4 апреля 1998 г.). M. Nivat, ed. Lecture Notes in Computer Science . 1378 . Springer-Verlag: 140–155.
Взято с "https://en.wikipedia.org/w/index.php?title=Ambient_calculus&oldid=1142447652"