El álgebra de procesos comunicantes (ACP) es un enfoque algebraico para razonar sobre sistemas concurrentes . Es un miembro de la familia de teorías matemáticas de concurrencia conocidas como álgebras de procesos o cálculos de procesos . ACP fue desarrollada inicialmente por Jan Bergstra y Jan Willem Klop en 1982, [ 1 ] como parte de un esfuerzo para investigar las soluciones de ecuaciones recursivas no protegidas. Más que los otros cálculos de procesos seminales ( CCS y CSP ), el desarrollo de ACP se centró en el álgebra de procesos y buscó crear un sistema axiomático abstracto y generalizado para procesos, [ 2 ] y de hecho el término álgebra de procesos fue acuñado durante la investigación que condujo a ACP.
Descripción informal
ACP es fundamentalmente un álgebra, en el sentido de álgebra universal . Esta álgebra es una forma de describir sistemas en términos de expresiones de procesos algebraicos que definen composiciones de otros procesos o de ciertos elementos primitivos.
Primitivos
ACP utiliza acciones instantáneas y atómicas () como sus primitivos. Algunas acciones tienen un significado especial, como la acción, que representa un punto muerto o estancamiento, y la acción, que representa una acción silenciosa (acciones abstractas que no tienen una identidad específica).
Operadores algebraicos
Las acciones se pueden combinar para formar procesos utilizando diversos operadores. Estos operadores se pueden clasificar, a grandes rasgos, en operadores que proporcionan un álgebra de procesos básica , concurrencia y comunicación .
- Elección y secuenciación : los operadores algebraicos más fundamentales son el operador alternativo (), que ofrece una opción entre acciones y el operador de secuenciación (), que especifica un orden en las acciones. Así, por ejemplo, el proceso
- primero elige realizar cualquiera de las dosoy luego realiza la acción. Cómo la elección entreyNo importa cómo se haga y se deja sin especificar. Nótese que la composición alternativa es conmutativa, pero la composición secuencial no lo es (porque el tiempo fluye hacia adelante).
- Concurrencia : para permitir la descripción de la concurrencia, ACP proporciona los operadores merge y left-merge . El operador merge,, representa la composición paralela de dos procesos, cuyas acciones individuales se entrelazan. El operador de fusión izquierda,, es un operador auxiliar con una semántica similar a la de la fusión, pero con el compromiso de elegir siempre su paso inicial del proceso de la izquierda. Como ejemplo, el proceso
- pueden realizar las accionesen cualquiera de las secuenciasPor otro lado, el proceso
- solo puede realizar las secuenciasya que los operadores left-merge aseguran que la acciónocurre primero.
- Comunicación : la interacción (o comunicación) entre procesos se representa mediante el operador de comunicaciones binario,. Por ejemplo, las accionesypodría interpretarse como la lectura y escritura de un elemento de datos., respectivamente. Luego el proceso
- comunicará el valordel proceso del componente derecho al proceso del componente izquierdo ( es decir, el identificador)está ligado al valory instancias gratuitas deen el procesotomar ese valor), y luego comportarse como la fusión dey.
- Abstracción : el operador de abstracción,es una forma de "ocultar" ciertas acciones y tratarlas como eventos internos a los sistemas que se están modelando. Las acciones abstractas se convierten en la acción de paso silencioso.En algunos casos, estos pasos silenciosos también pueden eliminarse de la expresión del proceso como parte del proceso de abstracción. Por ejemplo,
- que, en este caso, se puede reducir a
- desde el eventoYa no es observable y no tiene efectos observables.
Definición formal
ACP adopta fundamentalmente un enfoque axiomático y algebraico para la definición formal de sus diversos operadores. Los axiomas que se presentan a continuación comprenden el sistema axiomático completo para ACP.(ACP con abstracción).
Álgebra de procesos básicos
Utilizando los operadores de composición alternativa y secuencial, ACP define un álgebra de procesos básica que satisface los axiomas [ 3 ].
Punto muerto
Más allá del álgebra básica, dos axiomas adicionales definen las relaciones entre los operadores alternativos y de secuenciación, y la acción de interbloqueo ,
Concurrencia e interacción
Los axiomas asociados con los operadores de fusión, fusión izquierda y comunicación son [ 3 ].
Cuando el operador de comunicaciones se aplica solo a acciones, en lugar de a procesos, se interpreta como una función binaria de acciones a acciones,. La definición de esta función define las posibles interacciones entre procesos : aquellos pares de acciones que no constituyen interacciones se asignan a la acción de interbloqueo,, mientras que los pares de interacción permitidos se asignan a acciones individuales correspondientes que representan la ocurrencia de una interacción. Por ejemplo, la función de comunicaciones podría especificar que
lo que indica que se ha producido una interacción exitosa.se reducirá a la acción. ACP también incluye un operador de encapsulación,para algunos, que se utiliza para convertir intentos de comunicación fallidos (es decir, elementos deque no se han reducido a través de la función de comunicación) a la acción de interbloqueo. Los axiomas asociados con la función de comunicaciones y el operador de encapsulación son [ 3 ]
Abstracción
Los axiomas asociados con el operador de abstracción son [ 3 ]
Tenga en cuenta que la acción a en la lista anterior puede tomar el valor δ (pero por supuesto, δ no puede pertenecer al conjunto de abstracción I ).
Formalismos relacionados
ACP ha servido de base o inspiración para otros formalismos que pueden utilizarse para describir y analizar sistemas concurrentes, entre ellos:
- PSF archivado el 16/10/2014 en Wayback Machine.
- μCRL
- mCRL2
- HyPA : un álgebra de procesos para sistemas híbridos [ 4 ]
Referencias
- ^ JCM Baeten, Breve historia del álgebra de procesos , Rapport CSR 04-02, Vakgroep Informatica, Technische Universiteit Eindhoven, 2004
- ↑ Bas Luttik, ¿Qué es algebraico en la teoría de procesos ?, Cálculos de procesos algebraicos: Los primeros veinticinco años y más allá. Archivado el 4 de diciembre de 2005 en Wayback Machine , Bertinoro, Italia, 1 de agosto de 2005.
- 1 2 3 4 J.A. Bergstra y JW Klop, ACP τ : Un sistema de axiomas universal para la especificación de procesos , CWI Quarterly 15, págs. 3-23, 1987
- ↑ PJL Cuijpers y MA Reniers, Álgebra de procesos híbridos , Informe técnico, Departamento de Matemáticas e Informática, Universidad Técnica de Eindhoven, 2003
- Cálculos de proceso