Главная
Новости
Строительство
Ремонт
Дизайн и интерьер
Полезные советы




06.08.2021


26.07.2021


10.07.2021


10.07.2021


06.07.2021





Яндекс.Метрика





Исчисление взаимодействующих систем

14.07.2021

Исчисление взаимодействующих систем (англ. Calculus of Communicating Systems, CCS, исчисление общающихся систем) в информатике — исчисление процессов, разработанное Робином Милнером в 1980 году. Исчисление работает с моделью неразделяемых коммуникаций между ровно двумя участниками. Формальный язык включает примитивы для описания параллельной композиции, выбора между действиями и рамки ограничений. CCS полезен для оценки качественной корректности свойств таких как взаимная блокировка или «живая блокировка».

Согласно Милнеру, «нет ничего канонического в выборе базовых комбинаторов, даже несмотря на то, что они были выбраны с большим вниманием к экономии. То, что характеризует наше исчисление, это не точный выбор комбинаторов, но выбор интерпретации и математической структуры».

Выражения языка интерпретируются как помеченная переходная система. Между этими моделями взаимное подобие используется как семантическая эквивалентность.

Синтаксис

Для данного множества имён действий, множество CCS-процессов определяется следующей грамматикой Бэкуса — Наура:

P ::= ∅ | a . P 1 | A | P 1 + P 2 | P 1 | P 2 | P 1 [ b / a ] | P 1 ∖ a {displaystyle P::=emptyset ,,,|,,,a.P_{1},,,|,,,A,,,|,,,P_{1}+P_{2},,,|,,,P_{1}|P_{2},,,|,,,P_{1}[b/a],,,|,,,P_{1}{ackslash }a}

Части синтаксиса в данном выше порядке:

пустой процесс пустой процесс ∅ {displaystyle emptyset } — это валидный CCS-процесс действие процесс a . P 1 {displaystyle a.P_{1}} может совершать действие a {displaystyle a} и продолжиться как процесс P 1 {displaystyle P_{1}} идентификатор процесса пишем A = d e f P 1 {displaystyle A{overset {underset {mathrm {def} }{}}{=}}P_{1}} для использования идентификатора A {displaystyle A} , чтобы ссылаться на процесс P 1 {displaystyle P_{1}} выбор процесс P 1 + P 2 {displaystyle P_{1}+P_{2}} может продолжаться либо как P 1 {displaystyle P_{1}} , либо как P 2 {displaystyle P_{2}} параллельная композиция процессы P 1 {displaystyle P_{1}} и P 2 {displaystyle P_{2}} , существующие одновременно переименование P 1 [ b / a ] {displaystyle P_{1}[b/a]} процесс P 1 {displaystyle P_{1}} с действиями a {displaystyle a} переименованными в b {displaystyle b} ограничение P 1 ∖ a {displaystyle P_{1}{ackslash }a} процесс P 1 {displaystyle P_{1}} без действия a {displaystyle a}

Схожие исчисления и модели

  • Исчисление взаимодействующих процессов (англ. Communicating sequential processes), CSP — язык, разработанный Энтони Хоаром, который появился в то же время, что и CCS.
  • Пи-исчисление, разработанное Милнером в конце 80-х, предоставляет подвижность коммуникационных звеньев, позволяя процессам сообщать имена самих коммуникационных каналов.
  • Алгебра процессов PEPA, разработанная Джейн Хиллстон, вводит время действия и вероятностный выбор, позволяя вычислять метрики производительности.

Некоторые нотации, основанные на CCS:

  • Исчисление широковещательных систем (англ. Calculus of Broadcasting Systems);
  • LOTOS.

Модели, которые используются в изучении CCS-систем:

  • Моноид истории (англ. History monoid);
  • Модель акторов.

Имя:*
E-Mail:
Комментарий: