Cálculo de sistemas comunicantes

El cálculo de sistemas comunicantes o CCS es un lenguaje de especificación formal basado en el álgebra de procesos, para la especificación y modelado de sistemas discretos comunicantes.

Un diagrama CCS mostrando dos procesos con dos puertos cada uno, ligados entre sí por dos canales unidireccionales
Un diagrama CCS mostrando dos procesos con dos puertos cada uno, ligados entre sí por dos canales unidireccionales

El lenguaje CCS fue propuesto ("A Calculus of Communicating Systems") por Robin Milner para ejemplificar su idea de un álgebra para representar simbólicamente los procesos que conforman un sistema de software paralelo, su proposición fue hecha poco antes que la de CSP de Tony Hoare ("Communicating Sequential Processes"), formando ambos lenguajes los ejemplos por excelencia de lo que es un álgebra de procesos.

CCS propone una notación textual y otra visual para representar la existencia dentro de un sistema de lo que llama proceso y la definición de estos. Los procesos son vistos como bloques herméticos que comunican con el mundo externo o ambiente por medio de puertos bien específicos, que conforman lo que se conoce como interfaz del proceso. Los procesos definen su comportamiento enunciando explícitamente la secuencia entera de operaciones elementales que dicho proceso efectúa durante toda su existencia.

Notación visual editar

La imagen a la derecha muestra un ejemplo de la notación gráfica de CCS, en este caso, dos procesos llamados Proceso 1 y Proceso 2 respectivamente. Los puntos oscuros en el borde los procesos representan los puertos, en CCS los puertos sirven para el envío o la recepción de símbolos a través de un canal, siendo los puertos y canales unidireccionales. Por convención, un puerto de entrada a se llamará del mismo modo pero utilizando una barra horizontal sobre él para denotar que es un puerto de salida.

Extensiones editar

Referencias editar

  • Milner, 1980. A Calculus of Communicating Systems, volumen 92 de "Lecture Notes in Computer Science". Springer-Verlag.
  • Hoare, 1985. Communicating Sequential Processes. Prentice-Hall International.