~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 23D3DD7B0E2E33976899D4F1D2A4291A__1704790620 ✰
Заголовок документа оригинал.:
✰ Process calculus - Wikipedia ✰
Заголовок документа перевод.:
✰ Исчисление процессов — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Process_calculus ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/23/1a/23d3dd7b0e2e33976899d4f1d2a4291a.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/23/1a/23d3dd7b0e2e33976899d4f1d2a4291a__translat.html ✰
Дата и время сохранения документа:
✰ 16.06.2024 08:47:21 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 9 January 2024, at 11:57 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Исчисление процессов — Википедия Jump to content

Исчисление процессов

Из Википедии, бесплатной энциклопедии

В информатике ( исчисления процессов или алгебры процессов ) представляют собой разнообразное семейство родственных подходов к формальному моделированию параллельных систем . Исчисления процессов предоставляют инструмент для высокоуровневого описания взаимодействий, коммуникаций и синхронизации между набором независимых агентов или процессов. Они также предоставляют алгебраические законы, которые позволяют манипулировать и анализировать описания процессов, а также позволяют формально рассуждать об эквивалентности между процессами (например, с использованием бисимуляции ). Ведущие примеры исчислений процессов включают CSP , CCS , ACP и LOTOS . [1] Более поздние дополнения к семейству включают π-исчисление , окружающее исчисление , PEPA , исчисление слияния и исчисление соединения .

Основные функции [ править ]

Хотя разнообразие существующих исчислений процессов очень велико (включая варианты, включающие стохастическое поведение, информацию о времени и специализации для изучения молекулярных взаимодействий), есть несколько общих черт, которые имеют все исчисления процессов: [2]

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

Математика процессов [ править ]

Чтобы определить исчисление процессов , нужно начать с набора имен (или каналов ), целью которых является предоставление средств связи. Во многих реализациях каналы имеют богатую внутреннюю структуру для повышения эффективности, но в большинстве теоретических моделей это абстрагируется. Помимо названий, нужны средства для образования новых процессов из старых. Базовые операторы, всегда присутствующие в той или иной форме, позволяют: [3]

  • параллельная композиция процессов
  • указание того, какие каналы использовать для отправки и получения данных
  • секвенциализация взаимодействий
  • скрытие точек взаимодействия
  • рекурсия или репликация процесса

Параллельная композиция [ править ]

Параллельная композиция двух процессов и , обычно пишут , является ключевым примитивом, отличающим исчисления процессов от последовательных моделей вычислений. Параллельная композиция позволяет выполнять вычисления в и действовать одновременно и независимо. Но это также обеспечивает взаимодействие, то есть синхронизацию и поток информации от к (или наоборот) на канале, совместно используемом обоими. Важно отметить, что агент или процесс могут быть подключены более чем к одному каналу одновременно.

Каналы могут быть синхронными или асинхронными. В случае синхронного канала агент, отправляющий сообщение, ожидает, пока другой агент не получит сообщение. Асинхронные каналы не требуют такой синхронизации. В некоторых исчислениях процессов (в частности, в π-исчислении ) сами каналы могут отправляться в сообщениях через (другие) каналы, что позволяет изменять топологию взаимосвязей процессов. Некоторые исчисления процессов также позволяют создавать каналы во время выполнения вычислений.

Общение [ править ]

Взаимодействие может быть (но не всегда) направленным потоком информации. То есть ввод и вывод можно разделить как примитивы двойного взаимодействия. Исчисления процессов, которые делают такие различия, обычно определяют оператор ввода ( например, ) и оператор вывода ( например, ), оба из которых называют точку взаимодействия (здесь ), который используется для синхронизации с примитивом двойного взаимодействия.

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

Последовательная композиция [ править ]

Иногда взаимодействия должны быть упорядочены во времени. Например, может быть желательно указать такие алгоритмы, как: сначала получить некоторые данные по а затем отправить эти данные на . последовательную композицию Для таких целей можно использовать . Это хорошо известно из других моделей вычислений. В расчетах процессов оператор секвенциализации обычно интегрируется с вводом или выводом, или с тем и другим. Например, процесс буду ждать ввода . Только когда этот ввод произойдет, процесс активироваться, с полученными данными через заменен на идентификатор .

Семантика сокращения [ править ]

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

