Исчисление взаимодействующих систем
Исчисление взаимодействующих систем (англ. Calculus of Communicating Systems, CCS, исчисление общающихся систем) в информатике — исчисление процессов, разработанное Робином Милнером в 1980 году. Исчисление работает с моделью неразделяемых коммуникаций между ровно двумя участниками. Формальный язык включает примитивы для описания параллельной композиции, выбора между действиями и рамки ограничений. CCS полезен для оценки качественной корректности свойств таких как взаимная блокировка или «живая блокировка»[1].
Согласно Милнеру, «нет ничего канонического в выборе базовых комбинаторов, даже несмотря на то, что они были выбраны с большим вниманием к экономии. То, что характеризует наше исчисление, это не точный выбор комбинаторов, но выбор интерпретации и математической структуры».
Выражения языка интерпретируются как помеченная переходная система. Между этими моделями взаимное подобие используется как семантическая эквивалентность.
Синтаксис [править]
Для данного множества имён действий, множество CCS-процессов определяется следующей грамматикой Бэкуса — Наура:
Части синтаксиса в данном выше порядке:
- пустой процесс
- пустой процесс
— это валидный CCS-процесс - действие
- процесс
может совершать действие
и продолжиться как процесс 
- идентификатор процесса
- пишем
для использования идентификатора
, чтобы ссылаться на процесс 
- выбор
- процесс
может продолжаться либо как
, либо как 
- параллельная композиция
- процессы
и
, существующие одновременно - переименование
процесс
с действиями
переименованными в 
- ограничение
процесс
без действия 
Схожие исчисления и модели [править]
- Исчисление взаимодействующих процессов (англ. Communicating sequential processes), CSP — язык, разработанный Энтони Хоаром, который появился в то же время, что и CCS.
- Пи-исчисление, разработанное Милнером в конце 80-х, предоставляет подвижность коммуникационных звеньев, позволяя процессам сообщать имена самих коммуникационных каналов.
- Алгебра процессов PEPA, разработанная Джейн Хиллстон, вводит время действия и вероятностный выбор, позволяя вычислять метрики производительности.
Некоторые нотации, основанные на CCS:
- Исчисление широковещательных систем (англ. Calculus of Broadcasting Systems);
- LOTOS (англ. Language Of Temporal Ordering Specification).
Модели, которые используются в изучении 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
- ↑ Tackling Large State Spaces in Performance Modelling // Formal Methods for Performance Evaluation. — Springer, 2007. — Vol. 4486. — P. 318–370.
| Это заготовка статьи по информатике. Вы можете помочь проекту, исправив и дополнив её. |
![P ::= \emptyset\,\,\, | \,\,\,a.P_1\,\,\, | \,\,\,A\,\,\, | \,\,\,P_1+P_2\,\,\, | \,\,\,P_1|P_2\,\,\, | \,\,\,P_1[b/a]\,\,\, | \,\,\,P_1{\backslash}a\,\,\,](http://upload.wikimedia.org/math/3/9/4/3948f74d929372c23a60c050f24866e1.png)
— это валидный CCS-процесс
может совершать действие
и продолжиться как процесс 
для использования идентификатора
, чтобы ссылаться на процесс
может продолжаться либо как 
процесс 
процесс