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

Материал из testwiki
Перейти к навигации Перейти к поиску

Исчисление взаимодействующих систем (Шаблон:Lang-en, CCS, исчисление общающихся систем) в информатике — исчисление процессов, разработанное Робином Милнером в 1980 году. Исчисление работает с моделью неразделяемых коммуникаций между ровно двумя участниками. Формальный язык включает примитивы для описания параллельной композиции, выбора между действиями и рамки ограничений. CCS полезен для оценки качественной корректности свойств таких как взаимная блокировка или «живая блокировка»[1].

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

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

Синтаксис

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

P::=|a.P1|A|P1+P2|P1|P2|P1[b/a]|P1a

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

пустой процесс
пустой процесс  — это валидный CCS-процесс
действие
процесс a.P1 может совершать действие a и продолжиться как процесс P1
идентификатор процесса
пишем A=defP1 для использования идентификатора A, чтобы ссылаться на процесс P1
выбор
процесс P1+P2 может продолжаться либо как P1, либо как P2
параллельная композиция
процессы P1 и P2, существующие одновременно
переименование
P1[b/a] процесс P1 с действиями a переименованными в b
ограничение
P1a процесс P1 без действия a

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

  • Шаблон:Не переведено 2, CSP — язык, разработанный Энтони Хоаром, который появился в то же время, что и CCS.
  • Пи-исчисление, разработанное Милнером в конце 80-х, предоставляет подвижность коммуникационных звеньев, позволяя процессам сообщать имена самих коммуникационных каналов.
  • Алгебра процессов PEPA, разработанная Джейн Хиллстон, вводит время действия и вероятностный выбор, позволяя вычислять метрики производительности.

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

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

Ссылки

  • Robin Milner: A Calculus of Communicating Systems, Springer Verlag, ISBN 0-387-10235-3. 1980.
  • Robin Milner, Communication and Concurrency, Prentice Hall, International Series in Computer Science, ISBN 0-13-115007-3. 1989

Шаблон:Примечания

Шаблон:Computer-sci-stub