stringtranslate.com

Historia posterior del actor modelo

En informática , el modelo de actor , publicado por primera vez en 1973 (Hewitt et al. 1973), es un modelo matemático de computación concurrente . Este artículo informa sobre la historia posterior del modelo de actor, en la que los temas principales fueron la investigación del poder básico del modelo, el estudio de cuestiones de composicionalidad, el desarrollo de arquitecturas y la aplicación a sistemas abiertos. Es el artículo que sigue a la historia media del modelo de actor , que informa sobre las implementaciones iniciales, las aplicaciones iniciales y el desarrollo de la primera teoría de pruebas y el primer modelo denotacional.

El modelo del poder del actor

Se iniciaron investigaciones sobre el poder básico del modelo de Actor. Carl Hewitt [1985] sostuvo que debido al uso de árbitros , el modelo de Actor era más poderoso que la programación lógica (ver indeterminación en computación concurrente ).

Keith Clark , Hervé Gallaire, Steve Gregory, Vijay Saraswat, Udi Shapiro, Kazunori Ueda, etc. , desarrollaron una familia de sistemas de paso de mensajes concurrentes similares a Prolog que utilizan la unificación de variables compartidas y flujos de estructuras de datos para los mensajes. Algunos de estos autores afirmaron que estos sistemas se basaban en la lógica matemática. Sin embargo, al igual que el modelo de Actor, los sistemas concurrentes similares a Prolog se basaban en el paso de mensajes y, en consecuencia, estaban sujetos a una indeterminación en el orden de los mensajes en los flujos que era similar a la indeterminación en el orden de llegada de los mensajes enviados a los Actores. En consecuencia, Carl Hewitt y Gul Agha [1991] concluyeron que los sistemas concurrentes similares a Prolog no eran ni deductivos ni lógicos. No eran deductivos porque los pasos computacionales no se seguían deductivamente de sus predecesores y no eran lógicos porque ningún sistema de lógica matemática era capaz de derivar los hechos de situaciones computacionales posteriores de sus predecesores.

Composicionalidad

La composicionalidad se ocupa de la composición de sistemas a partir de subsistemas. Los problemas de composicionalidad han demostrado ser limitaciones graves para las teorías de computación anteriores, incluido el cálculo lambda y las redes de Petri . Por ejemplo, dos expresiones lambda no son una expresión lambda y dos redes de Petri no son una red de Petri y no pueden influirse entre sí.

En su tesis doctoral, Gul Agha abordó cuestiones de composicionalidad en el modelo de Actor. Las configuraciones de Actor tienen recepcionistas que pueden recibir mensajes del exterior y pueden tener las direcciones de los recepcionistas de otras configuraciones de Actor. De esta manera, dos configuraciones de Actor se pueden componer en otra configuración cuyas subconfiguraciones pueden comunicarse entre sí. Las configuraciones de Actor tienen la ventaja de que pueden tener múltiples Actores ( es decir , los recepcionistas) que reciben mensajes del exterior sin la desventaja de tener que sondear para obtener mensajes de múltiples fuentes (ver problemas con la obtención de mensajes de múltiples canales ).

Sistemas abiertos

Carl Hewitt [1985] señaló que la apertura se estaba convirtiendo en un desafío fundamental en el desarrollo de sistemas de software. Los sistemas distribuidos abiertos deben afrontar los siguientes desafíos:

Monotonía
Una vez que algo se publica en un sistema distribuido abierto, no se puede retractar.
Pluralismo
Los diferentes subsistemas de un sistema distribuido abierto incluyen información heterogénea, superpuesta y posiblemente conflictiva. En los sistemas distribuidos abiertos no existe un árbitro central de la verdad.
No determinismo ilimitado
De manera asincrónica, pueden activarse y desactivarse distintos subsistemas y pueden entrar y salir enlaces de comunicación entre subsistemas de un sistema distribuido abierto. Por lo tanto, el tiempo que llevará completar una operación no se puede acotar de antemano (véase no determinismo ilimitado ).
Inconsecuencia
Los grandes sistemas distribuidos son inevitablemente inconsistentes en lo que respecta a la información sobre las interacciones del sistema de información de sus usuarios humanos.

Carl Hewitt y Jeff Inman [1991] trabajaron en el desarrollo de semántica para sistemas abiertos con el fin de abordar cuestiones que habían surgido en la inteligencia artificial distribuida. Carl Hewitt y Carl Manning [1994] informaron sobre el desarrollo de semántica participativa para sistemas abiertos.

Arquitecturas de computadoras

Los investigadores de Caltech, bajo la dirección de Chuck Seitz, desarrollaron el Cosmic Cube , que fue una de las primeras arquitecturas de actores de transmisión de mensajes. Posteriormente, en el MIT, los investigadores, bajo la dirección de Bill Dally, desarrollaron la J Machine .

Intentos de relacionar la semántica del actor con el álgebra y la lógica lineal

Kohei Honda y Mario Tokoro 1991, José Meseguer 1992, Ugo Montanari y Carolyn Talcott 1998, M. Gaspari y G. Zavattaro 1999 han intentado relacionar la semántica del actor con el álgebra. También John Darlington y YK Guo 1994 han intentado relacionar la lógica lineal con la semántica del actor.

Sin embargo, ninguno de los formalismos anteriores aborda la propiedad crucial de la garantía del servicio (véase no determinismo ilimitado ).

Acontecimientos recientes

Los desarrollos recientes en el modelo Actor provienen de varias fuentes.

El desarrollo de hardware está fomentando la concurrencia masiva tanto local como no local. La concurrencia local está siendo posible gracias al nuevo hardware para microprocesadores de 64 bits de múltiples núcleos, módulos multichip e interconexión de alto rendimiento. La concurrencia no local está siendo posible gracias al nuevo hardware para comunicaciones de conmutación de paquetes de banda ancha inalámbricas y por cable. Las capacidades de almacenamiento tanto locales como no locales están creciendo exponencialmente. Estos desarrollos de hardware plantean enormes desafíos de modelado. Hewitt [Hewitt 2006a, 2006b] está intentando utilizar el modelo de Actor para abordar estos desafíos.

Referencias