En informática teórica , la teoría del modelo de actor se ocupa de cuestiones teóricas relacionadas con el modelo de actor .
Los actores son los elementos primitivos que forman la base del modelo de Actor de computación digital concurrente. En respuesta a un mensaje que recibe, un Actor puede tomar decisiones locales, crear más Actores, enviar más mensajes y designar cómo responder al siguiente mensaje recibido. La teoría del modelo de Actor incorpora teorías de los eventos y estructuras de los cálculos de Actor, su teoría de prueba y modelos denotacionales .
Eventos y sus ordenamientos
De la definición de Actor se desprende que tienen lugar numerosos eventos: decisiones locales, creación de Actores, envío de mensajes, recepción de mensajes y designación de cómo responder al siguiente mensaje recibido.
Sin embargo, este artículo se centra únicamente en aquellos eventos que son la llegada de un mensaje enviado a un Actor.
Este artículo informa sobre los resultados publicados en Hewitt [2006].
- Ley de Contabilidad : Hay como máximo un número contable de eventos.
Orden de activación
El orden de activación ( -≈→
) es un ordenamiento fundamental que modela un evento que activa otro (debe haber un flujo de energía en el mensaje que pasa de un evento a un evento que activa).
- Debido a la transmisión de energía, el orden de activación es relativistamente invariante ; es decir, para todos los eventos . , si , entonces el tiempo de precede al tiempo de en los marcos de referencia relativistas de todos los observadores.
e1
e2
e1 -≈→ e2
e1
e2
- Ley de Causalidad Estricta para el Ordenamiento de Activación : Porque ningún evento ocurre
e -≈→ e
. - Ley de predecesión finita en el orden de activación : para todos los eventos el conjunto es finito.
e1
{e|e -≈→ e1}
Pedidos de llegada
El orden de llegada de un Actor x
( -x→
) modela el orden (total) de eventos en los que un mensaje llega a x
. El orden de llegada se determina mediante arbitraje en el procesamiento de mensajes (que a menudo hace uso de un circuito digital llamado árbitro ). Los eventos de llegada de un Actor están en su línea de mundo . El orden de llegada significa que el modelo de Actor tiene indeterminación inherente (consulte Indeterminación en computación concurrente ).
- Debido a que todos los eventos del orden de llegada de un actor
x
ocurren en la línea del mundo de x
, el orden de llegada de un actor es relativistamente invariante . Es decir , para todos los actores x
y eventos . , si , entonces el tiempo de precede al tiempo de en los marcos de referencia relativistas de todos los observadores.e1
e2
e1 -x→ e2
e1
e2
- Ley de predecesión finita en órdenes de llegada : para todos los eventos y actores el conjunto es finito.
e1
x
{e|e -x→ e1}
Pedido combinado
El ordenamiento combinado (denotado por →
) se define como el cierre transitivo del ordenamiento de activación y los ordenamientos de llegada de todos los actores.
- El ordenamiento combinado es relativistamente invariante porque es el cierre transitivo de ordenamientos relativistamente invariantes. Es decir , para todos los eventos . , si . entonces el tiempo de precede al tiempo de en los marcos de referencia relativistas de todos los observadores.
e1
e2
e1→e2
e1
e2
- Ley de causalidad estricta para el ordenamiento combinado : Porque ningún acontecimiento
e→e
...
El ordenamiento combinado es obviamente transitivo por definición.
En [Baker y Hewitt 197?], se conjeturó que las leyes anteriores podrían implicar la siguiente ley:
- Ley de cadenas finitas entre eventos en el ordenamiento combinado : No hay cadenas infinitas ( es decir , conjuntos ordenados linealmente) de eventos entre dos eventos en el ordenamiento combinado →.
Independencia de la Ley de Cadenas Finitas entre Eventos en el Ordenamiento Combinado
Sin embargo, [Clinger 1981] demostró sorprendentemente que la Ley de Cadenas Finitas Entre Eventos en el Ordenamiento Combinado es independiente de las leyes anteriores, es decir ,
Teorema. La Ley de Cadenas Finitas Entre Eventos en el Ordenamiento Combinado no se sigue de las leyes enunciadas anteriormente.
Prueba. Es suficiente demostrar que existe un cómputo de Actor que satisface las leyes enunciadas anteriormente pero viola la Ley de Cadenas Finitas Entre Eventos en el Ordenamiento Combinado.
- Considere un cálculo que comienza cuando se le envía un mensaje a un actor Initial
Start
que hace que realice las siguientes acciones- Crea un nuevo actor Greeter 1 al que se le envía el mensaje
SayHelloTo
con la dirección de Greeter 1 - Enviar Inicial el mensaje
Again
con la dirección del Recepcionista 1
- A partir de entonces el comportamiento de Initial es el siguiente al recibir un
Again
mensaje con dirección Greeter i (al que llamaremos evento ):Againi
- Crea un nuevo actor Greeter i+1 al que se le envía el mensaje
SayHelloTo
con la dirección Greeter i - Enviar Inicial el mensaje
Again
con la dirección del Greeter i+1
- Obviamente el cálculo del envío inicial
Again
de mensajes nunca termina.
- El comportamiento de cada Actor Greeter i es el siguiente:
- Cuando recibe un mensaje
SayHelloTo
con la dirección Greeter i-1 (al que llamaremos evento ), envía un mensaje a Greeter i-1SayHelloToi
Hello
- Cuando recibe un
Hello
mensaje (al que llamaremos evento ), no hace nada.Helloi
- Ahora bien, es posible que cada vez y por tanto .
Helloi -Greeteri→ SayHelloToi
Helloi→SayHelloToi
- También cada vez y por lo tanto .
Againi -≈→ Againi+1
Againi → Againi+1
- Además, se cumplen todas las leyes establecidas antes de la Ley de Causalidad Estricta para el Ordenamiento Combinado.
- Sin embargo, puede haber un número infinito de eventos en el orden combinado entre y como sigue:
Again1
SayHelloTo1
Again1→...→Againi→......→Helloi→SayHelloToi→...→Hello1→SayHelloTo1
Sin embargo, sabemos por la física que no se puede gastar energía infinita a lo largo de una trayectoria finita. Por lo tanto, dado que el modelo del actor se basa en la física, la Ley de cadenas finitas entre eventos en el ordenamiento combinado se tomó como un axioma del modelo del actor.
Ley de discreción
La Ley de Cadenas Finitas Entre Eventos en el Ordenamiento Combinado está estrechamente relacionada con la siguiente ley:
- Ley de discreción : Para todos los eventos y , el conjunto es finito.
e1
e2
{e|e1→e→e2}
De hecho, se ha demostrado que las dos leyes anteriores son equivalentes:
- Teorema [Clinger 1981]. La Ley de Discreción es equivalente a la Ley de Cadenas Finitas entre Eventos en el Ordenamiento Combinado (sin utilizar el axioma de elección).
La ley de discreta descarta las máquinas de Zenón y está relacionada con los resultados en redes de Petri [Best et al. 1984, 1987].
La ley de discreción implica la propiedad de no determinismo ilimitado . El ordenamiento combinado es utilizado por [Clinger 1981] en la construcción de un modelo denotacional de actores (véase semántica denotacional ).
Semántica denotacional
Clinger [1981] utilizó el modelo de eventos de Actor descrito anteriormente para construir un modelo denotacional para Actores utilizando dominios de potencia . Posteriormente, Hewitt [2006] amplió los diagramas con tiempos de llegada para construir un modelo denotacional técnicamente más simple y más fácil de entender.
Véase también
Referencias
- Carl Hewitt, et al. Acta de la conferencia sobre inducción y metaevaluación de actores del simposio ACM sobre principios de lenguajes de programación, enero de 1974.
- Irene Greif. Semántica de la comunicación de procesos paralelos. Tesis doctoral del MIT EECS. Agosto de 1975.
- Edsger Dijkstra. Una disciplina de programación. Prentice Hall. 1976.
- Carl Hewitt y Henry Baker Actores y funciones continuas Actas de la conferencia de trabajo de la IFIP sobre descripción formal de conceptos de programación. 1 al 5 de agosto de 1977.
- Henry Baker y Carl Hewitt La recolección incremental de basura de procesos Actas del Simposio sobre lenguajes de programación de inteligencia artificial. SIGPLAN Notices 12, agosto de 1977.
- Leyes de Carl Hewitt y Henry Baker para la comunicación de procesos paralelos IFIP-77, agosto de 1977.
- Aki Yonezawa Técnicas de especificación y verificación para programas paralelos basados en semántica de paso de mensajes Tesis doctoral del MIT EECS. Diciembre de 1977.
- Peter Bishop Sistemas informáticos modularmente extensibles con espacios de direcciones muy grandes Tesis doctoral del MIT EECS. Junio de 1977.
- Carl Hewitt. Visualización de las estructuras de control como patrones de transmisión de mensajes. Journal of Artificial Intelligence. Junio de 1977.
- Henry Baker. Sistemas de actores para computación en tiempo real. Tesis doctoral del MIT EECS. Enero de 1978.
- Carl Hewitt y Russ Atkinson. Técnicas de especificación y prueba para serializadores. IEEE Journal on Software Engineering. Enero de 1979.
- Carl Hewitt, Beppe Attardi y Henry Lieberman. Delegación en el paso de mensajes . Actas de la Primera Conferencia Internacional sobre Sistemas Distribuidos. Huntsville, Alabama. Octubre de 1979.
- Russ Atkinson. Verificación automática de serializadores . Tesis doctoral del MIT. Junio de 1980.
- Bill Kornfeld y Carl Hewitt. La metáfora de la comunidad científica . IEEE Transactions on Systems, Man, and Cybernetics. Enero de 1981.
- Gerry Barber. Razonamiento sobre el cambio en sistemas de oficina con conocimientos. Tesis doctoral del MIT EECS. Agosto de 1981.
- Bill Kornfeld. Paralelismo en la resolución de problemas . Tesis doctoral del MIT EECS. Agosto de 1981.
- Will Clinger. Fundamentos de la semántica de actores. Tesis doctoral en Matemáticas del MIT. Junio de 1981.
- Eike Best . Comportamiento concurrente: secuencias, procesos y axiomas. Notas de clase en informática, vol. 197, 1984.
- Gul Agha. Actores: un modelo de computación concurrente en sistemas distribuidos Tesis doctoral. 1986.
- Eike Best y R. Devillers. Comportamiento secuencial y concurrente en la teoría de redes de Petri. Theoretical Computer Science Vol.55/1. 1987.
- Gul Agha, Ian Mason, Scott Smith y Carolyn Talcott. Una base para la computación de actores . Revista de programación funcional, enero de 1993.
- Satoshi Matsuoka y Akinori Yonezawa . Análisis de anomalías de herencia en lenguajes de programación concurrente orientados a objetos en Research directions in concurrent object-oriented programming. 1993.
- Jayadev Misra. Una lógica para la programación concurrente: Revista de seguridad de ingeniería de software informático. 1995.
- Luca de Alfaro, Zohar Maná, Henry Sipma y Tomás Uribe. Verificación Visual de Sistemas Reactivos TACAS 1997.
- Thati, Prasanna, Carolyn Talcott y Gul Agha. Técnicas para ejecutar y razonar sobre diagramas de especificación. Conferencia internacional sobre metodología algebraica y tecnología de software (AMAST), 2004.
- Giuseppe Milicia y Vladimiro Sassone. La anomalía de la herencia: diez años después, Actas del Simposio ACM sobre Informática Aplicada (SAC) de 2004, Nicosia, Chipre, 14-17 de marzo de 2004.
- Petrus Potgieter. Máquinas de Zenón e hipercomputación 2005
- Carl Hewitt ¿Qué es el compromiso? Compromiso físico, organizacional y social COINS@AAMAS. 2006.