Alivie (lenguaje de programación)

La facilidad es un lenguaje de programación de la paralela del objetivo general, diseñado por Steven Ericsson-Zenith de la Universidad Yale. Combina las construcciones de proceso de CSP con estructuras de datos lógicamente compartidas llamadas contextos. Los contextos son tipos de datos paralelos que son construidos por procesos y proporcionan un camino para procesos para relacionarse.

La lengua incluye a dos constructores de proceso.

Una cooperación incluye una sincronización de la barrera explícita y se escribe:

::

Si un proceso termina antes del otro entonces esperará hasta que los otros procesos se terminen.

Una subordinación crea un proceso que comparte los contextos que están en alcance cuando creado y fines cuando completo (no espera otros procesos) y se escribe:

::

El subordinado trata la parada si intentan relacionarse con un contexto que ha completado porque el proceso paternal se ha parado. Esto permite a procesos especulativos crearse que terminará si su resultado no es necesario.

La sintaxis de la réplica potente permite que procesos múltiples se creen. Por ejemplo

::

crea n sincronizado trata a cada uno con una constante local yo.

Los procesos no pueden compartir variables locales y cooperar en la construcción de contextos compartidos. Ciertos tipos del contexto, llamados recursos, aseguran la semántica de respuesta de la llamada.

Hay cuatro funciones sobre contextos:

Los tipos del contexto son Cosas únicas, Bolsos o Corrientes y pueden ser series de subscripted.

La facilidad tiene una definición semiótica. Esto significa que tiene en cuenta el efecto que la lengua tiene en el programador y cómo desarrollan algoritmos. La lengua se diseñó para aliviar el desarrollo de programas paralelos.

Ericsson-cenit de Steven, "modelos de interacción de proceso" (la especificación de la lengua de la facilidad)

John Redman, Una Realización del Lenguaje de programación de la Facilidad, universidad de Australia Occidental, 1991

T.H. MacKenzie, T.I. Dix, "Una realización del multiprocesador de memoria distribuida de C con facilidad," Conferencia internacional IEEE en Sistemas Paralelos y Distribuidos, 2002

T.H. MacKenzie, T.I. Dix, "Obras primitivistas Paralelas basadas en la Facilidad orientadas al Objeto en C ++," icpads, p. 623, 1998 Conferencia internacional en Sistemas Paralelos y Distribuidos (ICPADS '98), 1998



Buscar