En la 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 básicos que conforman la base del modelo de actores para la computación digital concurrente. En respuesta a un mensaje recibido, un actor puede tomar decisiones locales, crear más actores, enviar más mensajes y determinar cómo responder al siguiente mensaje recibido. La teoría del modelo de actores incorpora teorías sobre los eventos y las estructuras de las computaciones de los actores, su teoría de la demostración y los modelos denotacionales .
Eventos y su organización
A partir de la definición de un Actor, se puede observar 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 corresponden a la llegada de un mensaje enviado a un Actor.
Este artículo informa sobre los resultados publicados en Hewitt [2006].
- Ley de la Contabilidad : Hay como máximo una cantidad contable de eventos.
Orden de activación
El orden de activación ( -≈→) es un orden fundamental que modela un evento activando a 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.
e1e2e1 -≈→ e2e1e2 - Ley de causalidad estricta para el orden de activación : ningún evento hace
e -≈→ e. - Ley de Predecesión Finita en el Ordenamiento 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 los eventos en los que llega un mensaje a x. El orden de llegada se determina mediante arbitraje en el procesamiento de mensajes (a menudo utilizando un circuito digital llamado árbitro ). Los eventos de llegada de un Actor están en su línea de mundo . El orden de llegada implica que el modelo de Actor tiene inherentemente indeterminación (véase Indeterminación en la computación concurrente ).
- Debido a que todos los eventos del orden de llegada de un actor
xocurren en la línea de universo dex, el orden de llegada de un actor es relativísticamente invariante . Es decir , para todos los actoresxy eventos . , si , entonces el tiempo de precede al tiempo de en los marcos de referencia relativistas de todos los observadores.e1e2e1 -x→ e2e1e2 - Ley de Predecesión Finita en los Ordenamientos de Llegada : Para todos los eventos y Actores, el conjunto es finito.
e1x{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 invariante relativista porque es el cierre transitivo de ordenamientos invariantes relativistas. 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.
e1e2e1→e2e1e2 - Ley de causalidad estricta para el ordenamiento combinado : para ningún evento
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 orden combinado : No existen cadenas infinitas ( es decir , conjuntos ordenados linealmente) de eventos entre dos eventos en el orden combinado →.
Independencia de la Ley de Cadenas Finitas entre Eventos en el Orden 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 deduce de las leyes previamente enunciadas.
Prueba. Basta con demostrar que existe un cálculo de Actor que satisface las leyes previamente establecidas pero viola la Ley de Cadenas Finitas Entre Eventos en el Orden Combinado.
- Consideremos un cálculo que comienza cuando un actor Initial recibe un
Startmensaje que le hace realizar las siguientes acciones.- Crea un nuevo actor Greeter 1 al que se le envía el mensaje
SayHelloTocon la dirección de Greeter 1. - Enviar el mensaje inicial
Againcon la dirección de Greeter 1
- Crea un nuevo actor Greeter 1 al que se le envía el mensaje
- Posteriormente, el comportamiento de Initial es el siguiente al recibir un
Againmensaje con la dirección Greeter i (que denominaremos evento ):Againi- Crea un nuevo actor Greeter i+1 al que se le envía el mensaje
SayHelloTocon la dirección Greeter i. - Enviar el mensaje inicial
Againcon la dirección de Greeter i+1
- Crea un nuevo actor Greeter i+1 al que se le envía el mensaje
- Obviamente, el cálculo de Initial enviándose
Againmensajes a sí mismo nunca termina.
- El comportamiento de cada Actor Greeter i es el siguiente:
- Cuando recibe un mensaje
SayHelloTocon la dirección Greeter i-1 (que llamaremos evento ), envía un mensaje a Greeter i-1.SayHelloToiHello - Cuando recibe un
Hellomensaje (al que llamaremos evento ), no hace nada.Helloi
- Cuando recibe un mensaje
- Ahora es posible que cada vez y por lo tanto .
Helloi -Greeteri→ SayHelloToiHelloi→SayHelloToi - También cada vez y por lo tanto .
Againi -≈→ Againi+1Againi → 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 de la siguiente manera:
Again1SayHelloTo1 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 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 Actor.
Ley de la discreción
La Ley de Cadenas Finitas entre Eventos en el Orden Combinado está estrechamente relacionada con la siguiente ley:
- Ley de la discreción : Para todos los eventos y , el conjunto es finito.
e1e2{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 Orden Combinado (sin utilizar el axioma de elección ).
La ley de discreción descarta las máquinas de Zeno y está relacionada con resultados sobre redes de Petri [Best et al. 1984, 1987].
La Ley de Discreción implica la propiedad de no determinismo no acotado . 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 usando dominios de poder . 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. Inducción de actores y metaevaluación. Actas del simposio de la ACM sobre principios de lenguajes de programación, enero de 1974.
- Irene Greif. Semántica de los procesos paralelos comunicantes. Tesis doctoral en Ingeniería Eléctrica e Informática del MIT. Agosto de 1975.
- Edsger Dijkstra. Una disciplina de programación. Prentice Hall. 1976.
- Carl Hewitt y Henry Baker, Actores y Funcionales Continuos. Actas de la Conferencia de Trabajo de la IFIP sobre la Descripción Formal de los Conceptos de Programación. 1-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 basadas en la semántica de paso de mensajes. Tesis doctoral del MIT EECS. Diciembre de 1977.
- Peter Bishop, Sistemas informáticos modularmente extensibles con un espacio de direcciones muy grande. Tesis doctoral del MIT EECS. Junio de 1977.
- Carl Hewitt. " Considerando las estructuras de control como patrones de transmisión de mensajes". Revista de Inteligencia Artificial. 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. Revista IEEE de Ingeniería de Software. Enero de 1979.
- Carl Hewitt, Beppe Attardi y Henry Lieberman. Delegación en el protocolo de 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 basados en el conocimiento. Tesis doctoral del MIT EECS. Agosto de 1981.
- Bill Kornfeld. Paralelismo en la resolución de problemas. Tesis doctoral en Ingeniería Eléctrica e Informática del MIT. 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 la anomalía de herencia en lenguajes de programación concurrente orientados a objetos en Direcciones de investigación en programación concurrente orientada a objetos. 1993.
- Jayadev Misra. Una lógica para la programación concurrente: Seguridad. Revista 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 la ejecución y el razonamiento sobre diagramas de especificaciones. 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 de Computación Aplicada (SAC) de 2004, Nicosia, Chipre, 14-17 de marzo de 2004.
- Petrus Potgieter. Máquinas Zeno e hipercomputación 2005
- Carl Hewitt ¿Qué es el compromiso? Físico, organizacional y social COINS@AAMAS. 2006.
- Modelo de actor (informática)
- semántica denotacional
- Matemáticas de la computación