Исчисление взаимодействующих систем «Calculus of Comunicating Systems»[1] (CCS) — это процессная алгебра [7|, |8|, которая служит для алгебраического моделирования параллельных процессов и состоит из элементарных действий и операторов связи действий. Элементарные действия нельзя описать более детально. Процессы могут взаимодействовать с соседом или независимо друг от друга проводить параллельные действия. Цель CCS — это моделирование общения между процессами, например для исследования их эквивалентности.
Процесс использует порты, через которые он общается с другими процессами, при этом каждый порт имеет имя. Различают порты отправки и принятия сообщений.
Рисунок 14.15 показывает отдельные процессы или субъекты из процесса подачи запроса на командировку. Сотрудник посылает заявление па командировку начальнику. В портах отправки имя порта отмечается косой линией. Начальник посылает результат проверки сотруднику и утвержденное заявление на командировку руководству.
На рис. 14.15 можно увидеть участвующие процессы и их отношения. Внутреннее поведение увидеть нельзя. Оно описывается операторами.
Рис. 14.15. Запрос командировки в виде СС5-нроцесса.
В нашем примере использовались лишь некоторые из таких операторов, для полного списка необходимо обратиться к литературе [9], [2].
Рисунок 14.16 показывает описание поведения отдельных процессов и их связь с процессом подачи заявки на командировку.
Рис. 14.16. Описание запроса на командировку в CCS.
В примере процесс «сотрудник» посылает сначала запрос на командировку и затем ждет сообщения «отказ» или «ок». Если сотрудник получает одно из этих сообщений, то процесс может продолжаться. Если он производит операцию NIL, это значит, что процесс останавливается. Описание процессов «начальник» и «отдел, ответственный за организацию командировок» можно проинтерпретировать также. Последняя строчка на рисунке содержит единство общего процесса и соответствующего оператора. Пример с командировкой показывает, что в CCS активный элемент, действующее лицо, рассматривается как существенный, в то время как предикат и объект играют второстепенные роли. Поэтому CCS можно рассматривать в качестве субъектно-ориентированного метода.
- [1] В русской литературе встречается как «исчисление систем связи» или «исчислениекоммуницирующих систем» в зависимости от периода использования термина.