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


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

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

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

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

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

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