Интерпретация этого правила сокращения такова:

  1. Процесс отправляет сообщение здесь , вдоль канала . Двойственно, процесс получает это сообщение на канале .
  2. Как только сообщение будет отправлено, становится процессом , пока становится процессом , который с заполнителем заменен на , данные, полученные на .

Класс процессов, которые допускается превышение, поскольку продолжение операции вывода существенно влияет на свойства исчисления.

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

Процессы не ограничивают количество соединений, которые могут быть установлены в данной точке взаимодействия. Но точки взаимодействия допускают интерференцию (т.е. взаимодействие). Для при синтезе компактных, минимальных и композиционных систем решающее значение имеет возможность ограничения помех. Операции сокрытия позволяют контролировать связи между точками взаимодействия при составлении. агенты параллельно. Сокрытие можно обозначить по-разному. Например, в π-исчислении сокрытие имени в может быть выражено как , тогда как в CSP это может быть записано как .

Рекурсия и репликация [ править ]

Представленные до сих пор операции описывают только конечное взаимодействие и, следовательно, недостаточны для полной вычислимости, которая включает в себя непрерывающееся поведение. Рекурсия и репликация — это операции, которые позволяют получить конечное описание бесконечного поведения. Рекурсия хорошо известна из последовательного мира. Репликация можно понимать как сокращение параллельной композиции счетного бесконечного числа процессы:

Нулевой процесс [ править ]

Исчисления процессов обычно также включают нулевой процесс (по-разному обозначаемый как , , , или какой-либо другой подходящий символ), который не имеет точек взаимодействия. Он совершенно неактивен, и его единственная цель — действовать как индуктивный якорь, на вершине которого можно генерировать более интересные процессы.

и непрерывных Алгебра дискретных процессов

Алгебра процессов изучалась для дискретного и непрерывного времени (реального времени или плотного времени). [4]

История [ править ]

В первой половине 20-го века были предложены различные формализмы для отражения неформальной концепции вычислимой функции , причем мю-рекурсивные функции , машины Тьюринга и лямбда-исчисление наиболее известными примерами сегодня, возможно, являются . Удивительный факт, что они по сути эквивалентны, в том смысле, что все они кодируются друг в друге, подтверждает тезис Чёрча-Тьюринга . Еще одна общая черта комментируется реже: все они легче всего воспринимаются как модели последовательных вычислений. Последующая консолидация информатики потребовала более тонкой формулировки понятия вычислений, в частности явного представления параллелизма и связи. такие модели параллелизма, как исчисление процессов, сети Петри в 1962 году и модель актора В результате этого направления исследований возникли в 1973 году.

Исследования в области исчисления процессов начались всерьез с Робина Милнера плодотворной работы по исчислению коммуникативных систем (CCS) в период с 1973 по 1980 год. Книга CAR Hoare « Коммуникирующие последовательные процессы» (CSP) впервые появилась в 1978 году и впоследствии была развита. в полноценное исчисление процессов в начале 1980-х годов. По мере их развития идеи CCS и CSP активно взаимообогащались. В 1982 году Ян Бергстра и Ян Виллем Клоп начали работу над тем, что стало известно как «Алгебра коммуникативных процессов» (ACP), и ввели термин «алгебра процессов» для описания своей работы. [1] CCS, CSP и ACP составляют три основные ветви семейства процессуальных исчислений: корни большинства других процессуальных исчислений восходят к одному из этих трех исчислений.

