En informática , el cálculo ambiental es un cálculo de procesos ideado por Luca Cardelli y Andrew D. Gordon en 1998, y utilizado para describir y teorizar sobre sistemas concurrentes que incluyen movilidad . En este caso, movilidad significa tanto el cálculo realizado en dispositivos móviles ( es decir, redes que tienen una topología dinámica) como el cálculo móvil ( es decir, código ejecutable que puede moverse por la red). El cálculo ambiental proporciona un marco unificado para modelar ambos tipos de movilidad. [1] Se utiliza para modelar interacciones en talessistemas concurrentes como Internet .
Desde sus inicios, el cálculo ambiental se ha convertido en una familia de cálculos ambientales estrechamente relacionados.
Descripción informal
Ambientes
El primitivo fundamental del cálculo ambiental es el ambiente . Un ambiente se define informalmente como un lugar delimitado en el que puede ocurrir el cálculo. La noción de límites se considera clave para representar la movilidad, ya que un límite define un agente computacional contenido que se puede mover en su totalidad. [1] Ejemplos de ambientes incluyen:
- una página web (delimitada por un archivo)
- un espacio de direcciones virtual (delimitado por un rango de direcciones)
- un sistema de archivos Unix (delimitado dentro de un volumen físico)
- un solo objeto de datos (delimitado por " self ")
- una computadora portátil (limitada por su carcasa y puertos de datos)
Las propiedades clave de los ambientes dentro del cálculo ambiental son:
- Los ambientes tienen nombres, que se utilizan para controlar el acceso al ambiente.
- Los ambientes se pueden anidar dentro de otros ambientes (que representan, por ejemplo, dominios administrativos)
- Los ambientes se pueden mover como un todo.
Operaciones
La computación se representa como el cruce de fronteras, es decir , el movimiento de ambientes. Hay cuatro operaciones básicas (o capacidades) en ambientes: [1]
- instruye al ambiente circundante para que entre en un ambiente hermano y luego proceda como
- instruye al ambiente circundante que salga de su ambiente principal
- instruye al ambiente circundante a disolver el límite de un ambiente ubicado al mismo nivel
- hace cualquier cantidad de copias de algo
El cálculo ambiental proporciona una semántica de reducción que define formalmente cuáles son los resultados de estas operaciones.
La comunicación dentro ( es decir, local a) un ambiente es anónima y asincrónica. Las acciones de salida liberan nombres o capacidades en el ambiente circundante. Las acciones de entrada capturan un valor del ambiente y lo vinculan a una variable. Las E / S no locales se pueden representar en términos de estas acciones de comunicaciones locales mediante una variedad de medios. Un enfoque consiste en utilizar agentes de "mensajería" móviles que transporten un mensaje de un entorno a otro (utilizando las capacidades descritas anteriormente). Otro enfoque es emular las comunicaciones basadas en canales modelando un canal en términos de ambientes y operaciones en esos ambientes. [1] Los tres primitivas ambientales básicas, a saber, en , hacia fuera , y abierta son lo suficientemente expresivo a los canales de nombres de paso de simular en el π-cálculo .
Ver también
Referencias
- ^ a b c d Cardelli, L .; AD Gordon. "Ambientes móviles". Actas de la Primera Conferencia Internacional sobre Fundamentos de la Ciencia del Software y Estructura de Computación (28 de marzo - 4 de abril de 1998). M. Nivat, Ed. Apuntes de conferencias en informática . Springer-Verlag. 1378 : 140-155.