WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте

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

Join-calculus является членом семейства исчислений процессов π и может быть рассмотрено как асинхронное π-исчисление с несколькими серьёзными ограничениями:[3]

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

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

Реализации

Языки, основанные на join-calculus

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

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

Использование в других языках программирования

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

  • Библиотека Boost.Join представляет собой реализацию на C++ в рамках фреймворка Boost[6]
  • Библиотеки ScalaJoins и Chymyst в Scala
  • «Язык Join» в Haskell
  • Joinads — различные реализации исчисления объединения в F#
  • CocoaJoin — экспериментальная реализация в Objective-C для iOS и Mac OS X
  • Библиотека Join Python в Python 3

Примечания

  1. Cedric Fournet, Georges Gonthier (1995). The reflexive CHAM and the join-calculus, с. 1.
  2. Cedric Fournet, Georges Gonthier (1995). The reflexive CHAM and the join-calculus, с. 2.
  3. Cedric Fournet, Georges Gonthier (1995). The reflexive CHAM and the join-calculus, с. 19.
  4. Cedric Fournet, Georges Gonthier (2000). The Join Calculus: A Language for Distributed Mobile Programming.
  5. JErlang: Erlang with Joins.
  6. Yigong Liu - Join-Asynchronous Message Coordination and Concurrency Library.

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2021
WikiSort.ru - проект по пересортировке и дополнению контента Википедии