Articulo de referencia

Programación orientada a procesos

La programación orientada a procesos es un paradigma de programación que separa las estructuras de datos de los procesos concurrentes que actúan sobre ellas. En este caso, las e...

La programación orientada a procesos es un paradigma de programación que separa las estructuras de datos de los procesos concurrentes que actúan sobre ellas. En este caso, las estructuras de datos suelen ser persistentes, complejas y de gran escala, propias de aplicaciones de propósito general, a diferencia del procesamiento especializado de conjuntos de datos específicos que se observa en aplicaciones de alta productividad (HPC). El modelo permite la creación de aplicaciones a gran escala que comparten parcialmente conjuntos de datos comunes. Los programas se descomponen funcionalmente en procesos paralelos que crean y actúan sobre datos lógicamente compartidos.

El paradigma se inventó originalmente para computadoras paralelas en la década de 1980, especialmente para computadoras construidas con microprocesadores Transputer de INMOS o arquitecturas similares. Occam fue un lenguaje orientado a procesos desarrollado para el Transputer.

Algunas derivaciones han evolucionado a partir del paradigma de paso de mensajes de Occam para permitir una eficiencia uniforme al portar aplicaciones entre computadoras paralelas de memoria distribuida y memoria compartida . El primer ejemplo derivado aparece en el lenguaje de programación Ease, diseñado en la Universidad de Yale [ 1 ] [ 2 ] en 1990. Modelos similares han aparecido desde entonces en la combinación flexible de bases de datos SQL y lenguajes orientados a objetos como Java , a menudo denominados modelos objeto-relacionales y ampliamente utilizados en sistemas distribuidos a gran escala en la actualidad. Es probable que este paradigma aparezca en computadoras de escritorio a medida que los microprocesadores aumenten el número de procesadores ( multinúcleo ) por chip.

El modelo de actor podría describirse como un tipo especializado de sistema orientado a procesos en el que el modelo de paso de mensajes se restringe al caso fijo y simple de una cola de entrada infinita por proceso (es decir, actor), a la que cualquier otro proceso puede enviar mensajes.

Véase también

Referencias

  1. Ericsson-Zenith (1990). "Programación con facilidad; definición semiótica del lenguaje" (Documento). Universidad de Yale, Informe técnico de informática YALEU/DCS/RR-809.
  2. Ericsson-Zenith (1992). Modelos de interacción de procesos . Universidad de París.
  • Sowders, Matthew, "ProcessJ: Un lenguaje de programación orientado a procesos" (2011). Tesis, disertaciones, trabajos profesionales y proyectos finales de la UNLV. Documento 1393.