stringtranslate.com

Джойн-исчисление

Исчисление соединений — это исчисление процессов, разработанное в INRIA . Исчисление соединения было разработано, чтобы обеспечить формальную основу для разработки распределенных языков программирования, и поэтому намеренно избегает коммуникационных конструкций, встречающихся в других исчислениях процессов, таких как рандеву -коммуникации, которые трудно реализовать в распределенной среде. [1] Несмотря на это ограничение, объединенное исчисление столь же выразительно, как и полное π-исчисление . Было продемонстрировано кодирование π-исчисления в объединенном исчислении и наоборот. [2]

Соединение-исчисление является членом семейства π-исчислений исчислений процессов и по своей сути может рассматриваться как асинхронное π-исчисление с несколькими строгими ограничениями: [3]

Однако, как язык программирования, исчисление соединений предлагает по крайней мере одно удобство по сравнению с π-исчислением, а именно использование шаблонов многостороннего соединения , возможность сопоставления сообщений из нескольких каналов одновременно. [4]

Реализации

Языки, основанные на исчислении соединения

Язык программирования соединения-исчисления — это новый язык, основанный на исчислении процессов соединения. Он реализован в виде интерпретатора, написанного на OCaml , и поддерживает статически типизированное распределенное программирование, прозрачную удаленную связь, мобильность на основе агентов и некоторые функции обнаружения сбоев. [5]

Многие реализации исчисления соединений были сделаны как расширения существующих языков программирования:

Вложения в другие языки программирования

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

Рекомендации

  1. ^ Седрик Фурне, Жорж Гонтье (1995). «Рефлексивный CHAM и исчисление соединений». {{cite journal}}: Требуется цитировать журнал |journal=( помощь ) , с. 1
  2. ^ Седрик Фурне, Жорж Гонтье (1995). «Рефлексивный CHAM и исчисление соединений». {{cite journal}}: Требуется цитировать журнал |journal=( помощь ) , с. 2
  3. ^ Седрик Фурне, Жорж Гонтье (1995). «Рефлексивный CHAM и исчисление соединений». {{cite journal}}: Требуется цитировать журнал |journal=( помощь ) , с. 19
  4. ^ Петричек, Томас. «TryJoinads (IV.) — Параллелизм с использованием исчисления соединений». tomasp.net . Проверено 24 января 2023 г.
  5. ^ Седрик Фурне, Жорж Гонтье (2000). «Исчисление соединений: язык распределенного мобильного программирования»: 268–332. {{cite journal}}: Требуется цитировать журнал |journal=( помощь )
  6. ^ "JErlang: Эрланг с соединениями" . Архивировано из оригинала 8 декабря 2017 г. Проверено 18 апреля 2015 г.
  7. ^ Join Python, Join-исчисление для Python Маттиаса Андре
  8. ^ Игун Лю - Библиотека асинхронной координации сообщений и параллелизма присоединения

Внешние ссылки