Текущее исследование [ править ]

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

  • Разработка новых методов расчета процессов для лучшего моделирования вычислительных явлений.
  • Поиск корректных субисчислений для данного исчисления процесса. Это ценно, потому что (1) большинство исчислений довольно дики в том смысле, что они довольно общие и о произвольных процессах мало что можно сказать; и (2) вычислительные приложения редко исчерпывают все расчеты. Скорее, они используют только процессы, которые очень ограничены по форме. Ограничение формы процессов в основном изучается с помощью систем типов .
  • Логики процессов, которые позволяют рассуждать о (по сути) произвольных свойствах процессов, следуя идеям логики Хоара .
  • Поведенческая теория: что значит, что два процесса одинаковы? Как мы можем решить, различны ли два процесса или нет? Можем ли мы найти представителей классов эквивалентности процессов? Как правило, процессы считаются одинаковыми, если никакой контекст, то есть другие процессы, работающие параллельно, не может обнаружить разницу. К сожалению, точность этой интуиции является тонкой и в большинстве случаев приводит к громоздким характеристикам равенства (которые в большинстве случаев также должны быть неразрешимыми из-за проблемы остановки ). Бисимуляции — это технический инструмент, который помогает рассуждать об эквивалентности процессов.
  • Выразительность исчислений. Опыт программирования показывает, что на одних языках определенные проблемы решить легче, чем на других. Этот феномен требует более точной характеристики выразительности вычислений, моделирующих вычисления, чем та, которую дает тезис Чёрча-Тьюринга . Один из способов сделать это — рассмотреть кодировки между двумя формализмами и посмотреть, какие свойства кодировки потенциально могут сохранить. Чем больше свойств можно сохранить, тем более выразительной считается цель кодирования. Что касается исчисления процессов, знаменитые результаты заключаются в том, что синхронное π-исчисление более выразительно, чем его асинхронный вариант, имеет ту же выразительную силу, что и π-исчисление более высокого порядка . [5] но меньше, чем окружающее исчисление . [ нужна цитата ]
  • Использование исчисления процессов для моделирования биологических систем (стохастическое π-исчисление, BioAmbients, Beta Binders, BioPEPA, исчисление Брана). Некоторые считают, что композиционность , предлагаемая инструментами теории процессов, может помочь биологам более формально организовать свои знания.

Программные реализации [ править ]

Идеи, лежащие в основе алгебры процессов, привели к появлению нескольких инструментов, в том числе:

Связь с другими моделями параллелизма [ править ]

Моноид истории это свободный объект , который в общих чертах способен представлять истории отдельных коммуникативных процессов. В таком случае исчисление процессов представляет собой формальный язык , последовательно наложенный на исторический моноид. [6] То есть моноид истории может записывать только последовательность событий с синхронизацией, но не определяет разрешенные переходы состояний. Таким образом, исчисление процессов для моноида истории является тем же, чем формальный язык для свободного моноида (формальный язык — это подмножество всех возможных строк алфавита конечной длины, порожденных звездой Клини ).

Использование каналов для связи — одна из особенностей, отличающих исчисление процессов от других моделей параллелизма , таких как сети Петри и модель актора (см. Модель актора и исчисление процессов ). Одной из основных причин включения каналов в исчисление процессов было обеспечение возможности использования определенных алгебраических методов, что облегчило бы алгебраическое рассмотрение процессов.

См. также [ править ]

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

  1. ^ Перейти обратно: а б Баетен, JCM (2004). «Краткая история алгебры процессов» (PDF) . Отчет CSR 04-02 . Кафедра компьютерных наук Технологического университета Эйндховена.
  2. ^ Пирс, Бенджамин (21 декабря 1996 г.). «Основные вычисления для языков программирования». Справочник по информатике и инженерии . ЦРК Пресс. стр. 2190–2207. ISBN  0-8493-2909-4 .
  3. ^ Баетен, JCM; Браветти, М. (август 2005 г.). «Общая алгебра процессов» . Исчисление алгебраических процессов: первые двадцать пять лет и позже (серия заметок БРИКС NS-05-3) . Бертиноро, Форли, Италия: БРИКС, факультет компьютерных наук, Орхусский университет . Проверено 29 декабря 2007 г.
  4. ^ Баетен, JCM; Мидделбург, Калифорния (2000). «Алгебра процессов с синхронизацией: реальное время и дискретное время»: 627–684. CiteSeerX   10.1.1.42.729 . {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
  5. ^ Санджорджи, Давиде (1993). «От π-исчисления к π-исчислению высшего порядка — и обратно». В Гауделе, М.-К.; Жуанно, Ж.-П. (ред.). TAPSOFT'93: Теория и практика разработки программного обеспечения . Конспекты лекций по информатике. Том. 668. Шпрингер Берлин Гейдельберг. стр. 151–166. дои : 10.1007/3-540-56610-4_62 . ISBN  9783540475989 .
  6. ^ Мазуркевич, Антони (1995). «Введение в теорию следов» . В Дикерте, В.; Розенберг, Г. (ред.). Книга Следов . Сингапур: World Scientific. стр. 3–41. ISBN  981-02-2058-8 . Архивировано из оригинала (PostScript) 13 июня 2011 г. Проверено 29 апреля 2009 г.

Дальнейшее чтение [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 23D3DD7B0E2E33976899D4F1D2A4291A__1704790620
URL1:https://en.wikipedia.org/wiki/Process_calculus
Заголовок, (Title) документа по адресу, URL1:
Process calculus - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)