Jump to content

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

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

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

  • Ограничение области действия, прием и реплицируемый прием синтаксически объединены в единую конструкцию — определение ;
  • Общение происходит только по определенным именам;
  • Для каждого определенного имени существует ровно один реплицированный прием.

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

Реализации [ править ]

Языки, основанные на исчислении соединения [ править ]

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

  • Хотя система правил CLIPS явно не основана на исчислении соединений, она реализует ее, если каждое правило удаляет свои входные данные при срабатывании (отменяет соответствующие факты при запуске).

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

Встраивания в другие языки программирования [ править ]

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

  • Библиотеки ScalaJoins и Chymyst находятся в Scala.
  • JoinHs Эйнара Карттунена и syallop/Join-Language Сэмюэля Яллопа — это DSL для исчисления соединений в Haskell.
  • Джойнады — различные реализации исчисления соединений в F#.
  • CocoaJoin — экспериментальная реализация Objective-C для iOS и Mac OS X.
  • Библиотека Join Python в Python 3 [7]
  • C++ через Boost [8] (для повышения с 2009 г. около 40, текущий (декабрь 2019 г.) — 72).

Ссылки [ править ]

  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. ^ Игун Лю - Библиотека асинхронной координации сообщений и параллелизма присоединения

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 04fe1a91ca9ae0e76647c29bbf8459cc__1686648660
URL1:https://arc.ask3.ru/arc/aa/04/cc/04fe1a91ca9ae0e76647c29bbf8459cc.html
Заголовок, (Title) документа по адресу, URL1:
Join-calculus - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)